Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Pusty bazowy struct definiujący typy, które mogą być dziedziczone przez klas pochodnych, która zawiera obiekt funkcji jednoargumentowe.
template<class Arg, class Result>
struct unary_function {
typedef Arg argument_type;
typedef Result result_type;
};
Uwagi
Struct szablonu służy jako podstawa dla klasy, które definiują funkcje elementów członkowskich formularza Typ_wynikuoperator()(constargument_type &) const.
Wszystkie takie funkcje jednoargumentowe pochodnych może odnosić się do ich jedyny argument typu jako argument_type i ich typ zwracany jako Typ_wyniku.
Przykład
// functional_unary_function.cpp
// compile with: /EHsc
#include <vector>
#include <functional>
#include <algorithm>
#include <iostream>
using namespace std;
// Creation of a user-defined function object
// that inherits from the unary_function base class
class greaterthan10: unary_function<int, bool>
{
public:
result_type operator()(argument_type i)
{
return (result_type)(i > 10);
}
};
int main()
{
vector<int> v1;
vector<int>::iterator Iter;
int i;
for (i = 0; i <= 5; i++)
{
v1.push_back(5 * i);
}
cout << "The vector v1 = ( " ;
for (Iter = v1.begin(); Iter != v1.end(); Iter++)
cout << *Iter << " ";
cout << ")" << endl;
vector<int>::iterator::difference_type result1;
result1 = count_if(v1.begin(), v1.end(), greaterthan10());
cout << "The number of elements in v1 greater than 10 is: "
<< result1 << "." << endl;
}
Wymagania
Nagłówek: <functional>
Obszar nazw: std