diff options
author | Binh-Minh Ribler <bmribler@hdfgroup.org> | 2006-10-22 08:22:30 (GMT) |
---|---|---|
committer | Binh-Minh Ribler <bmribler@hdfgroup.org> | 2006-10-22 08:22:30 (GMT) |
commit | daa61b598616713bd39d360aeb9dbbd7ec5803cb (patch) | |
tree | 6765b17006dcfab43126e37f205c940c4201fefc /c++/src/H5IdComponent.h | |
parent | 118b1d38fa0d00d0cff94d33e753b11bd732951f (diff) | |
download | hdf5-daa61b598616713bd39d360aeb9dbbd7ec5803cb.zip hdf5-daa61b598616713bd39d360aeb9dbbd7ec5803cb.tar.gz hdf5-daa61b598616713bd39d360aeb9dbbd7ec5803cb.tar.bz2 |
[svn-r12795] Purpose: Fixing bug
Description:
Wrappers of H5Rcreate had incorrect prototypes.
Solution:
Added these overloaded functions for H5Rcreate wrapper to IdComponent:
void reference(void* ref, const char* name, DataSpace& dataspace,
H5R_type_t ref_type = H5R_DATASET_REGION) const;
void reference(void* ref, const char* name) const;
void reference(void* ref, const H5std_string& name) const;
Added these overloaded functions for H5Rdereference:
void dereference(IdComponent& obj, void* ref);
DataSet(IdComponent& obj, void* ref);
Group(IdComponent& obj, void* ref);
DataType(IdComponent& obj, void* ref);
The incorrect wrappers will be removed after announcing.
Platform tested:
Linux 2.4 (heping)
AIX 5.1 (copper)
SunOS 5.8 64-bit (sol)
Diffstat (limited to 'c++/src/H5IdComponent.h')
-rw-r--r-- | c++/src/H5IdComponent.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/c++/src/H5IdComponent.h b/c++/src/H5IdComponent.h index 18bcacb..d353f11 100644 --- a/c++/src/H5IdComponent.h +++ b/c++/src/H5IdComponent.h @@ -22,6 +22,7 @@ namespace H5 { #endif +class DataSpace; class H5_DLLCPP IdComponent { public: // Increment reference counter. @@ -36,12 +37,20 @@ class H5_DLLCPP IdComponent { int getCounter(const hid_t obj_id) const; int getCounter() const; - // Returns an HDF object type, given the object id. + // Returns an HDF5 object type, given the object id. static H5I_type_t getHDFObjType(const hid_t obj_id); - // Assignment operator + // Assignment operator. IdComponent& operator=( const IdComponent& rhs ); + void reference(void* ref, const char* name, const DataSpace& dataspace, + H5R_type_t ref_type = H5R_DATASET_REGION) const; + void reference(void* ref, const char* name) const; + void reference(void* ref, const H5std_string& name) const; + + // Open a referenced HDF5 object. + void dereference(IdComponent& obj, void* ref); + // Sets the identifier of this object to a new value. void setId(const hid_t new_id); @@ -85,7 +94,8 @@ class H5_DLLCPP IdComponent { hid_t p_get_file_id(); // Creates a reference to an HDF5 object or a dataset region. - void* p_reference(const char* name, hid_t space_id, H5R_type_t ref_type) const; + void p_reference(void* ref, const char* name, hid_t space_id, H5R_type_t ref_type) const; + void* p_reference(const char* name, hid_t space_id, H5R_type_t ref_type) const; // will be removed // Retrieves the type of object that an object reference points to. H5G_obj_t p_get_obj_type(void *ref, H5R_type_t ref_type) const; |