summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--c++/src/H5CommonFG.cpp6
-rw-r--r--c++/src/H5CommonFG.h2
-rw-r--r--c++/src/H5Cpp.h2
-rw-r--r--c++/src/H5Location.cpp98
-rw-r--r--c++/src/H5Location.h7
-rw-r--r--c++/src/H5Object.cpp6
6 files changed, 29 insertions, 92 deletions
diff --git a/c++/src/H5CommonFG.cpp b/c++/src/H5CommonFG.cpp
index 118b1b2..314a9fe 100644
--- a/c++/src/H5CommonFG.cpp
+++ b/c++/src/H5CommonFG.cpp
@@ -308,8 +308,7 @@ void CommonFG::link(H5L_type_t link_type, const H5std_string& curr_name, const H
// Modification
// May 2018:
// This function is deprecated immediately, in 1.8.21, because
-// their replacement have two arguments and one of them is a
-// default.
+// its replacement has two arguments and one of them is a default.
// 2007: QAK modified to use H5L APIs - BMR
//--------------------------------------------------------------------------
void CommonFG::unlink(const char* name) const
@@ -325,8 +324,7 @@ void CommonFG::unlink(const char* name) const
// Modification
// May 2018:
// This function is deprecated immediately, in 1.8.21, because
-// their replacement have two arguments and one of them is a
-// default.
+// its replacement has two arguments and one of them is a default.
//--------------------------------------------------------------------------
void CommonFG::unlink(const H5std_string& name) const
{
diff --git a/c++/src/H5CommonFG.h b/c++/src/H5CommonFG.h
index 4afc777..fa08263 100644
--- a/c++/src/H5CommonFG.h
+++ b/c++/src/H5CommonFG.h
@@ -99,7 +99,7 @@ class H5_DLLCPP CommonFG {
// Removes the specified name at this location.
// Deprecated in favor of H5Location::unlink overloaded (1.8.21)
- // These functions can be removed immediately because their replacement
+ // These functions can be removed immediately because their replacements
// have a default argument out of two.
//void unlink(const char* name) const;
//void unlink(const H5std_string& name) const;
diff --git a/c++/src/H5Cpp.h b/c++/src/H5Cpp.h
index b04c7a2..4108831 100644
--- a/c++/src/H5Cpp.h
+++ b/c++/src/H5Cpp.h
@@ -29,9 +29,7 @@
#include "H5Attribute.h"
#include "H5OcreatProp.h"
#include "H5DcreatProp.h"
-#include "H5StrcreatProp.h"
#include "H5AcreatProp.h"
-#include "H5LcreatProp.h"
#include "H5CommonFG.h"
#include "H5DataType.h"
#include "H5DxferProp.h"
diff --git a/c++/src/H5Location.cpp b/c++/src/H5Location.cpp
index 692c7c2..6894fdd 100644
--- a/c++/src/H5Location.cpp
+++ b/c++/src/H5Location.cpp
@@ -148,6 +148,25 @@ int H5Location::iterateAttrs(attr_operator_t user_op, unsigned *_idx, void *op_d
}
//--------------------------------------------------------------------------
+// Function: H5Location::getNumAttrs
+///\brief Returns the number of attributes attached to an HDF5 object.
+///\return Number of attributes
+///\exception H5::AttributeIException
+// Modification
+// - Moved from H5Object to allow passing an attribute id to the
+// C API, in 1.8.20.
+//--------------------------------------------------------------------------
+int H5Location::getNumAttrs() const
+{
+ H5O_info_t objinfo; /* Object info */
+
+ if(H5Oget_info(getId(), &objinfo) < 0)
+ throwException("getNumAttrs", "H5Oget_info failed");
+ else
+ return(static_cast<int>(objinfo.num_attrs));
+}
+
+//--------------------------------------------------------------------------
// Function: H5Location::nameExists
///\brief Checks if a link of a given name exists in a location.
///\param name - IN: Searched name - \c char*
@@ -308,25 +327,6 @@ void H5Location::getObjectInfo(const H5std_string& name, H5O_info_t *objinfo,
}
//--------------------------------------------------------------------------
-// Function: H5Location::getNumAttrs
-///\brief Replaced by H5Object::getNumAttrs.
-///\return Number of attributes
-///\exception H5::AttributeIException
-// Programmer Binh-Minh Ribler - 2000
-// Modification
-// - Moved to H5Object in 1.8.20. -BMR Oct, 2017
-//--------------------------------------------------------------------------
-int H5Location::getNumAttrs() const
-{
- H5O_info_t oinfo; /* Object info */
-
- if(H5Oget_info(getId(), &oinfo) < 0)
- throwException("getNumAttrs", "H5Oget_info failed");
- else
- return(static_cast<int>(oinfo.num_attrs));
-}
-
-//--------------------------------------------------------------------------
// Function: H5Location::objVersion
///\brief Returns the header version of this HDF5 object.
///\return Object version, which can have the following values:
@@ -1138,66 +1138,6 @@ void H5Location::link(const H5std_string& curr_name, const hid_t same_loc,
link(curr_name.c_str(), same_loc, new_name.c_str(), lcpl, lapl);
}
-#if 0
-//--------------------------------------------------------------------------
-// Function: H5Location::link
-///\brief Creates a link of the specified type from \a new_name to
-/// \a curr_name.
-///\param link_type - IN: Link type; possible values are
-/// \li \c H5G_LINK_HARD
-/// \li \c H5G_LINK_SOFT
-///\param curr_name - IN: Name of the existing object if link is a hard
-/// link; can be anything for the soft link
-///\param new_name - IN: New name for the object
-///\exception H5::FileIException or H5::GroupIException
-///\par Description
-/// Note that both names are interpreted relative to the
-/// specified location.
-/// For information on creating hard link and soft link, please
-/// refer to the C layer Reference Manual at:
-/// https://support.hdfgroup.org/HDF5/doc/RM/RM_H5L.html#Link-CreateHard and
-/// https://support.hdfgroup.org/HDF5/doc/RM/RM_H5L.html#Link-CreateSoft
-// Programmer Binh-Minh Ribler - 2000
-// Modification
-// 2007: QAK modified to use H5L APIs - BMR
-//--------------------------------------------------------------------------
-void H5Location::link(H5L_type_t link_type, const char* curr_name, const char* new_name) const
-{
- herr_t ret_value = -1;
-
- switch(link_type) {
- case H5L_TYPE_HARD:
- ret_value = H5Lcreate_hard(getId(), curr_name, H5L_SAME_LOC, new_name, H5P_DEFAULT, H5P_DEFAULT);
- break;
-
- case H5L_TYPE_SOFT:
- ret_value = H5Lcreate_soft(curr_name, getId(), new_name, H5P_DEFAULT, H5P_DEFAULT);
- break;
-
- case H5L_TYPE_ERROR:
- case H5L_TYPE_EXTERNAL:
- case H5L_TYPE_MAX:
- default:
- throwException("link", "unknown link type");
- break;
- } /* end switch */
-
- if(ret_value < 0)
- throwException("link", "creating link failed");
-}
-
-//--------------------------------------------------------------------------
-// Function: H5Location::link
-///\brief This is an overloaded member function, provided for convenience.
-/// It differs from the above function in that it takes an
-/// \c H5std_string for \a curr_name and \a new_name.
-// Programmer Binh-Minh Ribler - 2000
-//--------------------------------------------------------------------------
-void H5Location::link(H5L_type_t link_type, const H5std_string& curr_name, const H5std_string& new_name) const
-{
- link(link_type, curr_name.c_str(), new_name.c_str());
-}
-#endif
//--------------------------------------------------------------------------
// Function: H5Location::copyLink
diff --git a/c++/src/H5Location.h b/c++/src/H5Location.h
index d929754..e76a6fc 100644
--- a/c++/src/H5Location.h
+++ b/c++/src/H5Location.h
@@ -41,6 +41,9 @@ class UserData4Aiterate { // user data for attribute iteration
// Inheritance: IdComponent
class H5_DLLCPP H5Location : public IdComponent {
public:
+ // Determines the number of attributes belong to this object.
+ int getNumAttrs() const;
+
// Checks if a link of a given name exists in this location
bool nameExists(const char* name, const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) const;
bool nameExists(const H5std_string& name, const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) const;
@@ -60,10 +63,6 @@ class H5_DLLCPP H5Location : public IdComponent {
void getObjectInfo(const H5std_string& name, H5O_info_t *oinfo,
const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) const;
- // Determines the number of attributes at this location.
- // - moved to H5Object (1.8.20)
- int getNumAttrs() const; // Deprecated
-
#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;
diff --git a/c++/src/H5Object.cpp b/c++/src/H5Object.cpp
index a3b53d4..868a5d3 100644
--- a/c++/src/H5Object.cpp
+++ b/c++/src/H5Object.cpp
@@ -285,12 +285,14 @@ void H5Object::renameAttr(const H5std_string& oldname, const H5std_string& newna
//--------------------------------------------------------------------------
// Function: H5Object::getNumAttrs
-///\brief Returns the number of attributes attached to this HDF5 object.
+///\brief Deprecated - replaced by H5Location::getNumAttrs()
+// brief Returns the number of attributes attached to this HDF5 object.
///\return Number of attributes
///\exception H5::AttributeIException
// Programmer Binh-Minh Ribler - 2000
// Modification
-// - Moved from H5Location in 1.8.20. -BMR Oct, 2017
+// - Moved to H5Location to allow passing an attribute id to the
+// C API, in 1.8.20.
//--------------------------------------------------------------------------
int H5Object::getNumAttrs() const
{