Function Object
A binary function object that returns the result of multiplying its first and second arguments.
None
#include<functional> template <class T> struct multiplies : binary_function<T, T, T> { T operator() (const T&, const T&) const; };
multiplies is a binary function object. Its operator() returns the result of multiplying x and y. You can pass a multiplies 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. multiplies 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(), multiplies<int>());
After this call to transform, vecResult(n) contains vec1(n) times vec2(n).
If your compiler does not support default template parameters, then you always need to supply the Allocator template argument. For instance, you have to write:
vector<int, allocator<int> >
instead of:
vector<int>
If your compiler does not support namespaces, then you do not need the using declaration for std.
binary_function, Function Objects