40 const std::type_info &typeInfo =
typeid(T);
42 if (VTKType != VTKDataType::UNDEFINED) {
47 int size = 8 *
sizeof(T);
50 VTKType = VTKDataType::Int8;
51 }
else if (size == 16) {
52 VTKType = VTKDataType::Int16;
53 }
else if (size == 32) {
54 VTKType = VTKDataType::Int32;
55 }
else if (size == 64) {
56 VTKType = VTKDataType::Int64;
58 }
else if (std::is_floating_point<T>::value) {
60 VTKType = VTKDataType::Float32;
61 }
else if (size == 64) {
62 VTKType = VTKDataType::Float64;
64 }
else if (std::is_integral<T>::value) {
65 if (!std::is_signed<T>::value) {
67 VTKType = VTKDataType::UInt8;
68 }
else if (size == 16) {
69 VTKType = VTKDataType::UInt16;
70 }
else if (size == 32) {
71 VTKType = VTKDataType::UInt32;
72 }
else if (size == 64) {
73 VTKType = VTKDataType::UInt64;
77 VTKType = VTKDataType::Int8;
78 }
else if (size == 16) {
79 VTKType = VTKDataType::Int16;
80 }
else if (size == 32) {
81 VTKType = VTKDataType::Int32;
82 }
else if (size == 64) {
83 VTKType = VTKDataType::Int64;
87 assert(VTKType != VTKDataType::UNDEFINED);
89 return registerType<T>(VTKType);
116template<typename T, int nesting, typename std::enable_if<std::is_pod<T>::value&&!utils::is_iterable<T>::value>::type*>