HighFive 2.9.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
 
 ~Object ()
 
bool isValid () const noexcept
 isValid
 
hid_t getId () const noexcept
 getId
 
ObjectInfo getInfo () const
 Retrieve several infos about the current object (address, dates, etc)
 
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)
 
- Protected Member Functions inherited from HighFive::Object
 Object ()
 
 Object (const Object &other)
 
 Object (hid_t)
 
Objectoperator= (const 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:488
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: