Go to the documentation of this file.
10 #ifndef vtk_m_TypeTraits_h
11 #define vtk_m_TypeTraits_h
85 #define VTKM_BASIC_REAL_TYPE(T) \
87 struct TypeTraits<T> \
89 using NumericTag = TypeTraitsRealTag; \
90 using DimensionalityTag = TypeTraitsScalarTag; \
91 VTKM_EXEC_CONT static T ZeroInitialization() { return T(); } \
94 #define VTKM_BASIC_INTEGER_TYPE(T) \
96 struct TypeTraits<T> \
98 using NumericTag = TypeTraitsIntegerTag; \
99 using DimensionalityTag = TypeTraitsScalarTag; \
100 VTKM_EXEC_CONT static T ZeroInitialization() \
102 using ReturnType = T; \
103 return ReturnType(); \
126 #undef VTKM_BASIC_REAL_TYPE
127 #undef VTKM_BASIC_INTEGER_TYPE
131 template <
typename T, vtkm::IdComponent Size>
146 template <
typename T>
158 template <
typename T>
170 template <
typename T,
typename U>
186 #endif //vtk_m_TypeTraits_h
static VTKM_EXEC_CONT vtkm::VecCConst< T > ZeroInitialization()
Definition: TypeTraits.h:153
static VTKM_EXEC_CONT vtkm::Vec< T, Size > ZeroInitialization()
Definition: TypeTraits.h:138
Tag used to identify types that store integer numbers.
Definition: TypeTraits.h:36
Groups connected points that have the same field value.
Definition: Atomic.h:19
The TypeTraits class provides helpful compile-time information about the basic types used in VTKm (an...
Definition: TypeTraits.h:61
#define VTKM_EXEC_CONT
Definition: ExportMacros.h:52
typename vtkm::TypeTraits< T >::NumericTag NumericTag
Definition: TypeTraits.h:161
#define VTKM_BASIC_INTEGER_TYPE(T)
Definition: TypeTraits.h:94
#define VTKM_BASIC_REAL_TYPE(T)
Definition: TypeTraits.h:85
Tag used to identify types that store real (floating-point) numbers.
Definition: TypeTraits.h:28
typename vtkm::TypeTraits< T >::NumericTag NumericTag
Definition: TypeTraits.h:149
A const version of VecC.
Definition: Types.h:1331
static VTKM_EXEC_CONT vtkm::Pair< T, U > ZeroInitialization()
Definition: TypeTraits.h:177
typename vtkm::TypeTraits< T >::NumericTag NumericTag
Definition: TypeTraits.h:134
Tag used to identify types that aren't Real, Integer, Scalar or Vector.
Definition: TypeTraits.h:20
Tag used to identify 0 dimensional types (scalars).
Definition: TypeTraits.h:44
Tag used to identify 1 dimensional types (vectors).
Definition: TypeTraits.h:51
A short fixed-length array.
Definition: Types.h:767
A Vec-like representation for short arrays.
Definition: Types.h:1237
static VTKM_EXEC_CONT vtkm::VecC< T > ZeroInitialization()
Definition: TypeTraits.h:165
A vtkm::Pair is essentially the same as an STL pair object except that the methods (constructors and ...
Definition: Pair.h:29
static VTKM_EXEC_CONT T ZeroInitialization()
Definition: TypeTraits.h:75