reference_wrapper Class
Ajusta una referencia.
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
};
Comentarios
A reference_wrapper<Ty> es la copia puede construirse y puede asignar y mantiene un puntero que señala a un objeto de tipo Ty.
Una especialización reference_wrapper<Ty> se deriva de std::unary_function<T1, Ret> (por lo tanto, la definición del tipo anidado result_type como sinónimo de Ret y el tipo anidado argument_type como sinónimo de T1) sólo si el tipo de Ty es:
un tipo de función o un puntero al tipo de función teniendo un argumento de tipo T1 y la devolución de Ret; o
un puntero a una función miembro Ret T::f() cv, donde cv representa los calificadores cv de la función miembro; the type T1 is cvT*; o
un tipo de clase que se deriva de unary_function<T1, Ret>.
Una especialización reference_wrapper<Ty> se deriva de std::binary_function<T1, T2, Ret> (por lo tanto, la definición del tipo anidado result_type como sinónimo de Ret, el anidado tipo first_argument_type como sinónimo de T1y el tipo anidado second_argument_type como sinónimo de T2) sólo si el tipo de Ty es:
un tipo de función o un puntero al tipo de función toman dos argumentos de tipos de T1 y T2 y la devolución de Ret; o
un puntero a una función miembro Ret T::f(T2) cv, donde cv representa los calificadores cv de la función miembro; the type T1 is cvT*; o
un tipo de clase que se deriva de binary_function<T1, T2, Ret>.
Constructores
Construye un reference_wrapper. |
Typedefs
El tipo de resultado débil de la referencia ajustado. |
|
El tipo de referencia ajustado. |
Funciones miembro
Obtiene la referencia ajustada. |
Operadores
Obtiene un puntero a la referencia ajustada. |
|
Llama a la referencia ajustada. |
Requisitos
Encabezado: <functional>
Espacio de nombres: std