Compartilhar via


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

reference_wrapper::reference_wrapper

Constrói um reference_wrapper.

Typedefs

reference_wrapper::result_type

O tipo de resultado de referência flexível ajustado.

reference_wrapper::type

O tipo de referência ajustado.

Funções de membro

reference_wrapper::get

Obtém a referência de conjunto.

Operadores

reference_wrapper::operator Ty&

Obtém um ponteiro para a referência de conjunto.

reference_wrapper::operator()

Chama a referência de conjunto.

Requisitos

Cabeçalho: <funcional>

Namespace: std

Consulte também

Referência

Função cref

Função ref

Outros recursos

<functional> Membros