10 #ifndef vtk_m_cont_SerializableTypeString_h
11 #define vtk_m_cont_SerializableTypeString_h
25 struct SerializableTypeString
26 #ifdef VTKM_DOXYGEN_ONLY
30 static std::string name =
"TypeName";
40 template <
typename T,
typename... Ts>
41 std::string GetVariadicSerializableTypeString(
const T&,
const Ts&... ts)
47 std::string GetVariadicSerializableTypeString(
const T&)
56 struct SerializableTypeString<
vtkm::
Int8>
60 static std::string name =
"I8";
66 struct SerializableTypeString<
vtkm::
UInt8>
70 static std::string name =
"U8";
76 struct SerializableTypeString<
vtkm::
Int16>
80 static std::string name =
"I16";
90 static std::string name =
"U16";
96 struct SerializableTypeString<
vtkm::
Int32>
100 static std::string name =
"I32";
110 static std::string name =
"U32";
116 struct SerializableTypeString<
vtkm::Int64>
120 static std::string name =
"I64";
126 struct SerializableTypeString<
vtkm::UInt64>
130 static std::string name =
"U64";
140 static std::string name =
"F32";
150 static std::string name =
"F64";
156 struct SerializableTypeString<bool>
160 static std::string name =
"B8";
166 struct SerializableTypeString<char>
170 static std::string name =
"C8";
176 struct SerializableTypeString<VTKM_UNUSED_INT_TYPE>
180 static std::string name =
"L" + std::to_string(
sizeof(VTKM_UNUSED_INT_TYPE) * 8);
186 struct SerializableTypeString<unsigned VTKM_UNUSED_INT_TYPE>
190 static std::string name =
"UL" + std::to_string(
sizeof(
unsigned VTKM_UNUSED_INT_TYPE) * 8);
195 template <
typename T, vtkm::IdComponent NumComponents>
196 struct SerializableTypeString<
vtkm::
Vec<T, NumComponents>>
200 static std::string name =
206 template <
typename T1,
typename T2>
207 struct SerializableTypeString<
vtkm::Pair<T1, T2>>
220 #endif // vtk_m_cont_SerializableTypeString_h