Skip to content. Skip to navigation

ICTP Portal

You are here: Home Manuals on-line PGI Compiler pgC_lib binary_function
Personal tools
Document Actions


Click on the banner to return to the class reference home page.


Function Object


Base class for creating binary function objects.

Data Type and Member Function Indexes
(exclusive of constructors and destructors)



#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 provides 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 provide the typedefs first_argument_type, second_argument_type, and result_type. The binary_function class makes the task of creating templated binary function objects easier by providing the necessary typedefs for a binary function object. You can create your own binary function objects by inheriting from binary_function.

See Also

Function Objects, unary_function, the Function Objects section of the User's Guide.

©Copyright 1996, Rogue Wave Software, Inc.

Powered by Plone This site conforms to the following standards: