unary_negate example int main() { vector v; for(int i = 0; i < 10; ++i) v.push_back(i); vector::iterator vi = find_if( v.begin(), v.end(), not1(bind2nd(greater(), 5))); cout << "Match found at position: " << vi - v.begin() << '\n'; }