diff options
Diffstat (limited to 'c++/src/H5EnumType.h')
-rw-r--r-- | c++/src/H5EnumType.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/c++/src/H5EnumType.h b/c++/src/H5EnumType.h new file mode 100644 index 0000000..92583aa --- /dev/null +++ b/c++/src/H5EnumType.h @@ -0,0 +1,51 @@ +#ifndef _H5EnumType_H +#define _H5EnumType_H + +#ifndef H5_NO_NAMESPACE +namespace H5 { +#endif + +class EnumType : public DataType { + + public: + // Creates an empty enumeration datatype based on a native signed + // integer type, whose size is given by size. + EnumType( size_t size ); + + // Default constructor + EnumType(); + + // Creates an enumeration datatype using an existing id + EnumType( hid_t existing_id ); + + // Copy constructor: makes a copy of the original EnumType object. + EnumType( const EnumType& original ); + + // Gets the enum datatype of the specified dataset + EnumType( const DataSet& dataset ); // H5Dget_type + + // Creates a new enum datatype based on an integer datatype + EnumType( const IntType& data_type ); // H5Tenum_create + + // Inserts a new member to this enumeration type. + void insert( const string& name, void *value ) const; + void insert( const char* name, void *value ) const; + + // Returns the symbol name corresponding to a specified member + // of this enumeration datatype. + string nameOf( void *value, size_t size ) const; + + // Returns the value corresponding to a specified member of this + // enumeration datatype. + void valueOf( const string& name, void *value ) const; + void valueOf( const char* name, void *value ) const; + + // Returns the value of an enumeration datatype member + void getMemberValue( int memb_no, void *value ) const; + + virtual ~EnumType(); +}; +#ifndef H5_NO_NAMESPACE +} +#endif +#endif |