|
| template<typename T, typename Deleter, enable_if_t< is_swappable< Deleter >::value &&is_swappable< T >::value, int > = 0> |
| void | swap (unique_ptr< T, Deleter > &lhs, unique_ptr< T, Deleter > &rhs) noexcept |
| | 交换两个unique_ptr
|
| template<typename T, typename D, typename U, typename E> |
| constexpr bool | operator== (const unique_ptr< T, D > &lhs, const unique_ptr< U, E > &rhs) |
| | 相等比较运算符
|
| template<typename T, typename D> |
| constexpr bool | operator== (const unique_ptr< T, D > &lhs, nullptr_t) |
| | 与nullptr的相等比较运算符
|
| template<typename T, typename D> |
| constexpr bool | operator== (nullptr_t, const unique_ptr< T, D > &rhs) |
| | nullptr与unique_ptr的相等比较运算符
|
| template<typename T, typename D, typename U, typename E> |
| constexpr bool | operator!= (const unique_ptr< T, D > &lhs, const unique_ptr< U, E > &rhs) |
| | 不等比较运算符
|
| template<typename T, typename D> |
| constexpr bool | operator!= (const unique_ptr< T, D > &lhs, nullptr_t) |
| | 与nullptr的不等比较运算符
|
| template<typename T, typename D> |
| constexpr bool | operator!= (nullptr_t, const unique_ptr< T, D > &rhs) |
| | nullptr与unique_ptr的不等比较运算符
|
| template<typename T, typename D, typename U, typename E> |
| constexpr bool | operator< (const unique_ptr< T, D > &lhs, const unique_ptr< U, E > &rhs) |
| | 小于比较运算符
|
| template<typename T, typename D> |
| constexpr bool | operator< (const unique_ptr< T, D > &lhs, nullptr_t) |
| | 与nullptr的小于比较运算符
|
| template<typename T, typename D> |
| constexpr bool | operator< (nullptr_t, const unique_ptr< T, D > &rhs) |
| | nullptr与unique_ptr的小于比较运算符
|
| template<typename T, typename D, typename U, typename E> |
| constexpr bool | operator> (const unique_ptr< T, D > &lhs, const unique_ptr< U, E > &rhs) |
| | 大于比较运算符
|
| template<typename T, typename D> |
| constexpr bool | operator> (const unique_ptr< T, D > &lhs, nullptr_t) |
| | 与nullptr的大于比较运算符
|
| template<typename T, typename D> |
| constexpr bool | operator> (nullptr_t, const unique_ptr< T, D > &rhs) |
| | nullptr与unique_ptr的大于比较运算符
|
| template<typename T, typename D, typename U, typename E> |
| constexpr bool | operator<= (const unique_ptr< T, D > &lhs, const unique_ptr< U, E > &rhs) |
| | 小于等于比较运算符
|
| template<typename T, typename D> |
| constexpr bool | operator<= (const unique_ptr< T, D > &lhs, nullptr_t) |
| | 与nullptr的小于等于比较运算符
|
| template<typename T, typename D> |
| constexpr bool | operator<= (nullptr_t, const unique_ptr< T, D > &rhs) |
| | nullptr与unique_ptr的小于等于比较运算符
|
| template<typename T, typename D, typename U, typename E> |
| constexpr bool | operator>= (const unique_ptr< T, D > &lhs, const unique_ptr< U, E > &rhs) |
| | 大于等于比较运算符
|
| template<typename T, typename D> |
| constexpr bool | operator>= (const unique_ptr< T, D > &lhs, nullptr_t) |
| | 与nullptr的大于等于比较运算符
|
| template<typename T, typename D> |
| constexpr bool | operator>= (nullptr_t, const unique_ptr< T, D > &rhs) |
| | nullptr与unique_ptr的大于等于比较运算符
|
| template<typename T, typename U, typename Deleter> |
| unique_ptr< T, Deleter > | static_pointer_cast (const unique_ptr< U, Deleter > &ptr)=delete |
| | 禁止的static_pointer_cast
|
| template<typename T, typename U, typename Deleter> |
| unique_ptr< T, Deleter > | const_pointer_cast (const unique_ptr< U, Deleter > &ptr)=delete |
| | 禁止的const_pointer_cast
|
| template<typename T, typename U, typename Deleter> |
| unique_ptr< T, Deleter > | reinterpret_pointer_cast (const unique_ptr< U, Deleter > &ptr)=delete |
| | 禁止的reinterpret_pointer_cast
|
| template<typename T, typename U, typename Deleter> |
| unique_ptr< T, Deleter > | dynamic_pointer_cast (const unique_ptr< U, Deleter > &ptr)=delete |
| | 禁止的dynamic_pointer_cast
|
| template<typename T, typename DeleterT, typename U, typename DeleterU> |
| constexpr unique_ptr< T, DeleterT > | static_pointer_cast (unique_ptr< U, DeleterU > &&ptr) |
| | static_pointer_cast
|
| template<typename T, typename DeleterT, typename U, typename DeleterU> |
| constexpr unique_ptr< T, DeleterT > | const_pointer_cast (unique_ptr< U, DeleterU > &&ptr) |
| | const_pointer_cast
|
| template<typename T, typename DeleterT, typename U, typename DeleterU> |
| unique_ptr< T, DeleterT > | reinterpret_pointer_cast (unique_ptr< U, DeleterU > &&ptr) |
| | const_pointer_cast
|
| template<typename T, typename DeleterT, typename U, typename DeleterU> |
| unique_ptr< T, DeleterT > | dynamic_pointer_cast (unique_ptr< U, DeleterU > &&ptr) |
| | reinterpret_pointer_cast
|
| template<typename T, typename... Args, enable_if_t<!is_array< T >::value, int > = 0> |
| constexpr unique_ptr< T > | make_unique (Args &&... args) |
| | 创建unique_ptr
|
| template<typename T, enable_if_t< is_unbounded_array< T >::value, int > = 0> |
| constexpr unique_ptr< T > | make_unique (const size_t len) |
| | 创建unique_ptr
|
| template<typename T, typename... Args, enable_if_t< is_bounded_array< T >::value, int > = 0> |
| unique_ptr< T > | make_unique (Args &&...)=delete |
| | 禁止创建已知边界数组的make_unique
|