MSTL 1.4.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
reference_wrapper< T > 模板类 参考

引用包装器类模板 更多...

#include <reference_wrapper.hpp>

Public 类型

using type = T
 包装的类型

Public 成员函数

template<typename U, enable_if_t< conjunction< negation< is_same< remove_cvref_t< U >, reference_wrapper > >, _INNER ref_wrapper_constructable_from< T, U > >::value, int > = 0>
MSTL_CONSTEXPR14 reference_wrapper (U &&x) noexcept(noexcept(_INNER __ref_wrapper_construct_aux< T >(_MSTL declval< U >())))
 构造函数
MSTL_CONSTEXPR14 operator T& () const noexcept
 隐式转换运算符
MSTL_NODISCARD MSTL_CONSTEXPR14 T & get () const noexcept
 获取包装的引用
template<typename... Args>
MSTL_CONSTEXPR14 _INNER __invoke_result_aux< T &, Args... >::type operator() (Args &&... args) const noexcept(is_nothrow_invocable< T &, Args... >::value)
 函数调用运算符

详细描述

template<typename T>
class reference_wrapper< T >

引用包装器类模板

模板参数
T被包装的类型

将引用包装为可复制的值类型,可以在容器中存储引用。

支持隐式转换为原始引用,以及函数调用运算符。

在文件 reference_wrapper.hpp62 行定义.

构造及析构函数说明

◆ reference_wrapper()

template<typename T>
template<typename U, enable_if_t< conjunction< negation< is_same< remove_cvref_t< U >, reference_wrapper > >, _INNER ref_wrapper_constructable_from< T, U > >::value, int > = 0>
MSTL_CONSTEXPR14 reference_wrapper< T >::reference_wrapper ( U && x)
inlinenoexcept

构造函数

模板参数
U源类型
参数
x要包装的引用

从任意可以转换为T引用的类型构造引用包装器。 禁止从右值构造,防止悬垂引用。

在文件 reference_wrapper.hpp84 行定义.

引用了 _INNER, _MSTL, addressof(), declval() , 以及 ref().

成员函数说明

◆ get()

template<typename T>
MSTL_NODISCARD MSTL_CONSTEXPR14 T & reference_wrapper< T >::get ( ) const
inlinenoexcept

获取包装的引用

返回
包装的引用

在文件 reference_wrapper.hpp104 行定义.

被这些函数引用 operator()().

◆ operator T&()

template<typename T>
MSTL_CONSTEXPR14 reference_wrapper< T >::operator T& ( ) const
inlinenoexcept

隐式转换运算符

返回
包装的引用

允许reference_wrapper隐式转换为T&,方便使用。

在文件 reference_wrapper.hpp96 行定义.

◆ operator()()

template<typename T>
template<typename... Args>
MSTL_CONSTEXPR14 _INNER __invoke_result_aux< T &, Args... >::type reference_wrapper< T >::operator() ( Args &&... args) const
inlinenoexcept

函数调用运算符

模板参数
Args参数类型
参数
args调用参数
返回
函数调用结果

如果T是可调用类型,可以通过reference_wrapper直接调用包装的函数。

在文件 reference_wrapper.hpp118 行定义.

引用了 _MSTL, forward(), get() , 以及 invoke().


该类的文档由以下文件生成: