Compartilhar via


reference_wrapper Class

Encapsula 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

A reference_wrapper<Ty> copy constructible e transferível e contém um ponteiro que aponta para um objeto do tipo Ty.

Uma especialização reference_wrapper<Ty> é derivado de std::unary_function<T1, Ret> (daí a definição do tipo aninhado result_type como sinônimo de Ret e do tipo aninhado argument_type como sinônimo de T1) somente se o tipo Ty é:

um tipo de função ou um ponteiro para o tipo de função levando um argumento do tipo T1 e retornando Ret; ou

um ponteiro para uma função de membro Ret T::f() cv, onde cv representa VC-qualificadores a função de membro; the type T1 is cvT*; ou

um tipo de classe é derivado de unary_function<T1, Ret>.

Uma especialização reference_wrapper<Ty> é derivado de std::binary_function<T1, T2, Ret> (, portanto, a definição do tipo aninhado result_type como sinônimo de Ret, o aninhados tipo first_argument_type como sinônimo de T1e o tipo aninhado second_argument_type como sinônimo de T2) somente se o tipo de Ty é:

um tipo de função ou um ponteiro para o tipo de função tirar dois argumentos de tipos de T1 e T2 e retornando Ret; ou

um ponteiro para uma função de membro Ret T::f(T2) cv, onde cv representa VC-qualificadores a função de membro; the type T1 is cvT*; ou

um tipo de classe é derivado de binary_function<T1, T2, Ret>.

Bb982605.collapse_all(pt-br,VS.110).gifConstrutores

reference_wrapper::reference_wrapper

Constrói um reference_wrapper.

Bb982605.collapse_all(pt-br,VS.110).gifTypedefs

reference_wrapper::result_type

O tipo de resultado fraco da referência empacotado.

reference_wrapper::type

O tipo de referência empacotado.

Bb982605.collapse_all(pt-br,VS.110).gifFunções de membro

reference_wrapper::get

Obtém a referência empacotada.

Bb982605.collapse_all(pt-br,VS.110).gifOperadores

reference_wrapper::operator Ty&

Obtém um ponteiro para a referência empacotada.

reference_wrapper::operator()

Chama a referência empacotada.

Requisitos

Cabeçalho: <functional>

Namespace: std

Consulte também

Referência

cref Function

ref Function

Outros recursos

<functional> Membros