|
NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
|
独占智能指针类和辅助工具 更多...
类 | |
| class | neforce::unique_ptr< T, Deleter > |
| 独占智能指针 更多... | |
| class | neforce::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 | neforce::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 | neforce::operator== (const unique_ptr< T, D > &lhs, const unique_ptr< U, E > &rhs) |
| 相等比较运算符 | |
| template<typename T, typename D> | |
| constexpr bool | neforce::operator== (const unique_ptr< T, D > &lhs, nullptr_t) |
| 与nullptr的相等比较运算符 | |
| template<typename T, typename D> | |
| constexpr bool | neforce::operator== (nullptr_t, const unique_ptr< T, D > &rhs) |
| nullptr与unique_ptr的相等比较运算符 | |
| template<typename T, typename D, typename U, typename E> | |
| constexpr bool | neforce::operator!= (const unique_ptr< T, D > &lhs, const unique_ptr< U, E > &rhs) |
| 不等比较运算符 | |
| template<typename T, typename D> | |
| constexpr bool | neforce::operator!= (const unique_ptr< T, D > &lhs, nullptr_t) |
| 与nullptr的不等比较运算符 | |
| template<typename T, typename D> | |
| constexpr bool | neforce::operator!= (nullptr_t, const unique_ptr< T, D > &rhs) |
| nullptr与unique_ptr的不等比较运算符 | |
| template<typename T, typename D, typename U, typename E> | |
| constexpr bool | neforce::operator< (const unique_ptr< T, D > &lhs, const unique_ptr< U, E > &rhs) |
| 小于比较运算符 | |
| template<typename T, typename D> | |
| constexpr bool | neforce::operator< (const unique_ptr< T, D > &lhs, nullptr_t) |
| 与nullptr的小于比较运算符 | |
| template<typename T, typename D> | |
| constexpr bool | neforce::operator< (nullptr_t, const unique_ptr< T, D > &rhs) |
| nullptr与unique_ptr的小于比较运算符 | |
| template<typename T, typename D, typename U, typename E> | |
| constexpr bool | neforce::operator> (const unique_ptr< T, D > &lhs, const unique_ptr< U, E > &rhs) |
| 大于比较运算符 | |
| template<typename T, typename D> | |
| constexpr bool | neforce::operator> (const unique_ptr< T, D > &lhs, nullptr_t) |
| 与nullptr的大于比较运算符 | |
| template<typename T, typename D> | |
| constexpr bool | neforce::operator> (nullptr_t, const unique_ptr< T, D > &rhs) |
| nullptr与unique_ptr的大于比较运算符 | |
| template<typename T, typename D, typename U, typename E> | |
| constexpr bool | neforce::operator<= (const unique_ptr< T, D > &lhs, const unique_ptr< U, E > &rhs) |
| 小于等于比较运算符 | |
| template<typename T, typename D> | |
| constexpr bool | neforce::operator<= (const unique_ptr< T, D > &lhs, nullptr_t) |
| 与nullptr的小于等于比较运算符 | |
| template<typename T, typename D> | |
| constexpr bool | neforce::operator<= (nullptr_t, const unique_ptr< T, D > &rhs) |
| nullptr与unique_ptr的小于等于比较运算符 | |
| template<typename T, typename D, typename U, typename E> | |
| constexpr bool | neforce::operator>= (const unique_ptr< T, D > &lhs, const unique_ptr< U, E > &rhs) |
| 大于等于比较运算符 | |
| template<typename T, typename D> | |
| constexpr bool | neforce::operator>= (const unique_ptr< T, D > &lhs, nullptr_t) |
| 与nullptr的大于等于比较运算符 | |
| template<typename T, typename D> | |
| constexpr bool | neforce::operator>= (nullptr_t, const unique_ptr< T, D > &rhs) |
| nullptr与unique_ptr的大于等于比较运算符 | |
| template<typename T, typename U, typename Deleter> | |
| unique_ptr< T, Deleter > | neforce::static_pointer_cast (const unique_ptr< U, Deleter > &ptr)=delete |
| 禁止的static_pointer_cast | |
| template<typename T, typename U, typename Deleter> | |
| unique_ptr< T, Deleter > | neforce::const_pointer_cast (const unique_ptr< U, Deleter > &ptr)=delete |
| 禁止的const_pointer_cast | |
| template<typename T, typename U, typename Deleter> | |
| unique_ptr< T, Deleter > | neforce::reinterpret_pointer_cast (const unique_ptr< U, Deleter > &ptr)=delete |
| 禁止的reinterpret_pointer_cast | |
| template<typename T, typename U, typename Deleter> | |
| unique_ptr< T, Deleter > | neforce::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 > | neforce::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 > | neforce::const_pointer_cast (unique_ptr< U, DeleterU > &&ptr) |
| const_pointer_cast | |
| template<typename T, typename DeleterT, typename U, typename DeleterU> | |
| unique_ptr< T, DeleterT > | neforce::reinterpret_pointer_cast (unique_ptr< U, DeleterU > &&ptr) |
| const_pointer_cast | |
| template<typename T, typename DeleterT, typename U, typename DeleterU> | |
| unique_ptr< T, DeleterT > | neforce::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 > | neforce::make_unique (Args &&... args) |
| 创建unique_ptr | |
| template<typename T, enable_if_t< is_unbounded_array< T >::value, int > = 0> | |
| constexpr unique_ptr< T > | neforce::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 > | neforce::make_unique (Args &&...)=delete |
| 禁止创建已知边界数组的make_unique | |
独占智能指针类和辅助工具
|
delete |
禁止的const_pointer_cast
| T | 目标类型 |
| U | 源类型 |
| Deleter | 删除器类型 |
| ptr | 源unique_ptr |
引用了 const_pointer_cast().
|
constexpr |
const_pointer_cast
| T | 目标类型 |
| DeleterT | 目标删除器类型 |
| U | 源类型 |
| DeleterU | 源删除器类型 |
| ptr | 源unique_ptr |
在文件 unique_ptr.hpp 第 894 行定义.
引用了 const_pointer_cast() , 以及 move().
|
delete |
禁止的dynamic_pointer_cast
| T | 目标类型 |
| U | 源类型 |
| Deleter | 删除器类型 |
| ptr | 源unique_ptr |
| unique_ptr< T, DeleterT > neforce::dynamic_pointer_cast | ( | unique_ptr< U, DeleterU > && | ptr | ) |
reinterpret_pointer_cast
| T | 目标类型 |
| DeleterT | 目标删除器类型 |
| U | 源类型 |
| DeleterU | 源删除器类型 |
| ptr | 源unique_ptr |
在文件 unique_ptr.hpp 第 926 行定义.
引用了 dynamic_pointer_cast() , 以及 move().
|
constexpr |
创建unique_ptr
| T | 元素类型 |
| Args | 构造函数参数类型 |
| args | 构造函数参数 |
在文件 unique_ptr.hpp 第 973 行定义.
引用了 forward() , 以及 make_unique().
被这些函数引用 neforce::typed_exception_wrapper< Ex >::clone(), neforce::ssl_client::create_socket(), neforce::tcp_client::create_socket(), neforce::env_parser::env_parser(), neforce::repository< T, Connect >::find_by_id(), neforce::reflect::meta_type::function(), get_current_task_group(), neforce::ini_document::ini_document(), neforce::ini_parser::ini_parser(), neforce::exception_ptr::make_exception_ptr, make_unique(), make_unique(), make_unique(), neforce::reflect::meta_type::property(), neforce::reflect::registry::register_type(), neforce::ini_section::set_property(), neforce::env_document::set_variable(), neforce::tcp_client_base::tcp_client_base(), neforce::tcp_client_base::tcp_client_base(), neforce::toml_parser::toml_parser(), neforce::tree_barrier< CmplFunc >::tree_barrier(), neforce::json_builder::value(), neforce::json_builder::value(), neforce::json_builder::value(), neforce::json_builder::value(), neforce::json_builder::value(), neforce::toml_builder::value(), neforce::toml_builder::value(), neforce::toml_builder::value(), neforce::toml_builder::value(), neforce::toml_builder::value(), neforce::toml_builder::value_datetime(), neforce::toml_builder::value_string() , 以及 neforce::tui::application::with_component().
|
delete |
|
constexpr |
创建unique_ptr
| T | 数组元素类型 |
| len | 数组长度 |
在文件 unique_ptr.hpp 第 984 行定义.
引用了 make_unique().
|
nodiscardconstexpr |
不等比较运算符
| T | 左操作数元素类型 |
| D | 左操作数删除器类型 |
| U | 右操作数元素类型 |
| E | 右操作数删除器类型 |
| lhs | 左操作数 |
| rhs | 右操作数 |
在文件 unique_ptr.hpp 第 636 行定义.
引用了 neforce::unique_ptr< T, Deleter >::get() , 以及 operator!=().
|
nodiscardconstexpr |
与nullptr的不等比较运算符
| T | 元素类型 |
| D | 删除器类型 |
| lhs | unique_ptr对象 |
在文件 unique_ptr.hpp 第 648 行定义.
引用了 operator!=().
|
nodiscardconstexpr |
nullptr与unique_ptr的不等比较运算符
| T | 元素类型 |
| D | 删除器类型 |
| rhs | unique_ptr对象 |
在文件 unique_ptr.hpp 第 660 行定义.
引用了 operator!=().
|
nodiscardconstexpr |
小于比较运算符
| T | 左操作数元素类型 |
| D | 左操作数删除器类型 |
| U | 右操作数元素类型 |
| E | 右操作数删除器类型 |
| lhs | 左操作数 |
| rhs | 右操作数 |
在文件 unique_ptr.hpp 第 675 行定义.
|
nodiscardconstexpr |
|
nodiscardconstexpr |
nullptr与unique_ptr的小于比较运算符
| T | 元素类型 |
| D | 删除器类型 |
| rhs | unique_ptr对象 |
在文件 unique_ptr.hpp 第 700 行定义.
|
nodiscardconstexpr |
小于等于比较运算符
| T | 左操作数元素类型 |
| D | 左操作数删除器类型 |
| U | 右操作数元素类型 |
| E | 右操作数删除器类型 |
| lhs | 左操作数 |
| rhs | 右操作数 |
在文件 unique_ptr.hpp 第 754 行定义.
|
nodiscardconstexpr |
与nullptr的小于等于比较运算符
| T | 元素类型 |
| D | 删除器类型 |
| lhs | unique_ptr对象 |
在文件 unique_ptr.hpp 第 766 行定义.
|
nodiscardconstexpr |
nullptr与unique_ptr的小于等于比较运算符
| T | 元素类型 |
| D | 删除器类型 |
| rhs | unique_ptr对象 |
在文件 unique_ptr.hpp 第 778 行定义.
|
nodiscardconstexpr |
相等比较运算符
| T | 左操作数元素类型 |
| D | 左操作数删除器类型 |
| U | 右操作数元素类型 |
| E | 右操作数删除器类型 |
| lhs | 左操作数 |
| rhs | 右操作数 |
在文件 unique_ptr.hpp 第 597 行定义.
引用了 neforce::unique_ptr< T, Deleter >::get() , 以及 operator==().
|
nodiscardconstexpr |
与nullptr的相等比较运算符
| T | 元素类型 |
| D | 删除器类型 |
| lhs | unique_ptr对象 |
在文件 unique_ptr.hpp 第 609 行定义.
引用了 operator==().
|
nodiscardconstexpr |
nullptr与unique_ptr的相等比较运算符
| T | 元素类型 |
| D | 删除器类型 |
| rhs | unique_ptr对象 |
在文件 unique_ptr.hpp 第 621 行定义.
引用了 operator==().
|
nodiscardconstexpr |
大于比较运算符
| T | 左操作数元素类型 |
| D | 左操作数删除器类型 |
| U | 右操作数元素类型 |
| E | 右操作数删除器类型 |
| lhs | 左操作数 |
| rhs | 右操作数 |
在文件 unique_ptr.hpp 第 715 行定义.
|
nodiscardconstexpr |
|
nodiscardconstexpr |
nullptr与unique_ptr的大于比较运算符
| T | 元素类型 |
| D | 删除器类型 |
| rhs | unique_ptr对象 |
在文件 unique_ptr.hpp 第 739 行定义.
|
nodiscardconstexpr |
大于等于比较运算符
| T | 左操作数元素类型 |
| D | 左操作数删除器类型 |
| U | 右操作数元素类型 |
| E | 右操作数删除器类型 |
| lhs | 左操作数 |
| rhs | 右操作数 |
在文件 unique_ptr.hpp 第 793 行定义.
|
nodiscardconstexpr |
与nullptr的大于等于比较运算符
| T | 元素类型 |
| D | 删除器类型 |
| lhs | unique_ptr对象 |
在文件 unique_ptr.hpp 第 805 行定义.
|
nodiscardconstexpr |
nullptr与unique_ptr的大于等于比较运算符
| T | 元素类型 |
| D | 删除器类型 |
| rhs | unique_ptr对象 |
在文件 unique_ptr.hpp 第 817 行定义.
|
delete |
禁止的reinterpret_pointer_cast
| T | 目标类型 |
| U | 源类型 |
| Deleter | 删除器类型 |
| ptr | 源unique_ptr |
| unique_ptr< T, DeleterT > neforce::reinterpret_pointer_cast | ( | unique_ptr< U, DeleterU > && | ptr | ) |
const_pointer_cast
| T | 目标类型 |
| DeleterT | 目标删除器类型 |
| U | 源类型 |
| DeleterU | 源删除器类型 |
| ptr | 源unique_ptr |
在文件 unique_ptr.hpp 第 910 行定义.
引用了 move() , 以及 reinterpret_pointer_cast().
|
delete |
禁止的static_pointer_cast
| T | 目标类型 |
| U | 源类型 |
| Deleter | 删除器类型 |
| ptr | 源unique_ptr |
|
constexpr |
static_pointer_cast
| T | 目标类型 |
| DeleterT | 目标删除器类型 |
| U | 源类型 |
| DeleterU | 源删除器类型 |
| ptr | 源unique_ptr |
在文件 unique_ptr.hpp 第 878 行定义.
引用了 move() , 以及 static_pointer_cast().
|
noexcept |
交换两个unique_ptr
| T | 元素类型 |
| Deleter | 删除器类型 |
| lhs | 左操作数 |
| rhs | 右操作数 |
在文件 unique_ptr.hpp 第 582 行定义.
引用了 swap().
被这些函数引用 iter_swap(), rb_tree_erase_rebalance(), swap(), swap(), swap() , 以及 swap().