|
template<typename T1 , typename T2 , typename... Ts> |
using | blaze::And = Bool< IsSame< Bools< true, T1::value, T2::value,(Ts::value)... >, Bools< T1::value, T2::value,(Ts::value)..., true > >::value > |
| Compile time logical 'and' evaluation.The And alias declaration performs at compile time a logical 'and' ('&&') evaluation of at least two compile time conditions: More...
|
|
template<bool C> |
using | blaze::Bool = IntegralConstant< bool, C > |
| Compile time integral constant wrapper for bool.The Bool class template represents an integral wrapper for a compile time constant expression of type bool. The value of a Bool can be accessed via the nested value (which is guaranteed to be of type bool), the type can be accessed via the nested type definition ValueType. More...
|
|
template<char N> |
using | blaze::Char = IntegralConstant< char, N > |
| Compile time integral constant wrapper for char.The Char class template represents an integral wrapper for a compile time constant expression of type char. The value of an Char can be accessed via the nested value (which is guaranteed to be of type char), the type can be accessed via the nested type definition ValueType. More...
|
|
template<typename T1 , typename T2 > |
using | blaze::Equal = Bool<(T1::value==T2::value) > |
| Compile time type comparison.The Equal alias declaration compares the two given types using the equality operator ('=='). In case T1::value is equal to T2::value, the nested value member is set to true. Otherwise it is set to false. More...
|
|
template<typename T1 , typename T2 > |
using | blaze::Greater = Bool<(T1::value > T2::value) > |
| Compile time type comparison.The Greater alias declaration compares the two given types using the greater-than operator ('>'). In case T1::value is greater than T2::value, the nested value member is set to 1. Otherwise it is set to 0. More...
|
|
template<int N> |
using | blaze::Int = IntegralConstant< int, N > |
| Compile time integral constant wrapper for int.The Int class template represents an integral wrapper for a compile time constant expression of type int. The value of an Int can be accessed via the nested value (which is guaranteed to be of type int), the type can be accessed via the nested type definition ValueType. More...
|
|
template<typename T1 , typename T2 > |
using | blaze::Less = Bool<(T1::value< T2::value) > |
| Compile time type comparison.The Less alias declaration compares the two given types using the less-than operator ('<'). In case T1::value is less than T2::value, the nested value member is set to 1. Otherwise it is set to 0. More...
|
|
template<long N> |
using | blaze::Long = IntegralConstant< long, N > |
| Compile time integral constant wrapper for long.The Long class template represents an integral wrapper for a compile time constant expression of type long. The value of an Long can be accessed via the nested value (which is guaranteed to be of type long), the type can be accessed via the nested type definition ValueType. More...
|
|
template<typename T1 , typename T2 > |
using | blaze::Maximum = If_t< Less< T1, T2 >::value, T2, T1 > |
| Compile time value evaluation.The Maximum alias declaration selects the larger of the two given template arguments T1 and T2. In order for Maximum to be able to determine the larger type, both arguments are required to have a nested member value. The result of the minimum operation can be accessed via the nested member value, the resulting type is available via the nested type ValueType. More...
|
|
template<typename T1 , typename T2 > |
using | blaze::Minimum = If_t< Less< T1, T2 >::value, T1, T2 > |
| Compile time value evaluation.The Minimum alias declaration selects the smaller of the two given template arguments T1 and T2. In order for Minimum to be able to determine the smaller type, both arguments are required to have a nested member value. The result of the minimum operation can be accessed via the nested member value, the resulting type is available via the nested type ValueType. More...
|
|
template<typename T1 , typename T2 > |
using | blaze::Minus = IntegralConstant< CommonType_t< typename T1::ValueType, typename T2::ValueType >,(T1::value - T2::value) > |
| Compile time integral subtraction.The Minus alias declaration returns the difference of the two given template arguments T1 and T2. In order for Minus to be able to subtract the two types, both arguments are required to have a nested member value. The result of the subtraction can be accessed via the nested member value, the resulting type is available via the nested type ValueType. More...
|
|
template<typename T1 , typename T2 > |
using | blaze::Modulus = IntegralConstant< CommonType_t< typename T1::ValueType, typename T2::ValueType >,(T1::value % T2::value) > |
| Compile time integral modulus operation.The Modulus alias declaration returns the result of a modulus operation between the two given template arguments T1 and T2. In order for Modulus to be able to perform the operation with the given two types, both arguments are required to have a nested member value. The result of the modulus operation can be accessed via the nested member value, the resulting type is available via the nested type ValueType. More...
|
|
template<typename T1 , typename T2 , typename... Ts> |
using | blaze::Nand = Bool< !IsSame< Bools< true, T1::value, T2::value,(Ts::value)... >, Bools< T1::value, T2::value,(Ts::value)..., true > >::value > |
| Compile time logical 'not and' evaluation.The Nand alias declaration performs at compile time a logical 'not and' evaluation of at least two compile time conditions: More...
|
|
template<typename T1 , typename T2 , typename... Ts> |
using | blaze::Nor = Bool< IsSame< Bools< false, T1::value, T2::value,(Ts::value)... >, Bools< T1::value, T2::value,(Ts::value)..., false > >::value > |
| Compile time logical 'not or' evaluation.The Nor alias declaration performs at compile time a logical 'not or' evaluation of at least two compile time conditions: More...
|
|
template<typename C > |
using | blaze::Not = Bool< !C::value > |
| Compile time type negation.The Not alias declaration negates the given compile time condition. In case the given condition would evaluate to true, the nested member enumeration is set to false and vice versa: More...
|
|
template<typename T1 , typename T2 , typename... Ts> |
using | blaze::Or = Bool< !IsSame< Bools< false, T1::value, T2::value,(Ts::value)... >, Bools< T1::value, T2::value,(Ts::value)..., false > >::value > |
| Compile time logical 'or' evaluation.The Or alias declaration performs at compile time a logical 'or' ('||') evaluation of at least two compile time conditions: More...
|
|
template<typename T1 , typename T2 > |
using | blaze::Plus = IntegralConstant< CommonType_t< typename T1::ValueType, typename T2::ValueType >,(T1::value+T2::value) > |
| Compile time integral addition.The Plus alias declaration returns the sum of the two given template arguments T1 and T2. In order for Plus to be able to add the two types, both arguments are required to have a nested member value. The result of the addition can be accessed via the nested member value, the resulting type is available via the nested type ValueType. More...
|
|
template<ptrdiff_t N> |
using | blaze::PtrdiffT = IntegralConstant< ptrdiff_t, N > |
| Compile time integral constant wrapper for ptrdiff_t.The PtrdiffT class template represents an integral wrapper for a compile time constant expression of type ptrdiff_t. The value of an PtrdiffT can be accessed via the nested value (which is guaranteed to be of type ptrdiff_t), the type can be accessed via the nested type definition ValueType. More...
|
|
template<size_t N> |
using | blaze::SizeT = IntegralConstant< size_t, N > |
| Compile time integral constant wrapper for size_t.The SizeT class template represents an integral wrapper for a compile time constant expression of type size_t. The value of an SizeT can be accessed via the nested value (which is guaranteed to be of type size_t), the type can be accessed via the nested type definition ValueType. More...
|
|
template<typename T1 , typename T2 > |
using | blaze::Times = IntegralConstant< CommonType_t< typename T1::ValueType, typename T2::ValueType >,(T1::value *T2::value) > |
| Compile time integral multiplication.The Times alias declaration returns the product of the two given template arguments T1 and T2. In order for Times to be able to multiply the two types, both arguments are required to have a nested member value. The result of the multiplication can be accessed via the nested member value, the resulting type is available via the nested type ValueType. More...
|
|
template<typename T1 , typename T2 > |
using | blaze::Xnor = Bool< !(T1::value ^ T2::value) > |
| Compile time logical 'not xor' evaluation.The Xnor alias declaration performs at compile time a logical 'not xor' evaluation of the two given compile time conditions: More...
|
|
template<typename T1 , typename T2 > |
using | blaze::Xor = Bool<(T1::value ^ T2::value) > |
| Compile time logical 'xor' evaluation.The Xor alias declaration performs at compile time a logical 'xor' evaluation of the two given compile time conditions: More...
|
|
|
template<typename T1 , typename T2 , typename... Ts> |
constexpr bool | blaze::And_v = And<T1,T2,Ts...>::value |
| Auxiliary variable template for the And alias.The And_v variable template provides a convenient shortcut to access the nested value of the And alias. For instance, given the types T1 and T2 the following two statements are identical: More...
|
|
template<typename T1 , typename T2 > |
constexpr bool | blaze::Equal_v = Equal<T1,T2>::value |
| Auxiliary variable template for the Equal alias.The Equal_v variable template provides a convenient shortcut to access the nested value of the Equal alias. For instance, given the types T1 and T2 the following two statements are identical: More...
|
|
template<typename T1 , typename T2 > |
constexpr bool | blaze::Greater_v = Greater<T1,T2>::value |
| Auxiliary variable template for the Greater alias.The Greater_v variable template provides a convenient shortcut to access the nested value of the Greater alias. For instance, given the types T1 and T2 the following two statements are identical: More...
|
|
template<typename T1 , typename T2 > |
constexpr bool | blaze::Less_v = Less<T1,T2>::value |
| Auxiliary variable template for the Less alias.The Less_v variable template provides a convenient shortcut to access the nested value of the Less alias. For instance, given the types T1 and T2 the following two statements are identical: More...
|
|
template<typename T1 , typename T2 , typename... Ts> |
constexpr bool | blaze::Nand_v = Nand<T1,T2,Ts...>::value |
| Auxiliary variable template for the Nand alias.The Nand_v variable template provides a convenient shortcut to access the nested value of the Nand alias. For instance, given the types T1 and T2 the following two statements are identical: More...
|
|
template<typename T1 , typename T2 , typename... Ts> |
constexpr bool | blaze::Nor_v = Nor<T1,T2,Ts...>::value |
| Auxiliary variable template for the Nor alias.The Nor_v variable template provides a convenient shortcut to access the nested value of the Nor alias. For instance, given the types T1 and T2 the following two statements are identical: More...
|
|
template<typename C > |
constexpr bool | blaze::Not_v = Not<C>::value |
| Auxiliary variable template for the Not alias.The Not_v variable template provides a convenient shortcut to access the nested value of the Not alias. For instance, given the type C the following two statements are identical: More...
|
|
template<typename T1 , typename T2 , typename... Ts> |
constexpr bool | blaze::Or_v = Or<T1,T2,Ts...>::value |
| Auxiliary variable template for the Or alias.The Or_v variable template provides a convenient shortcut to access the nested value of the Or alias. For instance, given the types T1 and T2 the following two statements are identical: More...
|
|
template<typename T1 , typename T2 > |
constexpr bool | blaze::Xnor_v = Xnor<T1,T2>::value |
| Auxiliary variable template for the Xnor alias.The Xnor_v variable template provides a convenient shortcut to access the nested value of the Xnor alias. For instance, given the types T1 and T2 the following two statements are identical: More...
|
|
template<typename T1 , typename T2 > |
constexpr bool | blaze::Xor_v = Xor<T1,T2>::value |
| Auxiliary variable template for the Xor alias.The Xor_v variable template provides a convenient shortcut to access the nested value of the Xor alias. For instance, given the types T1 and T2 the following two statements are identical: More...
|
|