|
MSTL 1.4.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
实现类型交换相关操作 更多...
类 | |
| struct | is_swappable< T > |
| 判断类型是否可以与自身交换 更多... | |
| struct | is_nothrow_swappable< T > |
| 判断类型是否可以与自身无异常交换 更多... | |
| struct | is_swappable_from< T1, T2, Dummy > |
| 判断是否可以调用swap从T1交换到T2 更多... | |
| struct | is_swappable_with< T1, T2 > |
| 判断两个类型是否可以互相交换 更多... | |
| struct | is_nothrow_swappable_from< T1, T2 > |
| 判断是否可以无异常地从T1交换到T2 更多... | |
| struct | is_nothrow_swappable_with< T1, T2 > |
| 判断两个类型是否可以无异常地互相交换 更多... | |
| struct | is_ADL_swappable< T, Dummy > |
| 判断类型是否支持通过ADL查找的swap 更多... | |
| struct | is_trivially_swappable< T > |
| 判断类型是否可以平凡交换 更多... | |
函数 | |
| template<typename T> | |
| MSTL_CONSTEXPR14 enable_if_t< conjunction< is_move_constructible< T >, is_move_assignable< T > >::value > | swap (T &lhs, T &rhs) noexcept(is_nothrow_move_constructible< T >::value &&is_nothrow_move_assignable< T >::value) |
| 交换两个相同类型的值 | |
| template<typename T, size_t Size> | |
| MSTL_CONSTEXPR14 enable_if_t< is_swappable< T >::value > | swap (T(&lhs)[Size], T(&rhs)[Size]) noexcept(is_nothrow_swappable< T >::value) |
| 交换两个相同类型的数组 | |
| void | swap ()=delete |
| 删除无参数的swap重载 | |
| template<typename T, typename U = T> | |
| MSTL_CONSTEXPR14 T | exchange (T &val, U &&new_val) noexcept(conjunction< is_nothrow_move_constructible< T >, is_nothrow_assignable< T &, U > >::value) |
| 将新值赋给对象并返回旧值 | |
实现类型交换相关操作
|
noexcept |
|
noexcept |
交换两个相同类型的值
| T | 值的类型 |
| lhs | 左操作数 |
| rhs | 右操作数 |
在文件 type_traits.hpp 第 4053 行定义.
引用了 _MSTL, move() , 以及 integral_constant< bool, Value >::value.
|
noexcept |
交换两个相同类型的数组
| T | 数组元素类型 |
| Size | 数组大小 |
| lhs | 左操作数数组 |
| rhs | 右操作数数组 |
在文件 type_traits.hpp 第 4063 行定义.
引用了 _MSTL, swap() , 以及 integral_constant< bool, Value >::value.