MSTL 1.4.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
reference_wrapper.hpp 文件参考

MSTL引用包装器 更多...

reference_wrapper.hpp 的引用(Include)关系图:

浏览该文件的源代码.

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 Callable, typename... Args>
MSTL_CONSTEXPR14 _INNER __invoke_result_aux< Callable, Args... >::type invoke (Callable &&f, Args &&... args) noexcept(is_nothrow_invocable< Callable, Args... >::value)
 统一调用接口
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引用包装器

详细描述

MSTL引用包装器

此文件提供了引用包装器的实现,用于在容器和算法中存储引用,提供类型安全的引用包装功能。

在文件 reference_wrapper.hpp 中定义.