alpaka
Abstraction Library for Parallel Kernel Acceleration
|
#include <type_traits>
Go to the source code of this file.
Namespaces | |
alpaka | |
The alpaka accelerator library. | |
alpaka::meta | |
Typedefs | |
template<typename T0 , typename T1 > | |
using | alpaka::meta::HigherMax = std::conditional_t<(sizeof(T0) > sizeof(T1)), T0, std::conditional_t<((sizeof(T0)==sizeof(T1)) &&std::is_unsigned_v< T0 > &&std::is_signed_v< T1 >), T0, T1 > > |
The type that has the higher max value. More... | |
template<typename T0 , typename T1 > | |
using | alpaka::meta::HigherMin = std::conditional_t<(std::is_unsigned_v< T0 >==std::is_unsigned_v< T1 >), std::conditional_t< std::is_unsigned_v< T0 >, std::conditional_t<(sizeof(T0)< sizeof(T1)), T1, T0 >, std::conditional_t<(sizeof(T0)< sizeof(T1)), T0, T1 > >, std::conditional_t< std::is_unsigned_v< T0 >, T0, T1 > > |
The type that has the higher min value. If both types have the same min value, the type with the wider range is chosen. More... | |
template<typename TSuperset , typename TSubset > | |
using | alpaka::meta::IsIntegralSuperset = std::integral_constant< bool, std::is_integral_v< TSuperset > &&std::is_integral_v< TSubset > &&(((std::is_unsigned_v< TSuperset >==std::is_unsigned_v< TSubset >) &&(sizeof(TSuperset) >=sizeof(TSubset)))||((std::is_unsigned_v< TSuperset > !=std::is_unsigned_v< TSubset >) &&(sizeof(TSuperset) > sizeof(TSubset))))> |
The trait is true if all values of TSubset are contained in TSuperset. More... | |
template<typename T0 , typename T1 > | |
using | alpaka::meta::LowerMax = std::conditional_t<(sizeof(T0)< sizeof(T1)), T0, std::conditional_t<((sizeof(T0)==sizeof(T1)) &&std::is_signed_v< T0 > &&std::is_unsigned_v< T1 >), T0, T1 > > |
The type that has the lower max value. More... | |
template<typename T0 , typename T1 > | |
using | alpaka::meta::LowerMin = std::conditional_t<(std::is_unsigned_v< T0 >==std::is_unsigned_v< T1 >), std::conditional_t<(sizeof(T0) > sizeof(T1)), T0, T1 >, std::conditional_t< std::is_signed_v< T0 >, T0, T1 > > |
The type that has the lower min value. If both types have the same min value, the type with the wider range is chosen. More... | |