|
MSTL 1.4.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
独占智能指针类和辅助工具 更多...
类 | |
| struct | default_delete< T > |
| 默认删除器 更多... | |
| struct | default_delete< T[]> |
| 数组特化的默认删除器 更多... | |
| class | unique_ptr< T, Deleter > |
| 独占智能指针 更多... | |
| class | unique_ptr< T[], Deleter > |
| 数组特化的unique_ptr 更多... | |
| struct | hash< unique_ptr< T, Deleter > > |
| unique_ptr的哈希特化 更多... | |
函数 | |
| 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> | |
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool | operator== (const unique_ptr< T, D > &lhs, const unique_ptr< U, E > &rhs) |
| 相等比较运算符 | |
| template<typename T, typename D> | |
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool | operator== (const unique_ptr< T, D > &lhs, nullptr_t) |
| 与nullptr的相等比较运算符 | |
| template<typename T, typename D> | |
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool | operator== (nullptr_t, const unique_ptr< T, D > &rhs) |
| nullptr与unique_ptr的相等比较运算符 | |
| template<typename T, typename D, typename U, typename E> | |
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool | operator!= (const unique_ptr< T, D > &lhs, const unique_ptr< U, E > &rhs) |
| 不等比较运算符 | |
| template<typename T, typename D> | |
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool | operator!= (const unique_ptr< T, D > &lhs, nullptr_t) |
| 与nullptr的不等比较运算符 | |
| template<typename T, typename D> | |
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool | operator!= (nullptr_t, const unique_ptr< T, D > &rhs) |
| nullptr与unique_ptr的不等比较运算符 | |
| template<typename T, typename D, typename U, typename E> | |
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool | operator< (const unique_ptr< T, D > &lhs, const unique_ptr< U, E > &rhs) |
| 小于比较运算符 | |
| template<typename T, typename D> | |
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool | operator< (const unique_ptr< T, D > &lhs, nullptr_t) |
| 与nullptr的小于比较运算符 | |
| template<typename T, typename D> | |
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool | operator< (nullptr_t, const unique_ptr< T, D > &rhs) |
| nullptr与unique_ptr的小于比较运算符 | |
| template<typename T, typename D, typename U, typename E> | |
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool | operator> (const unique_ptr< T, D > &lhs, const unique_ptr< U, E > &rhs) |
| 大于比较运算符 | |
| template<typename T, typename D> | |
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool | operator> (const unique_ptr< T, D > &lhs, nullptr_t) |
| 与nullptr的大于比较运算符 | |
| template<typename T, typename D> | |
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool | operator> (nullptr_t, const unique_ptr< T, D > &rhs) |
| nullptr与unique_ptr的大于比较运算符 | |
| template<typename T, typename D, typename U, typename E> | |
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool | operator<= (const unique_ptr< T, D > &lhs, const unique_ptr< U, E > &rhs) |
| 小于等于比较运算符 | |
| template<typename T, typename D> | |
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool | operator<= (const unique_ptr< T, D > &lhs, nullptr_t) |
| 与nullptr的小于等于比较运算符 | |
| template<typename T, typename D> | |
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool | operator<= (nullptr_t, const unique_ptr< T, D > &rhs) |
| nullptr与unique_ptr的小于等于比较运算符 | |
| template<typename T, typename D, typename U, typename E> | |
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool | operator>= (const unique_ptr< T, D > &lhs, const unique_ptr< U, E > &rhs) |
| 大于等于比较运算符 | |
| template<typename T, typename D> | |
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool | operator>= (const unique_ptr< T, D > &lhs, nullptr_t) |
| 与nullptr的大于等于比较运算符 | |
| template<typename T, typename D> | |
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool | operator>= (nullptr_t, const unique_ptr< T, D > &rhs) |
| nullptr与unique_ptr的大于等于比较运算符 | |
| template<typename T, typename U> | |
| unique_ptr< T > | static_pointer_cast (const unique_ptr< U > &ptr)=delete |
| 禁止的static_pointer_cast | |
| template<typename T, typename U> | |
| unique_ptr< T > | const_pointer_cast (const unique_ptr< U > &ptr)=delete |
| 禁止的const_pointer_cast | |
| template<typename T, typename U> | |
| unique_ptr< T > | reinterpret_pointer_cast (const unique_ptr< U > &ptr)=delete |
| 禁止的reinterpret_pointer_cast | |
| template<typename T, typename U> | |
| unique_ptr< T > | dynamic_pointer_cast (const unique_ptr< U > &ptr)=delete |
| 禁止的dynamic_pointer_cast | |
| template<typename T, typename U> | |
| MSTL_CONSTEXPR20 unique_ptr< T > | static_pointer_cast (unique_ptr< U > &&ptr) |
| static_pointer_cast | |
| template<typename T, typename U> | |
| MSTL_CONSTEXPR20 unique_ptr< T > | const_pointer_cast (unique_ptr< U > &&ptr) |
| const_pointer_cast | |
| template<typename T, typename U> | |
| unique_ptr< T > | reinterpret_pointer_cast (unique_ptr< U > &&ptr) |
| const_pointer_cast | |
| template<typename T, typename U> | |
| unique_ptr< T > | dynamic_pointer_cast (unique_ptr< U > &&ptr) |
| reinterpret_pointer_cast | |
| template<typename T, typename... Args, enable_if_t<!is_array< T >::value, int > = 0> | |
| MSTL_CONSTEXPR20 unique_ptr< T > | make_unique (Args &&... args) |
| 创建unique_ptr | |
| template<typename T, enable_if_t< is_unbounded_array< T >::value, int > = 0> | |
| MSTL_CONSTEXPR20 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 | |
独占智能指针类和辅助工具
|
delete |
禁止的const_pointer_cast
| T | 目标类型 |
| U | 源类型 |
| ptr | 源unique_ptr |
| MSTL_CONSTEXPR20 unique_ptr< T > const_pointer_cast | ( | unique_ptr< U > && | ptr | ) |
|
delete |
禁止的dynamic_pointer_cast
| T | 目标类型 |
| U | 源类型 |
| ptr | 源unique_ptr |
| unique_ptr< T > dynamic_pointer_cast | ( | unique_ptr< U > && | ptr | ) |
reinterpret_pointer_cast
| T | 目标类型 |
| U | 源类型 |
| ptr | 源unique_ptr |
在文件 unique_ptr.hpp 第 975 行定义.
| MSTL_CONSTEXPR20 unique_ptr< T > make_unique | ( | Args &&... | args | ) |
创建unique_ptr
| T | 元素类型 |
| Args | 构造函数参数类型 |
| args | 构造函数参数 |
在文件 unique_ptr.hpp 第 1011 行定义.
被这些函数引用 typed_exception_wrapper< Ex >::clone(), exception_ptr::make_exception_ptr, lock_free_queue< T >::pop(), tree_barrier< CmplFunc >::tree_barrier() , 以及 lock_free_queue< T >::try_pop().
|
delete |
| MSTL_CONSTEXPR20 unique_ptr< T > make_unique | ( | const size_t | len | ) |
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool operator!= | ( | const unique_ptr< T, D > & | lhs, |
| const unique_ptr< U, E > & | rhs ) |
不等比较运算符
| T | 左操作数元素类型 |
| D | 左操作数删除器类型 |
| U | 右操作数元素类型 |
| E | 右操作数删除器类型 |
| lhs | 左操作数 |
| rhs | 右操作数 |
在文件 unique_ptr.hpp 第 687 行定义.
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool operator!= | ( | const unique_ptr< T, D > & | lhs, |
| nullptr_t | ) |
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool operator!= | ( | nullptr_t | , |
| const unique_ptr< T, D > & | rhs ) |
nullptr与unique_ptr的不等比较运算符
| T | 元素类型 |
| D | 删除器类型 |
| rhs | unique_ptr对象 |
在文件 unique_ptr.hpp 第 713 行定义.
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool operator< | ( | const unique_ptr< T, D > & | lhs, |
| const unique_ptr< U, E > & | rhs ) |
小于比较运算符
| T | 左操作数元素类型 |
| D | 左操作数删除器类型 |
| U | 右操作数元素类型 |
| E | 右操作数删除器类型 |
| lhs | 左操作数 |
| rhs | 右操作数 |
在文件 unique_ptr.hpp 第 729 行定义.
引用了 _MSTL , 以及 unique_ptr< T, Deleter >::get().
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool operator< | ( | const unique_ptr< T, D > & | lhs, |
| nullptr_t | ) |
与nullptr的小于比较运算符
| T | 元素类型 |
| D | 删除器类型 |
| lhs | unique_ptr对象 |
在文件 unique_ptr.hpp 第 745 行定义.
引用了 _MSTL , 以及 unique_ptr< T, Deleter >::get().
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool operator< | ( | nullptr_t | , |
| const unique_ptr< T, D > & | rhs ) |
nullptr与unique_ptr的小于比较运算符
| T | 元素类型 |
| D | 删除器类型 |
| rhs | unique_ptr对象 |
在文件 unique_ptr.hpp 第 758 行定义.
引用了 _MSTL , 以及 unique_ptr< T, Deleter >::get().
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool operator<= | ( | const unique_ptr< T, D > & | lhs, |
| const unique_ptr< U, E > & | rhs ) |
小于等于比较运算符
| T | 左操作数元素类型 |
| D | 左操作数删除器类型 |
| U | 右操作数元素类型 |
| E | 右操作数删除器类型 |
| lhs | 左操作数 |
| rhs | 右操作数 |
在文件 unique_ptr.hpp 第 816 行定义.
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool operator<= | ( | const unique_ptr< T, D > & | lhs, |
| nullptr_t | ) |
与nullptr的小于等于比较运算符
| T | 元素类型 |
| D | 删除器类型 |
| lhs | unique_ptr对象 |
在文件 unique_ptr.hpp 第 829 行定义.
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool operator<= | ( | nullptr_t | , |
| const unique_ptr< T, D > & | rhs ) |
nullptr与unique_ptr的小于等于比较运算符
| T | 元素类型 |
| D | 删除器类型 |
| rhs | unique_ptr对象 |
在文件 unique_ptr.hpp 第 842 行定义.
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool operator== | ( | const unique_ptr< T, D > & | lhs, |
| const unique_ptr< U, E > & | rhs ) |
相等比较运算符
| T | 左操作数元素类型 |
| D | 左操作数删除器类型 |
| U | 右操作数元素类型 |
| E | 右操作数删除器类型 |
| lhs | 左操作数 |
| rhs | 右操作数 |
在文件 unique_ptr.hpp 第 645 行定义.
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool operator== | ( | const unique_ptr< T, D > & | lhs, |
| nullptr_t | ) |
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool operator== | ( | nullptr_t | , |
| const unique_ptr< T, D > & | rhs ) |
nullptr与unique_ptr的相等比较运算符
| T | 元素类型 |
| D | 删除器类型 |
| rhs | unique_ptr对象 |
在文件 unique_ptr.hpp 第 671 行定义.
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool operator> | ( | const unique_ptr< T, D > & | lhs, |
| const unique_ptr< U, E > & | rhs ) |
大于比较运算符
| T | 左操作数元素类型 |
| D | 左操作数删除器类型 |
| U | 右操作数元素类型 |
| E | 右操作数删除器类型 |
| lhs | 左操作数 |
| rhs | 右操作数 |
在文件 unique_ptr.hpp 第 774 行定义.
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool operator> | ( | const unique_ptr< T, D > & | lhs, |
| nullptr_t | ) |
与nullptr的大于比较运算符
| T | 元素类型 |
| D | 删除器类型 |
| lhs | unique_ptr对象 |
在文件 unique_ptr.hpp 第 787 行定义.
引用了 _MSTL , 以及 unique_ptr< T, Deleter >::get().
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool operator> | ( | nullptr_t | , |
| const unique_ptr< T, D > & | rhs ) |
nullptr与unique_ptr的大于比较运算符
| T | 元素类型 |
| D | 删除器类型 |
| rhs | unique_ptr对象 |
在文件 unique_ptr.hpp 第 800 行定义.
引用了 _MSTL , 以及 unique_ptr< T, Deleter >::get().
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool operator>= | ( | const unique_ptr< T, D > & | lhs, |
| const unique_ptr< U, E > & | rhs ) |
大于等于比较运算符
| T | 左操作数元素类型 |
| D | 左操作数删除器类型 |
| U | 右操作数元素类型 |
| E | 右操作数删除器类型 |
| lhs | 左操作数 |
| rhs | 右操作数 |
在文件 unique_ptr.hpp 第 858 行定义.
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool operator>= | ( | const unique_ptr< T, D > & | lhs, |
| nullptr_t | ) |
与nullptr的大于等于比较运算符
| T | 元素类型 |
| D | 删除器类型 |
| lhs | unique_ptr对象 |
在文件 unique_ptr.hpp 第 871 行定义.
| MSTL_NODISCARD MSTL_CONSTEXPR20 bool operator>= | ( | nullptr_t | , |
| const unique_ptr< T, D > & | rhs ) |
nullptr与unique_ptr的大于等于比较运算符
| T | 元素类型 |
| D | 删除器类型 |
| rhs | unique_ptr对象 |
在文件 unique_ptr.hpp 第 884 行定义.
|
delete |
禁止的reinterpret_pointer_cast
| T | 目标类型 |
| U | 源类型 |
| ptr | 源unique_ptr |
| unique_ptr< T > reinterpret_pointer_cast | ( | unique_ptr< U > && | ptr | ) |
|
delete |
禁止的static_pointer_cast
| T | 目标类型 |
| U | 源类型 |
| ptr | 源unique_ptr |
| MSTL_CONSTEXPR20 unique_ptr< T > static_pointer_cast | ( | unique_ptr< U > && | ptr | ) |
static_pointer_cast
| T | 目标类型 |
| U | 源类型 |
| ptr | 源unique_ptr |
在文件 unique_ptr.hpp 第 939 行定义.
|
noexcept |