HighFive 3.0.0
HighFive - Header-only C++ HDF5 interface
Loading...
Searching...
No Matches
HighFive::EnumType< T > Class Template Reference

Create a enum HDF5 datatype. More...

#include <H5DataType.hpp>

Inheritance diagram for HighFive::EnumType< T >:
Collaboration diagram for HighFive::EnumType< T >:

Classes

struct  member_def
 Use for defining a member of enum type. More...
 

Public Member Functions

 EnumType (const EnumType &other)=default
 
 EnumType (const std::vector< member_def > &t_members)
 
 EnumType (std::initializer_list< member_def > t_members)
 
void commit (const Object &object, const std::string &name) const
 Commit datatype into the given Object.
 
- Public Member Functions inherited from HighFive::DataType
bool operator== (const DataType &other) const
 
bool operator!= (const DataType &other) const
 
DataTypeClass getClass () const
 Return the fundamental type.
 
size_t getSize () const
 Returns the length (in bytes) of this type elements.
 
std::string string () const
 Returns a friendly description of the type (e.g. Float32)
 
bool isVariableStr () const
 Returns whether the type is a variable-length string.
 
bool isFixedLenStr () const
 Returns whether the type is a fixed-length string.
 
StringType asStringType () const
 Returns this datatype as a StringType.
 
bool empty () const noexcept
 Check the DataType was default constructed.
 
bool isReference () const
 Returns whether the type is a Reference.
 
DataTypeCreateProps getCreatePropertyList () const
 Get the list of properties for creation of this DataType.
 
- Public Member Functions inherited from HighFive::Object
 Object (Object &&other) noexcept
 
bool isValid () const noexcept
 isValid
 
hid_t getId () const noexcept
 getId
 
ObjectInfo getInfo () const
 Retrieve several infos about the current object (address, dates, etc)
 
haddr_t getAddress () const
 Address of an HDF5 object in the file.
 
ObjectType getType () const
 Gets the fundamental type of the object (dataset, group, etc)
 
bool operator== (const Object &other) const noexcept
 

Additional Inherited Members

- Protected Member Functions inherited from HighFive::DataType
 Object (Object &&other) noexcept
 
 Object ()
 
 Object (const Object &other)
 
 Object (hid_t) noexcept
 
- Protected Member Functions inherited from HighFive::Object
 Object ()
 
 Object (const Object &other)
 
 Object (hid_t) noexcept
 
 ~Object ()
 
Objectoperator= (const Object &other)
 
Objectoperator= (Object &&other)
 
- Protected Attributes inherited from HighFive::Object
hid_t _hid
 

Detailed Description

template<typename T>
class HighFive::EnumType< T >

Create a enum HDF5 datatype.

enum class Position {
FIRST = 1,
SECOND = 2,
};
EnumType<Position> create_enum_position() {
return {{"FIRST", Position::FIRST},
{"SECOND", Position::SECOND}};
}
// You have to register the type inside HighFive
HIGHFIVE_REGISTER_TYPE(Position, create_enum_position)
void write_first(H5::File& file) {
auto dataset = file.createDataSet("/foo", Position::FIRST);
}
#define HIGHFIVE_REGISTER_TYPE(type, function)
Macro to extend datatype of HighFive.
Definition H5DataType.hpp:361
Create a enum HDF5 datatype.
Definition H5DataType.hpp:296

Constructor & Destructor Documentation

◆ EnumType() [1/3]

template<typename T >
HighFive::EnumType< T >::EnumType ( const EnumType< T > &  other)
default

◆ EnumType() [2/3]

template<typename T >
HighFive::EnumType< T >::EnumType ( const std::vector< member_def > &  t_members)
inline

◆ EnumType() [3/3]

template<typename T >
HighFive::EnumType< T >::EnumType ( std::initializer_list< member_def t_members)
inline

Member Function Documentation

◆ commit()

template<typename T >
void HighFive::EnumType< T >::commit ( const Object object,
const std::string &  name 
) const
inline

Commit datatype into the given Object.

Parameters
objectLocation to commit object into
nameName to give the datatype

The documentation for this class was generated from the following files: