/*! * \file * Helper definitions for HDF5 handling */ #include "hdf5_helper.h" namespace { bool initialized = false; //!< Datastructures initialized ? } // namespace namespace hdf5 { template<> hid_t type_trait::type = H5T_NATIVE_DOUBLE; //!< HDF5 double template<> hid_t type_trait::type = H5T_NATIVE_FLOAT; //!< HDF5 float template<> hid_t type_trait::type = H5T_NATIVE_UINT64; //!< HDF5 uint64_t template<> hid_t type_trait::type = H5T_NATIVE_UINT; //!< HDF5 unsigned int template<> hid_t type_trait>::type = type_trait>::invalid; //!< HDF5 complex template<> hid_t type_trait>::type = type_trait>::invalid; //!< HDF5 complex void initialize() { if (! initialized) { type_trait>::type = create_complex_type(); type_trait>::type = create_complex_type(); } } void cleanup() { if (initialized) { h5type_trait::close(type_trait>::type); h5type_trait::close(type_trait>::type); } } }