summaryrefslogtreecommitdiffstats
path: root/c++/src/H5EnumType.h
diff options
context:
space:
mode:
Diffstat (limited to 'c++/src/H5EnumType.h')
-rw-r--r--c++/src/H5EnumType.h51
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