template<class T> struct logical_not : public unary_function<T, bool> { bool operator()(const T& x) const; };
The template class defines its member function as returning !x.
!x