Класс reference_wrapper
Создать ссылку.
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
};
Заметки
reference_wrapper<Ty> копию constructible и присвоен и содержит указатель, указывающий на объект типа Ty.
Специализация reference_wrapper<Ty> является производным от std::unary_function<T1, Ret> (отсюда определение вложенного типа result_type синонимом Ret и вложенный тип argument_type синонимом T1), только если тип Ty выглядит следующим образом:,
тип или указатель функции к типу функции, принимающей один аргумент типа T1 и возврат Ret; или
является указателем на функцию-член Ret T::f() cv, где cv представляет резюме- квалификаторы функции-члена; тип T1cvT*; или
тип класса, который является производным от 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 выглядит следующим образом:,
тип или указатель функции к типу функции, принимающей 2 аргумента типа T1 и T2 и возврат Ret; или
является указателем на функцию-член Ret T::f(T2) cv, где cv представляет резюме- квалификаторы функции-члена; тип T1cvT*; или
тип класса, который является производным от binary_function<T1, T2, Ret>.
конструкторов;
Конструирует reference_wrapper. |
Определения типов
Предоставляет тип результата создаватьой программу-оболочку ссылки. |
|
Тип создаватьой программу-оболочку ссылки. |
Функции-члены
Получает создаватьую программу-оболочку ссылку. |
Операторы
Получает указатель на создаватьой программу-оболочку ссылки. |
|
Вызывает создаватьая программу-оболочку ссылку. |
Требования
Заголовок: <functional>
Пространство имен: std