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::value and U::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::value and U::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::value and U::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::value and U::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::value and U::type::value for equality. | |
template<integral T, integral U> | |
using | meta::greater = bool_<(T::type::value > U::type::value)> |
A Boolean integral constant wrapper around true if T::type::value is greater than U::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 true if T::type::value is greater than or equal to U::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 true if T::type::value is less than U::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 true if T::type::value is less than or equal to U::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::value and U::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::value and U::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::value and U::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::value and U::type::value for 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::value and U::type::value . | |
Integral constant arithmetic.