std::unary_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 <typename ArgumentType, typename ResultType> struct unary_function; |
(устарело) | |
unary_function это базовый класс для создания объектов-функций с одним аргументом.Original:
unary_function is a base class for creating function objects with one argument.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
unary_function не определяют operator(), ожидается, что производные классы будут определять это. unary_function предусматривает только два вида - argument_type и result_type - по определению параметров шаблона.Original:
unary_function does not define operator(); it is expected that derived classes will define this. unary_function provides only two types - argument_type and result_type - defined by the template parameters.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Некоторые стандартные библиотечные функции объекта адаптеры, такие как std::not1, требующих функции объектов, которые они должны адаптироваться к определенным типам, определенным; std::not1 требуется объект-функция адаптируется иметь тип с именем
argument_type. Получение функциональных объектов, которые принимают один аргумент от unary_function простой способ, чтобы сделать их совместимыми с адаптерами.Original:
Some standard library function object adaptors, such as std::not1, require the function objects they adapt to have certain types defined; std::not1 requires the function object being adapted to have a type named
argument_type. Deriving function objects that take one argument from unary_function is an easy way to make them compatible with those adaptors.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
unary_function является устаревшим в C + +11. Его функциональность была сделана устаревшей std::function.Original:
unary_function is deprecated in C++11. Its functionality has been made obsolete by std::function.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[править] Член типов
| Type
Original: Type The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Definition |
argument_type
|
ArgumentType
|
result_type
|
ResultType
|
[править] Пример
#include <algorithm> #include <functional> #include <iostream> #include <vector> struct less_than_7 : std::unary_function<int, bool> { bool operator()(int i) const { return i < 7; } }; int main() { std::vector<int> v; for (int i = 0; i < 10; ++i) v.push_back(i); std::cout << std::count_if(v.begin(), v.end(), std::not1(less_than_7())); /* C++11 solution: // Cast to std::function<bool (int)> somehow - even with a lambda std::cout << std::count_if(v.begin(), v.end(), std::not1(std::function<bool (int)>([](int i){ return i < 7; })) ); */ }
Вывод:
3
[править] См. также
| (C++11) |
обертывания вызываемый объект любого типа с заданной подписью вызова функции Original: wraps callable object of any type with specified function call signature The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (шаблон класса) |
| (устарело) |
создает адаптер-совместимые функции объекта обертку от указателя на функцию Original: creates an adaptor-compatible function object wrapper from a pointer to function The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (шаблон функции) |
| (устарело) |
Адаптер-совместимая оболочка для указателя на унарные функции Original: adaptor-compatible wrapper for a pointer to unary function The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (шаблон класса) |
| (устарело) |
Адаптер-совместимых бинарной функции базового класса Original: adaptor-compatible binary function base class The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (шаблон класса) |