diff options
author | Binh-Minh Ribler <bmribler@hdfgroup.org> | 2016-08-22 06:29:29 (GMT) |
---|---|---|
committer | Binh-Minh Ribler <bmribler@hdfgroup.org> | 2016-08-22 06:29:29 (GMT) |
commit | b1c4fd77d9c4507d723016f464e6aed61dfc9307 (patch) | |
tree | 47ca174cba673f69f03a5c92654a86f7fa7be539 /c++/src/H5Location.h | |
parent | ae18cf66d8b1da0d728f55db50142665c152e26d (diff) | |
download | hdf5-b1c4fd77d9c4507d723016f464e6aed61dfc9307.zip hdf5-b1c4fd77d9c4507d723016f464e6aed61dfc9307.tar.gz hdf5-b1c4fd77d9c4507d723016f464e6aed61dfc9307.tar.bz2 |
[svn-r30311] Purpose: Fix bug HDFFR-9920 cont.
trunk:
Description:
Continued rearranging the classes to model the relationship of HDF5
objects more accurately. The changes included:
- in the baseclass list of Attribute, changed "public IdComponent" to
"public H5Location", because location sometime can be specified with
attribute
- moved H5A wrappers in H5Location to H5Object because H5A functions
can't be called on attribute id
- removed the stubs Attribute::iterateAttrs and Attribute::renameAttr
- removed Attribute::getFileName and Attribute::flush, because
H5Location has them
- result of the modified partial class diagram, regarding Attribute
IdComponent
|
H5Location AbstractDs
/ \ /
H5Object Attribute
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Diffstat (limited to 'c++/src/H5Location.h')
-rw-r--r-- | c++/src/H5Location.h | 43 |
1 files changed, 6 insertions, 37 deletions
diff --git a/c++/src/H5Location.h b/c++/src/H5Location.h index 9e4ec05..9000c5c 100644 --- a/c++/src/H5Location.h +++ b/c++/src/H5Location.h @@ -23,20 +23,21 @@ namespace H5 { #endif -class H5_DLLCPP H5Location; // forward declaration for UserData4Aiterate +//class H5_DLLCPP H5Location; // forward declaration for UserData4Aiterate // Define the operator function pointer for H5Aiterate(). -typedef void (*attr_operator_t)( H5Location& loc/*in*/, - const H5std_string attr_name/*in*/, - void *operator_data/*in,out*/); +//typedef void (*attr_operator_t)( H5Location& loc/*in*/, + //const H5std_string attr_name/*in*/, + //void *operator_data/*in,out*/); //! User data for attribute iteration -class UserData4Aiterate { + /* class UserData4Aiterate { public: attr_operator_t op; void* opData; H5Location* location; }; + */ /*! \class H5Location \brief H5Location is an abstract base class, added in version 1.8.12. @@ -49,29 +50,12 @@ class UserData4Aiterate { // a location can be a file, group, dataset, or named datatype. -BMR, 2013-10-1 class H5_DLLCPP H5Location : public IdComponent { public: - // Creates an attribute for the specified object at this location - // PropList is currently not used, so always be default. - Attribute createAttribute( const char* name, const DataType& type, const DataSpace& space, const PropList& create_plist = PropList::DEFAULT ) const; - Attribute createAttribute( const H5std_string& name, const DataType& type, const DataSpace& space, const PropList& create_plist = PropList::DEFAULT ) const; - - // Given its name, opens the attribute that belongs to an object at - // this location. - Attribute openAttribute( const char* name ) const; - Attribute openAttribute( const H5std_string& name ) const; - - // Given its index, opens the attribute that belongs to an object at - // this location. - Attribute openAttribute( const unsigned int idx ) const; - // Flushes all buffers associated with this location to disk. void flush( H5F_scope_t scope ) const; // Gets the name of the file, specified by this location. H5std_string getFileName() const; - // Determines the number of attributes at this location. - int getNumAttrs() const; - #ifndef H5_NO_DEPRECATED_SYMBOLS // Retrieves the type of object that an object reference points to. H5G_obj_t getObjType(void *ref, H5R_type_t ref_type = H5R_OBJECT) const; @@ -82,21 +66,6 @@ class H5_DLLCPP H5Location : public IdComponent { // Note: getRefObjType deprecates getObjType, but getObjType's name is // misleading, so getRefObjType is used in the new function instead. - // Iterate user's function over the attributes at this location. - int iterateAttrs(attr_operator_t user_op, unsigned* idx = NULL, void* op_data = NULL); - - // Checks whether the named attribute exists at this location. - bool attrExists(const char* name) const; - bool attrExists(const H5std_string& name) const; - - // Renames the named attribute to a new name. - void renameAttr(const char* oldname, const char* newname) const; - void renameAttr(const H5std_string& oldname, const H5std_string& newname) const; - - // Removes the named attribute from this location. - void removeAttr(const char* name) const; - void removeAttr(const H5std_string& name) const; - // Sets the comment for an HDF5 object specified by its name. void setComment(const char* name, const char* comment) const; void setComment(const H5std_string& name, const H5std_string& comment) const; |