Library: General utilities
Header
The header <functional> is part of the General utilities library of the Standard C++ Library. It defines a number of function objects, helper function templates, and function adapters that are important for the effective use of the library.
namespace std { template <class Arg, class Result> struct unary_function; template <class Arg1, class Arg2, class Result> struct binary_function; template <class T> struct plus; template <class T> struct minus; template <class T> struct multiplies; template <class T> struct divides; template <class T> struct modulus; template <class T> struct negate; template <class T> struct equal_to; template <class T> struct not_equal_to; template <class T> struct greater; template <class T> struct less; template <class T> struct greater_equal; template <class T> struct less_equal; template <class T> struct logical_and; template <class T> struct logical_or; template <class T> struct logical_not; template <class Predicate> struct unary_negate; template <class Predicate> unary_negate<Predicate> not1(const Predicate&); template <class Predicate> struct binary_negate; template <class Predicate> binary_negate<Predicate> not2(const Predicate&); template <class Operation> class binder1st; template <class Operation, class T> binder1st<Operation> bind1st(const Operation&, const T&); template <class Operation> class binder2nd; template <class Operation, class T> binder2nd<Operation> bind2nd(const Operation&, const T&); template <class Arg, class Result> class pointer_to_unary_function; template <class Arg, class Result> pointer_to_unary_function<Arg, Result> ptr_fun(Result (*)(Arg)); template <class Arg1, class Arg2, class Result> class pointer_to_binary_function; template <class Arg1, class Arg2, class Result> pointer_to_binary_function<Arg1, Arg2, Result> ptr_fun(Result (*)(Arg1, Arg2)); template<class S, class T> class mem_fun_t; template<class S, class T, class A> class mem_fun1_t; template<class S, class T> mem_fun_t<S, T> mem_fun(S (T::*)()); template<class S, class T, class A> mem_fun1_t<S, T, A> mem_fun(S (T::*)(A)); template<class S, class T> class mem_fun_ref_t; template<class S, class T, class A> class mem_fun1_ref_t; template<class S, class T> mem_fun_ref_t<S, T> mem_fun_ref(S (T::*)()); template<class S, class T, class A> mem_fun1_ref_t<S, T, A> mem_fun_ref(S (T::*)(A)); template <class S, class T> class const_mem_fun_t; template <class S, class T, class A> class const_mem_fun1_t; template <class S, class T> const_mem_fun_t<S, T> mem_fun(S (T::*)() const); template <class S, class T, class A> const_mem_fun1_t<S, T, A> mem_fun(S (T::*)(A) const); template <class S, class T> class const_mem_fun_ref_t; template <class S, class T, class A> class const_mem_fun1_ref_t; template <class S, class T> const_mem_fun_ref_t<S, T> mem_fun_ref(S (T::*)() const); template <class S, class T, class A> const_mem_fun1_ref_t<S, T, A> mem_fun_ref(S (T::*)(A) const); }
binary_function, unary_function, plus, minus, multiplies, divides, modulus, negate, equal_to, not_equal_to, greater, less, greater_equal, less_equal, logical_and, logical_or, logical_not, Negators, unary_negate, not1(), binary_negate, not2(), bind1st(), bind2nd(), binder1st, binder2nd, pointer_to_unary_function, ptr_fun(), pointer_to_binary_function, mem_fun, mem_fun_ref
ISO/IEC 14882:1998 -- International Standard for Information Systems --Programming Language C++, Section 20.3