std::binary_function
Материал из cppreference.com
< cpp | utility | functional
![]() |
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
Определено в заголовочном файле <functional>
|
||
template< class Arg1, |
(устарело) | |
binary_function
это базовый класс для создания объектов-функций с двумя аргументами.Оригинал:
binary_function
is a base class for creating function objects with two arguments.Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
binary_function
не определяют operator(), ожидается, что производные классы будут определять это. binary_function
предусматривает только три вида - first_argument_type
, second_argument_type
и result_type
- по определению параметров шаблона.Оригинал:
binary_function
does not define operator(); it is expected that derived classes will define this. binary_function
provides only three types - first_argument_type
, second_argument_type
and result_type
- defined by the template parameters.Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Некоторые стандартные библиотечные функции объекта адаптеры, такие как std::not2, требующих функции объектов, которые они должны адаптироваться к определенным типам, определенным; std::not2 требуется объект функции адаптируются к иметь два типа имени
first_argument_type
и second_argument_type
. Получение функциональных объектов, которые принимают два аргумента из binary_function
простой способ, чтобы сделать их совместимыми с адаптерами.Оригинал:
Some standard library function object adaptors, such as std::not2, require the function objects they adapt to have certain types defined; std::not2 requires the function object being adapted to have two types named
first_argument_type
and second_argument_type
. Deriving function objects that take two arguments from binary_function
is an easy way to make them compatible with those adaptors.Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
binary_function
является устаревшим в C + +11. Его функциональность была сделана устаревшей std::function и других стандартных объектов библиотеки функций, которые определяют необходимые виды.Оригинал:
binary_function
is deprecated in C++11. Its functionality has been made obsolete by std::function and other standard library function objects, which define the necessary types.Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
[править] Член типов
Type
Оригинал: Type Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. |
Definition |
first_argument_type
|
Arg1
|
second_argument_type
|
Arg2
|
result_type
|
Result
|
[править] Пример
#include <algorithm> #include <functional> #include <iostream> #include <vector> struct same : std::binary_function<int, int, bool> { bool operator()(int a, int b) const { return a == b; } }; int main() { std::vector<int> v1{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; std::vector<int> v2{10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 }; std::vector<bool> v3(v1.size()); std::transform(v1.begin(), v1.end(), v2.begin(), v3.begin(), std::not2(same())); std::cout << std::boolalpha; for (std::size_t i = 0; i < v1.size(); ++i) std::cout << v1[i] << ' ' << v2[i] << ' ' << v3[i] << '\n'; }
Вывод:
0 10 true 1 9 true 2 8 true 3 7 true 4 6 true 5 5 false 6 4 true 7 3 true 8 2 true 9 1 true
[править] См. также
(C++11) |
обертывания вызываемый объект любого типа с заданной подписью вызова функции Оригинал: wraps callable object of any type with specified function call signature Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. (шаблон класса) |
(устарело) |
создает адаптер-совместимые функции объекта обертку от указателя на функцию Оригинал: creates an adaptor-compatible function object wrapper from a pointer to function Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. (шаблон функции) |
(устарело) |
Адаптер-совместимая оболочка для указателя на бинарной функции Оригинал: adaptor-compatible wrapper for a pointer to binary function Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. (шаблон класса) |
(устарело) |
Адаптер-совместимых унарные функции базового класса Оригинал: adaptor-compatible unary function base class Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. (шаблон класса) |