Skip to content. Skip to navigation

ICTP Portal

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

plus



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

plus


Function Object

Summary

A binary function object that returns the result of adding its first and second arguments.

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

None

Synopsis

#include <functional>

   template<class T>
   struct plus : public binary_function<T, T, T> ;

Description

plus is a binary function object. Its operator() returns the result of adding x and y. You can pass a plus object to any algorithm that uses a binary function. For example, the transform algorithm applies a binary operation to corresponding values in two collections and stores the result. plus would be used in that algorithm in the following manner:

vector<int> vec1;
vector<int> vec2;
vector<int> vecResult;
.
.
.
transform(vec1.begin(), vec1.end(),
          vec2.begin(),
          vecResult.begin(), plus<int>());

After this call to transform, vecResult(n) will contain vec1(n) plus vec2(n).

Interface

template<class T>
struct plus : binary_function<T, T, T> {
  typedef typename binary_function<T, T, T>::second_argument_type 
                                             second_argument_type;
  typedef typename binary_function<T, T, T>::first_argument_type 
                                             first_argument_type;
  typedef typename binary_function<T, T, T>::result_type result_type;
  T operator() (const T&, const T&) const;
};

Warning

If your compiler does not support default template parameters, you need to always supply the Allocator template argument. For instance, you will need to write :

vector<int, allocator<int> >

instead of :

vector<int>

See Also

binary_function, Function Objects


©Copyright 1996, Rogue Wave Software, Inc.


Powered by Plone This site conforms to the following standards: