.\" ident @(#)modulus.3 .\" Standard Template Library .\" $$RW_INSERT_HEADER "slyrs.man" .TH modulus 3C++ "02 Apr 1998" "Rogue Wave Software" "-" .ce2 Standard C++ Library Copyright 1998, Rogue Wave Software, Inc. .SH NAME \f2modulus\fP \ - Returns the remainder obtained by dividing the first argument by the second argument. .SH SYNOPSIS .br #include .br template .br struct modulus : public binary_function ; .SH DESCRIPTION modulus is a binary function object. Its \f2operator()\fP returns the remainder resulting from \f2x\fP divided by \f2y\fP. 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: .br vector vec1; .br vector vec2; .br vector vecResult; .br . .br . .br . .br transform(vec1.begin(), vec1.end(), .RE .RS 9 vec2.begin(), .br vecResult.begin(), modulus()); .RE After this call to transform, \f2vecResult(n)\fP contains the remainder of \f2vec1(n)\fP divided by \f2vec2(n)\fP. .SH INTERFACE .RE .RS 0 template .br struct modulus : binary_function { .RE .RS 1 T operator() (const T&, const T&) const; .RE .RS 0 }; .SH WARNINGS If your compiler does not support default template parameters, then you always need to supply the \f2Allocator\fP template argument. For instance, you need to write: \f2vector >\fP instead of \f2vector\fP If your compiler does not support namespaces, then you do not need the using declaration for \f2std\fP. .SH SEE ALSO binary_function, Function_Objects