template <class Predicate> unary_negate<Predicate> not1 (const Predicate& pred); |
template <class Predicate> unary_negate<Predicate> not1 (const Predicate& pred) { return unary_negate<Predicate>(pred); } |
// not1 example #include <iostream> // std::cout #include <functional> // std::not1 #include <algorithm> // std::count_if struct IsOdd { bool operator() (const int& x) const {return x%2==1;} typedef int argument_type; }; int main () { int values[] = {1,2,3,4,5}; int cx = std::count_if (values, values+5, std::not1(IsOdd())); std::cout << "There are " << cx << " elements with even values.\n"; return 0; } |
not2 | 返回二元函数对象的结果相反的二元函数对象(类模板) |
unary_negate | 对一元函数对象求反的类(类模板) |