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