Library: General utilities
Does not inherit
A binary function object that returns the remainder obtained by dividing the first argument by the second argument
#include <functional>
namespace std {
template <class T>
struct modulus : public binary_function<T, T, T>;
}
modulus is a binary function object. Its operator() returns the remainder resulting from 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) contains the remainder of vec1(n) divided by vec2(n).
namespace std {
template <class T>
struct modulus : binary_function<T, T, T> {
T operator() (const T&, const T&) const;
};
}
binary_function, Function Objects
ISO/IEC 14882:1998 -- International Standard for Information Systems -- Programming Language C++, Section 20.3.2