![]() |
![]() ![]() ![]() ![]() |
![]() |
The MPL Reference Manual: modulusBoost , ,
|
||||||||||||||||||||||||||
| Front Page / Metafunctions / Arithmetic Operations / modulus |
Возвращает модуль своих аргументов.
#include <boost/mpl/modulus.hpp> #include <boost/mpl/arithmetic.hpp>
| Parameter | Requirement | Description |
|---|---|---|
| T1,T2 | Интегральная постоянная | Аргументы операции. |
[править]Примечание:Требования, перечисленные в этой спецификации, являются теми, которые налагаются реализацией по умолчанию. См.Концепция численной метафункциидля подробной информации о том, как обеспечить реализацию для определенного пользователем числового типа, который не удовлетворяет требованиямИнтегральная постоянная. —Конечная примечание
Для любогоИнтегральная постояннаяsc1и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 {}; |
Амортизированное постоянное время.
typedef modulus< int_<10>, long_<3> >::type r; BOOST_MPL_ASSERT_RELATION( r::value, ==, 1 ); BOOST_MPL_ASSERT(( is_same< r::value_type, long > ));
Статья The MPL Reference Manual: modulus раздела может быть полезна для разработчиков на c++ и boost.
:: Главная :: ::
реклама |