Man Page binary_function.3

                       Standard C++ Library
             Copyright 1998, Rogue Wave Software, Inc.



      - Base class for creating binary function objects.


     #include <functional>
     template <class Arg1, class Arg2, class Result>
        struct binary_function{
             typedef Arg1 first_argument_type;
             typedef Arg2 second_argument_type;
             typedef Result result_type;


     Function objects are objects  with  an  operator()  defined.
     They  are  important  for  the effective use of the standard
     library's generic algorithms, because the interface for each
     algorithmic  template  can  accept  either an object with an
     operator() defined or a pointer to a function. The  Standard
     C++  Library  includes  both  a  standard  set  of  function
     objects, and a pair of classes that you can use as the  base
     for creating your own function objects.

     Function objects that take two arguments are  called  binary
     function  objects.  Binary  function objects are required to
     include       the       typedefs        first_argument_type,
     second_argument_type,  and  result_type. The binary_function
     class makes the task of creating templatized binary function
     objects  easier  by  including  the necessary typedefs for a
     binary function object. You can create your own binary func-
     tion objects by inheriting from binary_function.


     Function_Objects, unary_function, the Function Objects  sec-
     tion of the User's Guide.