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


Класс pointer_to_binary_function

Преобразует указатель на бинарную функцию в адаптируемую бинарную функцию. Устарело в C++11, удалено в C++17.

Синтаксис

template <class Arg1, class Arg2, class Result>
class pointer_to_binary_function
    : public binary_function <Arg1, Arg2, Result>
{
    explicit pointer_to_binary_function(
        Result(*pfunc)(Arg1, Arg2));
    Result operator()(Arg1 left, Arg2 right) const;
};

Параметры

pfunc
Бинарная функция для преобразования.

left
Левый объект, на который вызывается *pfunc .

right
Правильный объект, на который вызывается *pfunc .

Возвращаемое значение

Шаблон класса сохраняет копию pfunc. Она определяет свою функцию-член operator() как возвращаемую (* pfunc)(Left, right).

Замечания

Указатель на бинарную функцию является объектом функции и может передаваться в любой алгоритм стандартной библиотеки C++, ожидающий бинарную функцию в качестве параметра, но не может настраиваться. Чтобы использовать его с адаптером, например привязкой значения к нему или его использованием с негатором, его необходимо предоставить с вложенными типами first_argument_type, second_argument_typeи result_type сделать такую адаптацию возможной. Преобразование посредством pointer_to_binary_function позволяет адаптерам функций работать с указателями бинарных функций.

Пример

Конструктор pointer_to_binary_function редко используется напрямую. См. раздел по вспомогательной функции ptr_fun с примером того, как объявлять и использовать предикат адаптера pointer_to_binary_function.