|
NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
|
引用包装器 更多...
#include "NeForce/core/typeinfo/type_traits.hpp"类 | |
| class | neforce::reference_wrapper< T > |
| 引用包装器类模板 更多... | |
| struct | neforce::unwrap_reference< T > |
| 解包引用包装器,获取原始引用类型 更多... | |
| struct | neforce::unwrap_reference< reference_wrapper< T > > |
| reference_wrapper的特化版本 更多... | |
| struct | neforce::unwrap_ref_decay< T > |
| 先退化类型,再解包引用包装器 更多... | |
类型定义 | |
| template<typename T> | |
| using | neforce::unwrap_reference_t = typename unwrap_reference<T>::type |
| unwrap_reference的便捷别名 | |
| template<typename T> | |
| using | neforce::unwrap_ref_decay_t = typename unwrap_ref_decay<T>::type |
| unwrap_ref_decay的便捷别名 | |
函数 | |
| template<typename Callable, typename... Args> | |
| constexpr inner::__invoke_result_aux< Callable, Args... >::type | neforce::invoke (Callable &&f, Args &&... args) noexcept(is_nothrow_invocable< Callable, Args... >::value) |
| 统一调用接口 | |
| template<typename T> | |
| constexpr reference_wrapper< T > | neforce::ref (T &val) noexcept |
| 创建引用包装器 | |
| template<typename T> | |
| void | neforce::ref (const T &&)=delete |
| 删除const右值的ref重载 | |
| template<typename T> | |
| constexpr reference_wrapper< T > | neforce::ref (reference_wrapper< T > wrapper) noexcept |
| 重新包装已存在的引用包装器 | |
| template<typename T> | |
| constexpr reference_wrapper< const T > | neforce::cref (const T &val) noexcept |
| 创建const引用包装器 | |
| template<typename T> | |
| void | neforce::cref (const T &&)=delete |
| 删除const右值的cref重载 | |
| template<typename T> | |
| constexpr reference_wrapper< const T > | neforce::cref (reference_wrapper< T > wrapper) noexcept |
| 重新包装为const引用包装器 | |