Standard C++ Library Reference ISO/IEC (VERSION3)

The template class defines its member function as returning left && right.
logical_not
template<class Ty>
struct logical_not : public unary_function<Ty, bool> {
bool operator()(const Ty& left) const;
};
The template class defines its member function as returning !left.
logical_or
template<class Ty>
struct logical_or
: public binary_function<Ty, Ty, bool> {
bool operator()(const Ty& left, const Ty& right) const;
};
The template class defines its member function as returning left || right.
mem_fun
template<class Result, class Ty>
mem_fun_t<Result, Ty> mem_fun(Result (Ty::*pm)());
template<class Result, class Ty, class Arg>
mem_fun1_t<Result, Ty, Arg> mem_fun(Result (Ty::*pm)(Arg));
template<class Result, class Ty>
const_mem_fun_t<Result, Ty>
mem_fun(Result (Ty::*pm)() const);
template<class Result, class Ty, class Arg>
const_mem_fun1_t<Result, Ty, Arg>
mem_fun(Result (Ty::*pm)(Arg) const);
The template function returns pm cast to the return type.
mem_fun_ref
template<class Result, class Ty>
mem_fun_ref_t<Result, Ty> mem_fun_ref(Result (Ty::*pm)());
template<class Result, class Ty, class Arg>
mem_fun1_ref_t<Result, Ty, Arg> mem_fun_ref(Result (Ty::*pm)(Arg));
template<class Result, class Ty>
const_mem_fun_ref_t<Result, Ty> mem_fun_ref(Result (Ty::*pm)() const);
template<class Result, class Ty, class Arg>
const_mem_fun1_ref_t<Result, Ty, Arg> mem_fun_ref(Result (Ty::*pm)(Arg) const);
The template function returns pm cast to the return type.
mem_fun_t
template<class Result, class Ty>
struct mem_fun_t : public unary_function<Ty *, Result> {
explicit mem_fun_t(Result (Ty::*pm)());
Result operator()(Ty *pleft) const;