3rdParty/boost/1.78.0/libs/mpl/doc/refmanual/modulus.html
| Prev Next | Back Along | Up Home | Full TOC | Front Page / Metafunctions / Arithmetic Operations / modulus |
template<
typename T1
, typename T2
>
struct[modulus](./modulus.html){
typedef_unspecified_type;
};
Returns the modulus of its arguments.
#include <[boost/mpl/modulus.hpp](../../../../boost/mpl/modulus.hpp)>
#include <[boost/mpl/arithmetic.hpp](../../../../boost/mpl/arithmetic.hpp)>
| Parameter | Requirement | Description |
|---|---|---|
| T1, T2 | Integral Constant | Operation's arguments. |
[Note: The requirements listed in this specification are the ones imposed by the default implementation. See Numeric Metafunction concept for the details on how to provide an implementation for a user-defined numeric type that does not satisfy the Integral Constant requirements. — end note]
For any Integral Constants c1 and c2:
typedef[modulus](./modulus.html)<c1,c2>::type r;
| Return type: |
| | Precondition: |
c2::value != 0
| | Semantics: |
Equivalent to
typedef[integral\_c](./integral-c.html)<
typeof(c1::value % c2::value)
, ( c1::value % c2::value )
> r;
|
typedef[modulus](./modulus.html)<c1,c2> r;
| Return type: |
| | Precondition: |
c2::value != 0
| | Semantics: |
Equivalent to
struct r :[modulus](./modulus.html)<c1,c2>::type {};
|
Amortized constant time.
typedef[modulus](./modulus.html)<[int\_](./int.html)<10>,[long\_](./long.html)<3> >::type r;[BOOST\_MPL\_ASSERT\_RELATION](./assert-relation.html)( r::value, ==, 1 );[BOOST\_MPL\_ASSERT](./assert.html)(( is_same< r::[value\_type](./value-type.html), long > ));
Metafunctions, Numeric Metafunction, numeric_cast, divides, times, plus
| Prev Next | Back Along | Up Home | Full TOC |
Copyright © 2001-2009 Aleksey Gurtovoy and David Abrahams Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |