45 #ifndef _INCLUDED_Field3D_Traits_H_ 46 #define _INCLUDED_Field3D_Traits_H_ 87 template <
class Data_T>
103 return typeid(T).name();
106 static hid_t h5type();
115 template <
class Field_T>
120 return m_name.c_str();
124 m_name = Field_T::staticClassName();
139 template <
typename Field_T>
144 return m_name.c_str();
148 typedef typename Field_T::NestedType NestedType;
149 typedef typename NestedType::value_type value_type;
151 m_name = Field_T::staticClassName();
153 std::string(
"<") + NestedType::staticClassName() +
"<" +
164 #define FIELD3D_DECL_DATATYPENAME(typeName) \ 166 inline std::string DataTypeTraits<typeName>::name() \ 168 return std::string(#typeName); \ 249 return H5T_NATIVE_SHORT;
257 return H5T_NATIVE_FLOAT;
265 return H5T_NATIVE_DOUBLE;
273 return H5T_NATIVE_CHAR;
281 return H5T_NATIVE_UCHAR;
289 return H5T_NATIVE_INT;
297 return H5T_NATIVE_SHORT;
305 return H5T_NATIVE_FLOAT;
313 return H5T_NATIVE_DOUBLE;
370 #endif // Include guard #define FIELD3D_NAMESPACE_HEADER_CLOSE
Contains typedefs for the commonly used types in Field3D.
static int dataDims()
Dimensions of the given data type. i.e. 3 for V3f, 1 for float.
static std::string name()
static DataTypeEnum typeEnum()
Contains the Log class which can be used to redirect output to an arbitrary destination.
FIELD3D_NAMESPACE_OPEN typedef::half half
#define FIELD3D_DECL_DATATYPENAME(typeName)
Used to return a string for the name of a templated field.
Used to return a string for the name of a nested templated field.