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


reference_wrapper Class

Создает оболочку для ссылки.

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
    };

Заметки

A reference_wrapper<Ty> является копией Разобравшись и может быть назначен и содержит указатель, указывающий на объект типа Ty.

Специализация reference_wrapper<Ty> является производным от std::unary_function<T1, Ret> (поэтому определение вложенного типа result_type как синоним Ret и вложенного типа argument_type как синоним T1) только если тип Ty является:

тип функции или указатель на тип функции, используя один аргумент типа T1 и возвращение Ret; или

указатель на функцию-член Ret T::f() cv, где cv представляет функцию-член ОПС квалификаторы; the type T1 is cvT*; или

тип класса, производного от 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 является:

тип функции или указатель на тип функции, принимающие аргументы двух типов T1 и T2 и возвращение Ret; или

указатель на функцию-член Ret T::f(T2) cv, где cv представляет функцию-член ОПС квалификаторы; the type T1 is cvT*; или

тип класса, производного от binary_function<T1, T2, Ret>.

Bb982605.collapse_all(ru-ru,VS.110).gifКонструкторы

reference_wrapper::reference_wrapper

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

Bb982605.collapse_all(ru-ru,VS.110).gifОпределения типов

reference_wrapper::result_type

Тип слабый результат перенесенного ссылки.

reference_wrapper::type

Тип перенесенного ссылки.

Bb982605.collapse_all(ru-ru,VS.110).gifФункции-члены

reference_wrapper::get

Получает оболочку ссылки.

Bb982605.collapse_all(ru-ru,VS.110).gifОператоры

reference_wrapper::operator Ty&

Получает указатель на оболочку ссылки.

reference_wrapper::operator()

Вызывает оболочку ссылки.

Требования

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

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

См. также

Ссылки

cref Function

ref Function

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

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