/** \page rmf_types RMF data types The data types that can currently be stored in an \ref rmf "RMF File" are - \c Float: a 64 bit floating point value - \c String: an ASCII string - \c Int: a 64 bit integer - \c Index: a postive 64 bit index - \c NodeID: another node in the hierarchy In addition, an arbitrary length list of any of the above can be stored. The type for that is the type for the single data with an \c s on the end, eg \c Floats for a list of \c Float values. These are passed as \c std::vector like lists in \c C++ and \c lists in \c Python. Each data type has associated typedefs such as
Namerole
\c Floatthe type used to pass a floating point value
\c Floatsthe type used to pass a list of floating point values. It looks like an \c std::vector in \c C++ and a \c list in \c Python
\c FloatKeya RMF::Key used to identify a floating point value associated with a node in the RMF hierarchy
\c FloatsKeya RMF::Key used to identify a list of floating points value associated with a node in the RMF hierarchy
\c PairFloatKeya RMF::Key used to identify a floating point value associated with a pair of nodes in the RMF hierarchy
\c FloatTraitsa traits classes to tell HDF5 how to read and write one or more floating point values
\c FloatsTraitsa traits classes to tell HDF5 how to read and write one or more lists of floating point values
\c etc
\section traits_classes Traits classes The traits class for mapping between C++ types and HDF5 types. It defines - Type: the C++ type of the data to store - Types: the C++ type for more than one value of the data - static hid_t get_hdf5_type() - static void write_value_dataset(hid_t d, hid_t is, hid_t s, double v) - static Type read_value_dataset(hid_t d, hid_t is, hid_t sp) - static Types read_values_attribute(hid_t a, unsigned int size) - static void write_values_attribute(hid_t a, const Types &v) - static const Type& get_null_value() - static bool get_is_null_value(Type) - static std::string get_name() - static unsigned int get_index() Each type must be associated with a unique index. For the moment, the integers are - Int: 0 - Float: 1 - Index: 2 - String: 3 - NodeID: 4 - Char: 6 - array types are 10-20 - data set types are 20-30 This integers do not affect the rmf file on disk. */