std::modulus(3)

NAME
std::modulus - std::modulus

Synopsis
   Defined in header <functional>
   template< class T > (until C++14)
   struct modulus;
   template< class T = void > (since C++14)
   struct modulus;
   Function object for computing remainders of divisions. Implements operator% for type
   T.

Specializations
   The standard library provides a specialization of std::modulus when T
   is not specified, which leaves the parameter types and return type to
   be deduced.
                        (since C++14)
   modulus<void> function object implementing x % y deducing argument and
   (C++14) return types
                 (class template specialization)

Member types
   Type Definition
   result_type (deprecated in C++17)(removed in C++20) T
   first_argument_type (deprecated in C++17)(removed in C++20) T
   second_argument_type (deprecated in C++17)(removed in C++20) T
   These member types are obtained via publicly inheriting (until C++11)
   std::binary_function<T, T, T>.

Member functions
              returns the remainder from the division of the first argument by the
   operator() second argument
              (public member function) std::modulus::operator()
   T operator()( const T& lhs, const T& rhs ) const; (until C++14)
   constexpr T operator()( const T& lhs, const T& rhs ) const; (since C++14)
   Returns the remainder of the division of lhs by rhs.

Parameters
   lhs, rhs - values to divide one by another

Return value
   The result of lhs % rhs.

Exceptions
   May throw implementation-defined exceptions.

Possible implementation
   constexpr T operator()(const T &lhs, const T &rhs) const
   {
       return lhs % rhs;
   }

See also
   fmod
   fmodf remainder of the floating point division operation
   fmodl (function)
   (C++11)
   (C++11)
   remainder
   remainderf
   remainderl signed remainder of the division operation
   (C++11) (function)
   (C++11)
   (C++11)