VMS Help CXXLSTD, Function Objects, modulus *Conan The Librarian |
Standard C++ Library Copyright 1996, Rogue Wave Software, Inc. NAME modulus - Returns the remainder obtained by dividing the first argument by the second argument. 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 object STANDARDS CONFORMANCE ANSI X3J16/ISO WG21 Joint C++ Committee
|