hops
Classes | Namespaces | Macros | Enumerations | Functions
H5DataType.hpp File Reference
#include <vector>
#include "H5Object.hpp"
#include "bits/H5Utils.hpp"
#include "bits/H5DataType_misc.hpp"
Include dependency graph for H5DataType.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  HighFive::DataType
 HDF5 Data Type. More...
 
class  HighFive::AtomicType< T >
 create an HDF5 DataType from a C++ type More...
 
class  HighFive::CompoundType
 Create a compound HDF5 datatype. More...
 
struct  HighFive::CompoundType::member_def
 Use for defining a sub-type of compound type. More...
 
class  HighFive::EnumType< T >
 Create a enum HDF5 datatype. More...
 
struct  HighFive::EnumType< T >::member_def
 Use for defining a member of enum type. More...
 
class  HighFive::FixedLenStringArray< N >
 A structure representing a set of fixed-length strings. More...
 

Namespaces

 HighFive
 

Macros

#define HIGHFIVE_REGISTER_TYPE(type, function)
 Macro to extend datatype of HighFive. More...
 

Enumerations

enum  HighFive::DataTypeClass {
  HighFive::DataTypeClass::Time, HighFive::DataTypeClass::Integer, HighFive::DataTypeClass::Float, HighFive::DataTypeClass::String,
  HighFive::DataTypeClass::BitField, HighFive::DataTypeClass::Opaque, HighFive::DataTypeClass::Compound, HighFive::DataTypeClass::Reference,
  HighFive::DataTypeClass::Enum, HighFive::DataTypeClass::VarLen, HighFive::DataTypeClass::Array, HighFive::DataTypeClass::Invalid
}
 Enum of Fundamental data classes. More...
 

Functions

template<typename T >
DataType HighFive::create_datatype ()
 Create a DataType instance representing type T. More...
 
template<typename T >
DataType HighFive::create_and_check_datatype ()
 Create a DataType instance representing type T and perform a sanity check on its size. More...
 

Macro Definition Documentation

◆ HIGHFIVE_REGISTER_TYPE

#define HIGHFIVE_REGISTER_TYPE (   type,
  function 
)
Value:
namespace HighFive { \
template<> \
DataType create_datatype<type>() { \
return function(); \
} \
}

Macro to extend datatype of HighFive.

This macro has to be called outside of any namespace.

enum FooBar { FOO = 1, BAR = 2 };
EnumType create_enum_foobar() {
return EnumType<FooBar>({{"FOO", FooBar::FOO},
{"BAR", FooBar::BAR}});
}
HIGHFIVE_REGISTER_TYPE(FooBar, create_enum_foobar)
HIGHFIVE_REGISTER_TYPE
#define HIGHFIVE_REGISTER_TYPE(type, function)
Macro to extend datatype of HighFive.
Definition: H5DataType.hpp:361
HighFive
Definition: H5_definitions.hpp:15