Integral constant arithmetic. More...
| Modules | |
| lazy | |
| Typedefs | |
| template<integral T, integral U> | |
| using | meta::bit_and = std::integral_constant< decltype(T::type::value &U::type::value), T::type::value &U::type::value > | 
| An integral constant wrapper around the result of bitwise-and'ing the two wrapped integers T::type::valueandU::type::value. | |
| template<integral T> | |
| using | meta::bit_not = std::integral_constant< decltype(~T::type::value), ~T::type::value > | 
| An integral constant wrapper around the result of bitwise-complementing the wrapped integer T::type::value. | |
| template<integral T, integral U> | |
| using | meta::bit_or = std::integral_constant< decltype(T::type::value|U::type::value), T::type::value|U::type::value > | 
| An integral constant wrapper around the result of bitwise-or'ing the two wrapped integers T::type::valueandU::type::value. | |
| template<integral T, integral U> | |
| using | meta::bit_xor = std::integral_constant< decltype(T::type::value ^ U::type::value), T::type::value ^ U::type::value > | 
| An integral constant wrapper around the result of bitwise-exclusive-or'ing the two wrapped integers T::type::valueandU::type::value. | |
| template<integral T, integral U> | |
| using | meta::divides = std::integral_constant< decltype(T::type::value/U::type::value), T::type::value/U::type::value > | 
| An integral constant wrapper around the result of dividing the two wrapped integers T::type::valueandU::type::value. | |
| template<integral T, integral U> | |
| using | meta::equal_to = bool_< T::type::value==U::type::value > | 
| A Boolean integral constant wrapper around the result of comparing T::type::valueandU::type::valuefor equality. | |
| template<integral T, integral U> | |
| using | meta::greater = bool_<(T::type::value > U::type::value)> | 
| A Boolean integral constant wrapper around trueifT::type::valueis greater thanU::type::value;false, otherwise. | |
| template<integral T, integral U> | |
| using | meta::greater_equal = bool_<(T::type::value >=U::type::value)> | 
| A Boolean integral constant wrapper around trueifT::type::valueis greater than or equal toU::type::value;false, otherwise. | |
| template<integral T, integral U> | |
| using | meta::less = bool_<(T::type::value< U::type::value)> | 
| A Boolean integral constant wrapper around trueifT::type::valueis less thanU::type::value;false, otherwise. | |
| template<integral T, integral U> | |
| using | meta::less_equal = bool_<(T::type::value<=U::type::value)> | 
| A Boolean integral constant wrapper around trueifT::type::valueis less than or equal toU::type::value;false, otherwise. | |
| template<integral ... Ts> | |
| using | meta::max_ = fold< pop_front< list< Ts... > >, front< list< Ts... > >, quote< detail::max_ > > | 
| An integral constant wrapper around the maximum of Ts::type::value... | |
| template<integral ... Ts> | |
| using | meta::min_ = fold< pop_front< list< Ts... > >, front< list< Ts... > >, quote< detail::min_ > > | 
| An integral constant wrapper around the minimum of Ts::type::value... | |
| template<integral T, integral U> | |
| using | meta::minus = std::integral_constant< decltype(T::type::value - U::type::value), T::type::value - U::type::value > | 
| An integral constant wrapper around the result of subtracting the two wrapped integers T::type::valueandU::type::value. | |
| template<integral T, integral U> | |
| using | meta::modulus = std::integral_constant< decltype(T::type::value % U::type::value), T::type::value % U::type::value > | 
| An integral constant wrapper around the remainder of dividing the two wrapped integers T::type::valueandU::type::value. | |
| template<integral T, integral U> | |
| using | meta::multiplies = std::integral_constant< decltype(T::type::value *U::type::value), T::type::value *U::type::value > | 
| An integral constant wrapper around the result of multiplying the two wrapped integers T::type::valueandU::type::value. | |
| template<integral T> | |
| using | meta::negate = std::integral_constant< decltype(-T::type::value), -T::type::value > | 
| An integral constant wrapper around the result of negating the wrapped integer T::type::value. | |
| template<integral T, integral U> | |
| using | meta::not_equal_to = bool_< T::type::value !=U::type::value > | 
| A Boolean integral constant wrapper around the result of comparing T::type::valueandU::type::valuefor inequality. | |
| template<integral T, integral U> | |
| using | meta::plus = std::integral_constant< decltype(T::type::value+U::type::value), T::type::value+U::type::value > | 
| An integral constant wrapper around the result of adding the two wrapped integers T::type::valueandU::type::value. | |
Integral constant arithmetic.