![]() |
Blaze 3.9
|
Classes | |
struct | blaze::Bools<... > |
Auxiliary tool for unwrapping a pack of variadic boolean values. More... | |
struct | blaze::If< Condition > |
Compile time type selection. More... | |
Typedefs | |
template<typename T1 , typename T2 , typename... Ts> | |
using | blaze::And_t = Bool_t< IsSame< Bools< true, T1::value, T2::value,(Ts::value)... >, Bools< T1::value, T2::value,(Ts::value)..., true > >::value > |
Compile time logical AND evaluation. More... | |
template<typename T1 , typename T2 > | |
using | blaze::Equal_t = Bool_t<(T1::value==T2::value) > |
Compile time type comparison. More... | |
template<typename T1 , typename T2 > | |
using | blaze::Greater_t = Bool_t<(T1::value > T2::value) > |
Compile time type comparison. More... | |
template<typename T1 , typename T2 > | |
using | blaze::Less_t = Bool_t<(T1::value< T2::value) > |
Compile time type comparison. More... | |
template<typename T1 , typename T2 > | |
using | blaze::Max_t = If_t< Less_t< T1, T2 >::value, T2, T1 > |
Compile time value evaluation. More... | |
template<typename T1 , typename T2 > | |
using | blaze::Min_t = If_t< Less_t< T1, T2 >::value, T1, T2 > |
Compile time value evaluation. More... | |
template<typename T1 , typename T2 > | |
using | blaze::Minus_t = IntegralConstant< CommonType_t< typename T1::ValueType, typename T2::ValueType >,(T1::value - T2::value) > |
Compile time integral subtraction. More... | |
template<typename T1 , typename T2 > | |
using | blaze::Modulo_t = IntegralConstant< CommonType_t< typename T1::ValueType, typename T2::ValueType >,(T1::value % T2::value) > |
Compile time integral modulo operation. More... | |
template<typename T1 , typename T2 , typename... Ts> | |
using | blaze::Nand_t = Bool_t< !IsSame< Bools< true, T1::value, T2::value,(Ts::value)... >, Bools< T1::value, T2::value,(Ts::value)..., true > >::value > |
Compile time logical NAND evaluation. More... | |
template<typename T1 , typename T2 , typename... Ts> | |
using | blaze::Nor_t = Bool_t< IsSame< Bools< false, T1::value, T2::value,(Ts::value)... >, Bools< T1::value, T2::value,(Ts::value)..., false > >::value > |
Compile time logical 'not or' evaluation. More... | |
template<typename C > | |
using | blaze::Not_t = Bool_t< !C::value > |
Compile time type negation. More... | |
template<typename T1 , typename T2 , typename... Ts> | |
using | blaze::Or_t = Bool_t< !IsSame< Bools< false, T1::value, T2::value,(Ts::value)... >, Bools< T1::value, T2::value,(Ts::value)..., false > >::value > |
Compile time logical OR evaluation. More... | |
template<typename T1 , typename T2 > | |
using | blaze::Plus_t = IntegralConstant< CommonType_t< typename T1::ValueType, typename T2::ValueType >,(T1::value+T2::value) > |
Compile time integral addition. More... | |
template<typename T1 , typename T2 > | |
using | blaze::Times_t = IntegralConstant< CommonType_t< typename T1::ValueType, typename T2::ValueType >,(T1::value *T2::value) > |
Compile time integral multiplication. More... | |
template<typename T1 , typename T2 > | |
using | blaze::Xor_t = Bool_t<(T1::value ^ T2::value) > |
Compile time bitwise XOR evaluation. More... | |
Variables | |
template<typename T1 , typename T2 , typename... Ts> | |
constexpr bool | blaze::And_v = And_t<T1,T2,Ts...>::value |
Auxiliary variable template for the And_t alias. More... | |
template<typename T1 , typename T2 > | |
constexpr bool | blaze::Equal_v = Equal_t<T1,T2>::value |
Auxiliary variable template for the Equal_t alias. More... | |
template<typename T1 , typename T2 > | |
constexpr bool | blaze::Greater_v = Greater_t<T1,T2>::value |
Auxiliary variable template for the Greater_t alias. More... | |
template<typename T1 , typename T2 > | |
constexpr bool | blaze::Less_v = Less_t<T1,T2>::value |
Auxiliary variable template for the Less_t alias. More... | |
template<typename T1 , typename T2 , typename... Ts> | |
constexpr bool | blaze::Nand_v = Nand_t<T1,T2,Ts...>::value |
Auxiliary variable template for the Nand_t alias. More... | |
template<typename T1 , typename T2 , typename... Ts> | |
constexpr bool | blaze::Nor_v = Nor_t<T1,T2,Ts...>::value |
Auxiliary variable template for the Nor_t alias. More... | |
template<typename C > | |
constexpr bool | blaze::Not_v = Not_t<C>::value |
Auxiliary variable template for the Not_t alias. More... | |
template<typename T1 , typename T2 , typename... Ts> | |
constexpr bool | blaze::Or_v = Or_t<T1,T2,Ts...>::value |
Auxiliary variable template for the Or_t alias. More... | |
template<typename T1 , typename T2 > | |
constexpr bool | blaze::Xor_v = Xor_t<T1,T2>::value |
Auxiliary variable template for the Xor_t alias. More... | |
using blaze::And_t = typedef Bool_t< 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_t alias template performs at compile time a logical AND ('&&') evaluation of at least two compile time conditions:
using blaze::Equal_t = typedef Bool_t< ( T1::value == T2::value ) > |
Compile time type comparison.
The Equal_t alias template 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.
using blaze::Greater_t = typedef Bool_t< ( T1::value > T2::value ) > |
Compile time type comparison.
The Greater_t alias template 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.
using blaze::Less_t = typedef Bool_t< ( T1::value < T2::value ) > |
Compile time type comparison.
The Less_t alias template 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.
using blaze::Max_t = typedef If_t< Less_t<T1,T2>::value, T2, T1 > |
Compile time value evaluation.
The Max_t alias template selects the larger of the two given template arguments T1 and T2. In order for Max_t 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.
using blaze::Min_t = typedef If_t< Less_t<T1,T2>::value, T1, T2 > |
Compile time value evaluation.
The Min_t alias template selects the smaller of the two given template arguments T1 and T2. In order for Min_t 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.
using blaze::Minus_t = typedef IntegralConstant< CommonType_t< typename T1::ValueType, typename T2::ValueType > , ( T1::value - T2::value ) > |
Compile time integral subtraction.
The Minus_t alias template returns the difference of the two given template arguments T1 and T2. In order for Minus_t 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.
using blaze::Modulo_t = typedef IntegralConstant< CommonType_t< typename T1::ValueType, typename T2::ValueType > , ( T1::value % T2::value ) > |
Compile time integral modulo operation.
The Modulo_t alias template returns the result of a modulo operation between the two given template arguments T1 and T2. In order for Modulo_t 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 modulo operation can be accessed via the nested member value, the resulting type is available via the nested type ValueType.
using blaze::Nand_t = typedef Bool_t< !IsSame< Bools< true, T1::value, T2::value, (Ts::value)... > , Bools< T1::value, T2::value, (Ts::value)..., true > >::value > |
Compile time logical NAND evaluation.
The Nand_t alias template performs at compile time a logical NAND evaluation of at least two compile time conditions:
using blaze::Nor_t = typedef Bool_t< 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_t alias template performs at compile time a logical 'not or' evaluation of at least two compile time conditions:
using blaze::Not_t = typedef Bool_t< !C::value > |
Compile time type negation.
The Not_t alias template 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:
using blaze::Or_t = typedef Bool_t< !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_t alias template performs at compile time a logical OR ('||') evaluation of at least two compile time conditions:
using blaze::Plus_t = typedef IntegralConstant< CommonType_t< typename T1::ValueType, typename T2::ValueType > , ( T1::value + T2::value ) > |
Compile time integral addition.
The Plus_t alias template returns the sum of the two given template arguments T1 and T2. In order for Plus_t 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.
using blaze::Times_t = typedef IntegralConstant< CommonType_t< typename T1::ValueType, typename T2::ValueType > , ( T1::value * T2::value ) > |
Compile time integral multiplication.
The Times_t alias template returns the product of the two given template arguments T1 and T2. In order for Times_t 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.
using blaze::Xor_t = typedef Bool_t< ( T1::value ^ T2::value ) > |
Compile time bitwise XOR evaluation.
The Xor_t alias template performs at compile time a bitwise XOR evaluation of the two given compile time conditions:
|
constexpr |
Auxiliary variable template for the And_t alias.
The And_v variable template provides a convenient shortcut to access the nested value of the And_t alias. For instance, given the types T1 and T2 the following two statements are identical:
|
constexpr |
Auxiliary variable template for the Equal_t alias.
The Equal_v variable template provides a convenient shortcut to access the nested value of the Equal_t alias. For instance, given the types T1 and T2 the following two statements are identical:
|
constexpr |
Auxiliary variable template for the Greater_t alias.
The Greater_v variable template provides a convenient shortcut to access the nested value of the Greater_t alias. For instance, given the types T1 and T2 the following two statements are identical:
|
constexpr |
Auxiliary variable template for the Less_t alias.
The Less_v variable template provides a convenient shortcut to access the nested value of the Less_t alias. For instance, given the types T1 and T2 the following two statements are identical:
|
constexpr |
Auxiliary variable template for the Nand_t alias.
The Nand_v variable template provides a convenient shortcut to access the nested value of the Nand_t alias. For instance, given the types T1 and T2 the following two statements are identical:
|
constexpr |
Auxiliary variable template for the Nor_t alias.
The Nor_v variable template provides a convenient shortcut to access the nested value of the Nor_t alias. For instance, given the types T1 and T2 the following two statements are identical:
|
constexpr |
Auxiliary variable template for the Not_t alias.
The Not_v variable template provides a convenient shortcut to access the nested value of the Not_t alias. For instance, given the type C the following two statements are identical:
|
constexpr |
Auxiliary variable template for the Or_t alias.
The Or_v variable template provides a convenient shortcut to access the nested value of the Or_t alias. For instance, given the types T1 and T2 the following two statements are identical:
|
constexpr |
Auxiliary variable template for the Xor_t alias.
The Xor_v variable template provides a convenient shortcut to access the nested value of the Xor_t alias. For instance, given the types T1 and T2 the following two statements are identical: