Поделиться через


Класс 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::reference_wrapper

Конструирует reference_wrapper.

Определения типов

reference_wrapper::result_type

Предоставляет тип результата создаватьой программу-оболочку ссылки.

reference_wrapper::type

Тип создаватьой программу-оболочку ссылки.

Функции-члены

reference_wrapper::get

Получает создаватьую программу-оболочку ссылку.

Операторы

reference_wrapper::operator Ty&

Получает указатель на создаватьой программу-оболочку ссылки.

reference_wrapper::operator()

Вызывает создаватьая программу-оболочку ссылку.

Требования

Заголовок: <functional>

Пространство имен: std

См. также

Ссылки

Функция cref

Функция ref

Другие ресурсы

члены<функционально>