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
  Close     Help