Classe reference_wrapper
Envolve uma referência.
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
};
Comentários
reference_wrapper<Ty> é cópia construtível e assinalável, e mantém um ponteiro que aponta para um objeto de tipo Ty.
Uma especialização reference_wrapper<Ty> é derivada de std::unary_function<T1, Ret> (como a definição do tipo aninhado result_type como um sinônimo para Ret e o tipo argument_type aninhado como um sinônimo para T1) somente se o tipo Ty é:
um tipo ou um ponteiro de função funcionando tipo que usa um argumento do tipo T1 e que retorna Ret; ou
um ponteiro para uma função de membro Ret T::f() cv, onde cv representa os CV- qualificadores da função de membro; o tipo T1 é cvT*; ou
um tipo de classe que é derivado de unary_function<T1, Ret>.
Uma especialização reference_wrapper<Ty> é derivada de std::binary_function<T1, T2, Ret> (como a definição do tipo aninhado result_type como um sinônimo para Ret, o tipo first_argument_type aninhado como um sinônimo para T1, e o tipo second_argument_type aninhado como um sinônimo para T2) somente se o tipo Ty é:
um tipo ou um ponteiro de função funcionando tipo que usa dois argumentos dos tipos T1 e T2 e que retorna Ret; ou
um ponteiro para uma função de membro Ret T::f(T2) cv, onde cv representa os CV- qualificadores da função de membro; o tipo T1 é cvT*; ou
um tipo de classe que é derivado de binary_function<T1, T2, Ret>.
Construtores
Constrói um reference_wrapper. |
Typedefs
O tipo de resultado de referência flexível ajustado. |
|
O tipo de referência ajustado. |
Funções de membro
Obtém a referência de conjunto. |
Operadores
Obtém um ponteiro para a referência de conjunto. |
|
Chama a referência de conjunto. |
Requisitos
Cabeçalho: <funcional>
Namespace: std