Rogue Wave banner
Previous fileTop of DocumentContentsIndex pageNext file
Standard C++ Library Module Reference Guide
Rogue Wave web site:  Home Page  |  Main Documentation Page

<functional>

Module:  Standard C++ Library   Library:  General utilities


Header

Local Index

No Entries

Summary

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.

Synopsis

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);
}

See Also

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

Standards Conformance

ISO/IEC 14882:1998 -- International Standard for Information Systems --Programming Language C++, Section 20.3



Previous fileTop of DocumentContentsIndex pageNext file

©2004 Copyright Quovadx, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Quovadx, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.