Personal tools
modulus
Click on the banner to return to the class reference home page.
modulus
Function Object
Summary
Returns the remainder obtained by dividing the first argument by the second argument.
Data Type and Member Function Indexes
(exclusive of constructors and destructors)
None
Synopsis
#include<functional> template <class T> struct modulus : public binary_function<T, T, T> ;
Description
modulus is a binary function object. Its operator() returns the remainder resulting from of x divided by y. You can pass a modulus object to any algorithm that requires a binary function. For example, the transform algorithm applies a binary operation to corresponding values in two collections and stores the result. modulus 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(), modulus<int>());
After this call to transform, vecResult(n) will contain the remainder of vec1(n) divided by vec2(n).
Interface
template <class T> struct modulus : binary_function<T, T, T> { typedef typename binary_function<T, T, T>::second_argument_type n 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, then 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.