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