Man Page modulus.3



                       Standard C++ Library
             Copyright 1998, 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 x divided by y. You can pass a
     modulus object to any algorithm that requires a binary func-
     tion.  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).





INTERFACE

     template <class T>
     struct modulus : binary_function<T, T, T> {
      T operator() (const T&, const T&) const;
     };




WARNINGS

     If your compiler does not support default  template  parame-
     ters,  then you always need to supply the Allocator template
     argument. For instance, you need 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.





SEE ALSO

     binary_function, Function_Objects