Top of document
©Copyright 1999 Rogue Wave Software

times


     Function Object

Summary

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

Contents

Synopsis

#include<functional>
template <class T>
struct times : 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;
};

Description

times is a binary function object. Its operator() returns the result of multiplying x and y. You can pass a times 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. times 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(), vec2.end(),
          vecResult.begin(), times<int>());

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

Warning

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

vector<int, allocator>

instead of :

vector<int>

See Also

binary_function, Function Objects


Top of document