source:
downloads/boost_1_33_1/libs/mpl/doc/src/refmanual/modulus.rst
@
12
Last change on this file since 12 was 12, checked in by landauf, 18 years ago | |
---|---|
File size: 2.1 KB |
modulus
Synopsis
template< typename T1 , typename T2 > struct modulus { typedef |unspecified| type; };
Description
Returns the modulus of its arguments.
Header
#include <boost/mpl/modulus.hpp> #include <boost/mpl/arithmetic.hpp>
Model of
Parameters
Parameter | Requirement | Description |
---|---|---|
T1, T2 | |Integral Constant| | Operation's arguments. |
Expression semantics
For any |Integral Constant|s c1 and c2:
typedef modulus<c1,c2>::type r;
Return type: | |
---|---|
Precondition: | c2::value != 0 |
Semantics: | Equivalent to typedef integral_c< typeof(c1::value % c2::value) , ( c1::value % c2::value ) > r; |
typedef modulus<c1,c2> r;
Return type: | |
---|---|
Precondition: | c2::value != 0 |
Semantics: | Equivalent to struct r : modulus<c1,c2>::type {}; |
Complexity
Amortized constant time.
Example
typedef modulus< int_<10>, long_<3> >::type r; BOOST_MPL_ASSERT_RELATION( r::value, ==, 1 ); BOOST_MPL_ASSERT(( is_same< r::value_type, long > ));
See also
|Metafunctions|, |Numeric Metafunction|, |numeric_cast|, |divides|, |times|, |plus|
Note: See TracBrowser
for help on using the repository browser.