diff options
Diffstat (limited to 'c++/src')
-rw-r--r-- | c++/src/H5Attribute.cpp | 3 | ||||
-rw-r--r-- | c++/src/H5DataSet.cpp | 1 | ||||
-rw-r--r-- | c++/src/H5DataSpace.cpp | 1 | ||||
-rw-r--r-- | c++/src/H5File.cpp | 19 | ||||
-rw-r--r-- | c++/src/H5File.h | 3 | ||||
-rw-r--r-- | c++/src/H5Group.cpp | 1 | ||||
-rw-r--r-- | c++/src/H5Location.cpp | 2 |
7 files changed, 7 insertions, 23 deletions
diff --git a/c++/src/H5Attribute.cpp b/c++/src/H5Attribute.cpp index baf5f34..0bfdff8 100644 --- a/c++/src/H5Attribute.cpp +++ b/c++/src/H5Attribute.cpp @@ -74,7 +74,8 @@ Attribute::Attribute(const Attribute& original) : AbstractDs(), IdComponent() //-------------------------------------------------------------------------- Attribute::Attribute(const hid_t existing_id) : AbstractDs(), IdComponent() { - id = existing_id; + id = existing_id; + incRefCount(); // increment number of references to this id } //-------------------------------------------------------------------------- diff --git a/c++/src/H5DataSet.cpp b/c++/src/H5DataSet.cpp index 7e4d18e..717ef88 100644 --- a/c++/src/H5DataSet.cpp +++ b/c++/src/H5DataSet.cpp @@ -63,6 +63,7 @@ DataSet::DataSet() : H5Object(), AbstractDs(), id(H5I_INVALID_HID) {} DataSet::DataSet(const hid_t existing_id) : H5Object(), AbstractDs() { id = existing_id; + incRefCount(); // increment number of references to this id } //-------------------------------------------------------------------------- diff --git a/c++/src/H5DataSpace.cpp b/c++/src/H5DataSpace.cpp index 761a454..d9c262d 100644 --- a/c++/src/H5DataSpace.cpp +++ b/c++/src/H5DataSpace.cpp @@ -85,6 +85,7 @@ DataSpace::DataSpace( int rank, const hsize_t * dims, const hsize_t * maxdims) : DataSpace::DataSpace(const hid_t existing_id) : IdComponent() { id = existing_id; + incRefCount(); // increment number of references to this id } //-------------------------------------------------------------------------- diff --git a/c++/src/H5File.cpp b/c++/src/H5File.cpp index 7ca126f..fc802d0 100644 --- a/c++/src/H5File.cpp +++ b/c++/src/H5File.cpp @@ -405,25 +405,6 @@ ssize_t H5File::getObjCount(unsigned types) const } //-------------------------------------------------------------------------- -// Function: H5File::getObjCount -///\brief This is an overloaded member function, provided for convenience. -/// It takes no parameter and returns the object count of all -/// object types. -///\return Number of opened object IDs -///\exception H5::FileIException -// Programmer Binh-Minh Ribler - May 2004 -//-------------------------------------------------------------------------- -ssize_t H5File::getObjCount() const -{ - ssize_t num_objs = H5Fget_obj_count(id, H5F_OBJ_ALL); - if( num_objs < 0 ) - { - throw FileIException("H5File::getObjCount", "H5Fget_obj_count failed"); - } - return (num_objs); -} - -//-------------------------------------------------------------------------- // Function: H5File::getObjIDs ///\brief Retrieves a list of opened object IDs (files, datasets, /// groups and datatypes) in the same file. diff --git a/c++/src/H5File.h b/c++/src/H5File.h index 29621aa..939ac8e 100644 --- a/c++/src/H5File.h +++ b/c++/src/H5File.h @@ -59,8 +59,7 @@ class H5_DLLCPP H5File : public H5Location, public CommonFG { // Returns the number of opened object IDs (files, datasets, groups // and datatypes) in the same file. - ssize_t getObjCount(unsigned types) const; - ssize_t getObjCount() const; + ssize_t getObjCount(unsigned types = H5F_OBJ_ALL) const; // Retrieves a list of opened object IDs (files, datasets, groups // and datatypes) in the same file. diff --git a/c++/src/H5Group.cpp b/c++/src/H5Group.cpp index 8b22458..4d1d61c 100644 --- a/c++/src/H5Group.cpp +++ b/c++/src/H5Group.cpp @@ -85,6 +85,7 @@ hid_t Group::getLocId() const Group::Group(const hid_t existing_id) : H5Object(), CommonFG() { id = existing_id; + incRefCount(); // increment number of references to this id } //-------------------------------------------------------------------------- diff --git a/c++/src/H5Location.cpp b/c++/src/H5Location.cpp index 668bd8c..5100e12 100644 --- a/c++/src/H5Location.cpp +++ b/c++/src/H5Location.cpp @@ -195,7 +195,7 @@ Attribute H5Location::openAttribute( const unsigned int idx ) const H5_ITER_INC, (hsize_t)idx, H5P_DEFAULT, H5P_DEFAULT); if( attr_id > 0 ) { - Attribute attr( attr_id ); + Attribute attr; f_Attribute_setId(&attr, attr_id); return(attr); } |