|
MSTL 1.4.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
引用包装相关的类和辅助函数的实现 更多...
类 | |
| class | reference_wrapper< T > |
| 引用包装器类模板 更多... | |
| struct | unwrap_reference< T > |
| 解包引用包装器,获取原始引用类型 更多... | |
| struct | unwrap_reference< reference_wrapper< T > > |
| reference_wrapper的特化版本 更多... | |
| struct | unwrap_ref_decay< T > |
| 先退化类型,再解包引用包装器 更多... | |
类型定义 | |
| template<typename T> | |
| using | unwrap_reference_t = typename unwrap_reference<T>::type |
| unwrap_reference的便捷别名 | |
| template<typename T> | |
| using | unwrap_ref_decay_t = typename unwrap_ref_decay<T>::type |
| unwrap_ref_decay的便捷别名 | |
函数 | |
| template<typename T> | |
| MSTL_NODISCARD constexpr reference_wrapper< T > | ref (T &val) noexcept |
| 创建引用包装器 | |
| template<typename T> | |
| void | ref (const T &&)=delete |
| 删除const右值的ref重载 | |
| template<typename T> | |
| MSTL_NODISCARD constexpr reference_wrapper< T > | ref (reference_wrapper< T > wrapper) noexcept |
| 重新包装已存在的引用包装器 | |
| template<typename T> | |
| MSTL_NODISCARD constexpr reference_wrapper< const T > | cref (const T &val) noexcept |
| 创建const引用包装器 | |
| template<typename T> | |
| void | cref (const T &&)=delete |
| 删除const右值的cref重载 | |
| template<typename T> | |
| MSTL_NODISCARD constexpr reference_wrapper< const T > | cref (reference_wrapper< T > wrapper) noexcept |
| 重新包装为const引用包装器 | |
引用包装相关的类和辅助函数的实现
|
delete |
删除const右值的cref重载
| T | 类型 |
|
constexprnoexcept |
创建const引用包装器
| T | 引用类型 |
| val | 要包装的const左值引用 |
用于创建只读引用包装
在文件 reference_wrapper.hpp 第 170 行定义.
|
constexprnoexcept |
重新包装为const引用包装器
| T | 引用类型 |
| wrapper | 已存在的引用包装器 |
将非const引用包装器转换为const版本。
在文件 reference_wrapper.hpp 第 191 行定义.
|
delete |
删除const右值的ref重载
| T | 类型 |
|
constexprnoexcept |
|
constexprnoexcept |
创建引用包装器
| T | 引用类型 |
| val | 要包装的左值引用 |
在文件 reference_wrapper.hpp 第 137 行定义.
被这些函数引用 erase_if(), reduce(), reference_wrapper< T >::reference_wrapper() , 以及 transform_reduce().