reference_wrapper Class
包装的引用。
template<class Ty>
class reference_wrapper
: public unary_function<T1, Ret> // see below
: public binary_function<T1, T2, Ret> // see below
{
public:
typedef Ty type;
typedef T0 result_type; // see below
reference_wrapper(Ty&);
Ty& get() const;
operator Ty&() const;
template<class T1, class T2, ..., class TN>
typename result_of<T(T1, T2, ..., TN)>::type
operator()(T1&, T2&, ..., TN&);
private:
Ty *ptr; // exposition only
};
备注
A reference_wrapper<Ty>副本,构造和赋值,并且指针指向类型的对象的Ty。
专用化reference_wrapper<Ty>派生自std::unary_function<T1, Ret> (因此定义嵌套的类型result_type是同义词作为Ret和嵌套的类型argument_type是同义词作为T1) 仅当类型Ty是:
函数类型或指向函数采用一个参数的类型的类型T1和返回Ret。 或
指向成员函数的Ret T::f() cv,其中cv表示该成员函数的 cv 限定符。 the type T1 is cvT*; 或
从派生类类型unary_function<T1, Ret>。
专用化reference_wrapper<Ty>派生自std::binary_function<T1, T2, Ret> (因此定义嵌套的类型result_type是同义词作为Ret、 嵌套类型first_argument_type是同义词作为T1,和嵌套的类型second_argument_type是同义词作为T2) 才类型Ty是:
函数类型或指向函数采用两个参数的类型的类型T1和T2和返回Ret。 或
指向成员函数的Ret T::f(T2) cv,其中cv表示该成员函数的 cv 限定符。 the type T1 is cvT*; 或
从派生类类型binary_function<T1, T2, Ret>。
构造函数
构造 reference_wrapper。 |
Typedef
弱造成被包装的引用的类型。 |
|
被包装的引用的类型。 |
成员函数
获取被包装的引用。 |
运算符
获取一个指针,该包装的引用。 |
|
调用包装的引用。 |
要求
标题: <functional>
命名空间: 标准