From 89f9d69d8d8b3dba483db6442b2eadfb0fae309c Mon Sep 17 00:00:00 2001 From: Binh-Minh Ribler Date: Wed, 26 Apr 2017 00:10:24 -0500 Subject: Documentation clean-up Description: - Rearranged public/non-public functions relative to the DOXYGEN_SHOULD_SKIP_THIS blocks to display them correctly in the RM - Moved internal comments outside of the \brief blocks so they will not be displayed in the RM - Updated RELEASE.txt about the changes in PR#466 Platforms tested: Verified document on Windows 10. Linux/64 (platypus) Darwin (osx1010test) --- c++/src/H5ArrayType.h | 3 +- c++/src/H5AtomType.h | 6 +- c++/src/H5Attribute.h | 3 +- c++/src/H5CommonFG.h | 5 +- c++/src/H5CompType.h | 3 +- c++/src/H5DataSet.h | 5 +- c++/src/H5DataSpace.h | 2 - c++/src/H5DataType.h | 5 +- c++/src/H5DcreatProp.h | 4 +- c++/src/H5DxferProp.h | 3 +- c++/src/H5EnumType.h | 6 +- c++/src/H5FaccProp.h | 3 +- c++/src/H5FcreatProp.h | 3 +- c++/src/H5File.h | 3 +- c++/src/H5FloatType.h | 3 +- c++/src/H5Group.cpp | 1 + c++/src/H5Group.h | 3 +- c++/src/H5IntType.h | 5 +- c++/src/H5LaccProp.h | 3 +- c++/src/H5Location.cpp | 187 +++++++++++++++++++++++------------------------ c++/src/H5Location.h | 4 +- c++/src/H5Object.cpp | 4 +- c++/src/H5Object.h | 6 +- c++/src/H5OcreatProp.h | 5 +- c++/src/H5PredType.h | 3 +- c++/src/H5PropList.h | 3 - c++/src/H5StrType.h | 5 +- c++/src/H5VarLenType.h | 5 +- release_docs/RELEASE.txt | 7 ++ 29 files changed, 136 insertions(+), 162 deletions(-) diff --git a/c++/src/H5ArrayType.h b/c++/src/H5ArrayType.h index ffb8712..669bdf3 100644 --- a/c++/src/H5ArrayType.h +++ b/c++/src/H5ArrayType.h @@ -20,9 +20,8 @@ namespace H5 { /*! \class ArrayType \brief Class ArrayType inherits from DataType and provides wrappers for the HDF5's Array Datatypes. - - Inheritance: DataType -> H5Object -> H5Location -> IdComponent */ +// Inheritance: DataType -> H5Object -> H5Location -> IdComponent class H5_DLLCPP ArrayType : public DataType { public: // Constructor that creates a new array data type based on the diff --git a/c++/src/H5AtomType.h b/c++/src/H5AtomType.h index 0be3cb5..da3df5b 100644 --- a/c++/src/H5AtomType.h +++ b/c++/src/H5AtomType.h @@ -20,12 +20,8 @@ namespace H5 { /*! \class AtomType \brief AtomType is a base class, inherited by IntType, FloatType, StrType, and PredType. - - AtomType provides operations on HDF5 atomic datatypes. It also inherits - from DataType. - - Inheritance: DataType -> H5Object -> H5Location -> IdComponent */ +// Inheritance: DataType -> H5Object -> H5Location -> IdComponent class H5_DLLCPP AtomType : public DataType { public: // Returns the byte order of an atomic datatype. diff --git a/c++/src/H5Attribute.h b/c++/src/H5Attribute.h index 41e74d9..823947e 100644 --- a/c++/src/H5Attribute.h +++ b/c++/src/H5Attribute.h @@ -24,9 +24,8 @@ namespace H5 { Attribute and DataSet are derivatives of AbstractDs. Attribute also inherits from H5Location because an attribute can be used to specify a location. - - Inheritance: multiple H5Location/AbstractDs -> IdComponent */ +// Inheritance: multiple H5Location/AbstractDs -> IdComponent class H5_DLLCPP Attribute : public AbstractDs, public H5Location { public: diff --git a/c++/src/H5CommonFG.h b/c++/src/H5CommonFG.h index 3cbad76..dbcf520 100644 --- a/c++/src/H5CommonFG.h +++ b/c++/src/H5CommonFG.h @@ -24,9 +24,8 @@ class ArrayType; class VarLenType; /*! \class CommonFG - \brief \a CommonFG is an abstract base class of H5File and H5Group. - - It provides common operations of H5File and H5Group. + \brief CommonFG will be deprecated in future releases. + In 1.10.1, most member functions are moved to H5Location. */ class H5_DLLCPP CommonFG { public: diff --git a/c++/src/H5CompType.h b/c++/src/H5CompType.h index 018d875..e2a6b34 100644 --- a/c++/src/H5CompType.h +++ b/c++/src/H5CompType.h @@ -20,9 +20,8 @@ namespace H5 { /*! \class CompType \brief CompType is a derivative of a DataType and operates on HDF5 compound datatypes. - - Inheritance: DataType -> H5Object -> H5Location -> IdComponent */ +// Inheritance: DataType -> H5Object -> H5Location -> IdComponent class H5_DLLCPP CompType : public DataType { public: // Default constructor diff --git a/c++/src/H5DataSet.h b/c++/src/H5DataSet.h index 2f3eebe..9a52412 100644 --- a/c++/src/H5DataSet.h +++ b/c++/src/H5DataSet.h @@ -20,12 +20,11 @@ namespace H5 { /*! \class DataSet \brief Class DataSet operates on HDF5 datasets. - An datasets has many characteristics similar to an attribute, thus both + A dataset has many characteristics similar to an attribute, thus both Attribute and DataSet are derivatives of AbstractDs. DataSet also inherits from H5Object because a dataset is an HDF5 object. - - Inheritance: multiple H5Object/AbstractDs -> H5Location -> IdComponent */ +// Inheritance: multiple H5Object/AbstractDs -> H5Location -> IdComponent class H5_DLLCPP DataSet : public H5Object, public AbstractDs { public: diff --git a/c++/src/H5DataSpace.h b/c++/src/H5DataSpace.h index c0a1d2b..9bb203c 100644 --- a/c++/src/H5DataSpace.h +++ b/c++/src/H5DataSpace.h @@ -20,8 +20,6 @@ namespace H5 { /*! \class DataSpace \brief Class DataSpace inherits from IdComponent and provides wrappers for the HDF5's dataspaces. - - Inheritance: IdComponent */ class H5_DLLCPP DataSpace : public IdComponent { public: diff --git a/c++/src/H5DataType.h b/c++/src/H5DataType.h index 32a79fa..ba83d37 100644 --- a/c++/src/H5DataType.h +++ b/c++/src/H5DataType.h @@ -21,11 +21,10 @@ namespace H5 { \brief Class DataType provides generic operations on HDF5 datatypes. DataType inherits from H5Object because a named datatype is an HDF5 - object and is a base class of ArrayType, AtomType, CompType, EnumType, + object, and is a base class of ArrayType, AtomType, CompType, EnumType, and VarLenType. - - Inheritance: DataType -> H5Object -> H5Location -> IdComponent */ +// Inheritance: DataType -> H5Object -> H5Location -> IdComponent class H5_DLLCPP DataType : public H5Object { public: // Creates a datatype given its class and size diff --git a/c++/src/H5DcreatProp.h b/c++/src/H5DcreatProp.h index 5d5714a..89318e8 100644 --- a/c++/src/H5DcreatProp.h +++ b/c++/src/H5DcreatProp.h @@ -17,15 +17,15 @@ namespace H5 { +// Class forwarding class DataType; class DataSpace; /*! \class DSetCreatPropList \brief Class DSetCreatPropList inherits from ObjCreatPropList and provides wrappers for the HDF5 dataset creation property functions. - - Inheritance: ObjCreatPropList -> PropList -> IdComponent */ +// Inheritance: ObjCreatPropList -> PropList -> IdComponent class H5_DLLCPP DSetCreatPropList : public ObjCreatPropList { public: ///\brief Default dataset creation property list. diff --git a/c++/src/H5DxferProp.h b/c++/src/H5DxferProp.h index 4a38bd0..75205cf 100644 --- a/c++/src/H5DxferProp.h +++ b/c++/src/H5DxferProp.h @@ -20,9 +20,8 @@ namespace H5 { /*! \class DSetMemXferPropList \brief Class DSetCreatPropList inherits from PropList and provides wrappers for the HDF5 dataset memory and transfer property list. - - Inheritance: ObjCreatPropList -> PropList -> IdComponent */ +// Inheritance: PropList -> IdComponent class H5_DLLCPP DSetMemXferPropList : public PropList { public: ///\brief Default dataset memory and transfer property list. diff --git a/c++/src/H5EnumType.h b/c++/src/H5EnumType.h index fc8089e..8b98c93 100644 --- a/c++/src/H5EnumType.h +++ b/c++/src/H5EnumType.h @@ -18,13 +18,11 @@ namespace H5 { /*! \class EnumType - \brief EnumType is a derivative of a DataType and operates on HDF5 + \brief EnumType is derived from a DataType and operates on HDF5 enum datatypes. - - Inheritance: DataType -> H5Object -> H5Location -> IdComponent */ +// Inheritance: DataType -> H5Object -> H5Location -> IdComponent class H5_DLLCPP EnumType : public DataType { - public: // Creates an empty enumeration datatype based on a native signed // integer type, whose size is given by size. diff --git a/c++/src/H5FaccProp.h b/c++/src/H5FaccProp.h index 2563163..1df8fc8 100644 --- a/c++/src/H5FaccProp.h +++ b/c++/src/H5FaccProp.h @@ -20,9 +20,8 @@ namespace H5 { /*! \class FileAccPropList \brief Class FileAccPropList inherits from PropList and provides wrappers for the HDF5 file access property list. - - Inheritance: PropList -> IdComponent */ +// Inheritance: PropList -> IdComponent class H5_DLLCPP FileAccPropList : public PropList { public: ///\brief Default file access property list. diff --git a/c++/src/H5FcreatProp.h b/c++/src/H5FcreatProp.h index da620d4..31a944c 100644 --- a/c++/src/H5FcreatProp.h +++ b/c++/src/H5FcreatProp.h @@ -20,9 +20,8 @@ namespace H5 { /*! \class FileCreatPropList \brief Class FileCreatPropList inherits from PropList and provides wrappers for the HDF5 file create property list. - - Inheritance: PropList -> IdComponent */ +// Inheritance: PropList -> IdComponent class H5_DLLCPP FileCreatPropList : public PropList { public: ///\brief Default file creation property list. diff --git a/c++/src/H5File.h b/c++/src/H5File.h index 0f921ae..214feb0 100644 --- a/c++/src/H5File.h +++ b/c++/src/H5File.h @@ -20,9 +20,8 @@ namespace H5 { /*! \class H5File \brief Class H5File represents an HDF5 file and inherits from class Group as file is a root group. - - Inheritance: Group -> CommonFG/H5Object -> H5Location -> IdComponent */ +// Inheritance: Group -> CommonFG/H5Object -> H5Location -> IdComponent class H5_DLLCPP H5File : public Group { public: // Creates or opens an HDF5 file. diff --git a/c++/src/H5FloatType.h b/c++/src/H5FloatType.h index e84f50b..b301286 100644 --- a/c++/src/H5FloatType.h +++ b/c++/src/H5FloatType.h @@ -20,9 +20,8 @@ namespace H5 { /*! \class FloatType \brief FloatType is a derivative of a DataType and operates on HDF5 floating point datatype. - - Inheritance: AtomType -> DataType -> H5Object -> H5Location -> IdComponent */ +// Inheritance: AtomType -> DataType -> H5Object -> H5Location -> IdComponent class H5_DLLCPP FloatType : public AtomType { public: // Creates a floating-point type using a predefined type. diff --git a/c++/src/H5Group.cpp b/c++/src/H5Group.cpp index c4b3b2c..97bedee 100644 --- a/c++/src/H5Group.cpp +++ b/c++/src/H5Group.cpp @@ -102,6 +102,7 @@ hid_t Group::getObjId(const H5std_string& obj_name, const PropList& plist) const //-------------------------------------------------------------------------- // Function: Group::closeObjId ///\brief Closes an object, which was opened with Group::getObjId +/// ///\exception H5::FileIException or H5::GroupIException // Programmer Binh-Minh Ribler - March, 2017 //-------------------------------------------------------------------------- diff --git a/c++/src/H5Group.h b/c++/src/H5Group.h index 9430b13..2e13270 100644 --- a/c++/src/H5Group.h +++ b/c++/src/H5Group.h @@ -19,13 +19,12 @@ namespace H5 { /*! \class Group \brief Class Group represents an HDF5 group. - - Inheritance: H5Object -> H5Location -> IdComponent */ // Class forwarding class ArrayType; class VarLenType; +// Inheritance: CommonFG/H5Object -> IdComponent class H5_DLLCPP Group : public H5Object, public CommonFG { public: // Close this group. diff --git a/c++/src/H5IntType.h b/c++/src/H5IntType.h index 82a7cfd..a61f89f 100644 --- a/c++/src/H5IntType.h +++ b/c++/src/H5IntType.h @@ -18,11 +18,10 @@ namespace H5 { /*! \class IntType - \brief IntType is a derivative of a DataType and operates on HDF5 + \brief IntType is derived from a DataType and operates on HDF5 integer datatype. - - Inheritance: AtomType -> DataType -> H5Object -> H5Location -> IdComponent */ +// Inheritance: AtomType -> DataType -> H5Object -> H5Location -> IdComponent class H5_DLLCPP IntType : public AtomType { public: // Creates an integer type using a predefined type diff --git a/c++/src/H5LaccProp.h b/c++/src/H5LaccProp.h index 9772cde..829a88c 100644 --- a/c++/src/H5LaccProp.h +++ b/c++/src/H5LaccProp.h @@ -23,9 +23,8 @@ namespace H5 { /*! \class LinkAccPropList \brief Class LinkAccPropList inherits from PropList and provides wrappers for the HDF5 file access property list. - - Inheritance: PropList -> IdComponent */ +// Inheritance: PropList -> IdComponent class H5_DLLCPP LinkAccPropList : public PropList { public: ///\brief Default file access property list. diff --git a/c++/src/H5Location.cpp b/c++/src/H5Location.cpp index ed2daf3..b2fa75d 100644 --- a/c++/src/H5Location.cpp +++ b/c++/src/H5Location.cpp @@ -373,6 +373,38 @@ void H5Location::p_reference(void* ref, const char* name, hid_t space_id, H5R_ty } } +//-------------------------------------------------------------------------- +// Function: H5Location::p_dereference (protected) +// Purpose Dereference a ref into an hdf5 object. +// Parameters +// loc_id - IN: An hdf5 identifier specifying the location of the +// referenced object +// ref - IN: Reference pointer +// ref_type - IN: Reference type +// plist - IN: Property list - default to PropList::DEFAULT +// from_func - IN: Name of the calling function +// Exception H5::ReferenceException +// Programmer Binh-Minh Ribler - Oct, 2006 +// Modification +// May 2008 - BMR +// Moved from IdComponent. +//-------------------------------------------------------------------------- +hid_t H5Location::p_dereference(hid_t loc_id, const void* ref, H5R_type_t ref_type, const PropList& plist, const char* from_func) +{ + hid_t plist_id; + if (p_valid_id(plist.getId())) + plist_id = plist.getId(); + else + plist_id = H5P_DEFAULT; + + hid_t temp_id = H5Rdereference2(loc_id, plist_id, ref_type, ref); + if (temp_id < 0) + { + throw ReferenceException(inMemFunc(from_func), "H5Rdereference failed"); + } + + return(temp_id); +} #endif // DOXYGEN_SHOULD_SKIP_THIS //-------------------------------------------------------------------------- @@ -467,41 +499,6 @@ void H5Location::reference(void* ref, const H5std_string& name, H5R_type_t ref_t reference(ref, name.c_str(), ref_type); } -#ifndef DOXYGEN_SHOULD_SKIP_THIS -//-------------------------------------------------------------------------- -// Function: H5Location::p_dereference (protected) -// Purpose Dereference a ref into an hdf5 object. -// Parameters -// loc_id - IN: An hdf5 identifier specifying the location of the -// referenced object -// ref - IN: Reference pointer -// ref_type - IN: Reference type -// plist - IN: Property list - default to PropList::DEFAULT -// from_func - IN: Name of the calling function -// Exception H5::ReferenceException -// Programmer Binh-Minh Ribler - Oct, 2006 -// Modification -// May 2008 - BMR -// Moved from IdComponent. -//-------------------------------------------------------------------------- -hid_t H5Location::p_dereference(hid_t loc_id, const void* ref, H5R_type_t ref_type, const PropList& plist, const char* from_func) -{ - hid_t plist_id; - if (p_valid_id(plist.getId())) - plist_id = plist.getId(); - else - plist_id = H5P_DEFAULT; - - hid_t temp_id = H5Rdereference2(loc_id, plist_id, ref_type, ref); - if (temp_id < 0) - { - throw ReferenceException(inMemFunc(from_func), "H5Rdereference failed"); - } - - return(temp_id); -} -#endif // DOXYGEN_SHOULD_SKIP_THIS - //-------------------------------------------------------------------------- // Function: H5Location::dereference ///\brief Dereferences a reference into an HDF5 object, given an HDF5 object. @@ -542,64 +539,6 @@ void H5Location::dereference(const H5Location& loc, const void* ref, H5R_type_t } */ -#ifndef H5_NO_DEPRECATED_SYMBOLS -//-------------------------------------------------------------------------- -// Function: H5Location::getObjType -///\brief Retrieves the type of object that an object reference points to. -///\param ref_type - IN: Type of reference to query, valid values are: -/// \li \c H5R_OBJECT - Reference is an object reference. -/// \li \c H5R_DATASET_REGION - Reference is a dataset region reference. -///\param ref - IN: Reference to query -///\return An object type, which can be one of the following: -/// \li \c H5G_UNKNOWN - A failure occurs. (-1) -/// \li \c H5G_GROUP - Object is a group. -/// \li \c H5G_DATASET - Object is a dataset. -/// \li \c H5G_TYPE Object - is a named datatype -/// \li \c H5G_LINK - Object is a symbolic link. -/// \li \c H5G_UDLINK - Object is a user-defined link. -///\exception H5::ReferenceException -// Programmer Binh-Minh Ribler - May, 2004 -// Modification -// Sep 2012: Moved up from H5File, Group, DataSet, and DataType -//-------------------------------------------------------------------------- -H5G_obj_t H5Location::getObjType(void *ref, H5R_type_t ref_type) const -{ - try { - return(p_get_obj_type(ref, ref_type)); - } - catch (ReferenceException& E) { - throw ReferenceException(inMemFunc("getObjType"), E.getDetailMsg()); - } -} - -#ifndef DOXYGEN_SHOULD_SKIP_THIS -//-------------------------------------------------------------------------- -// Function: H5Location::p_get_obj_type (protected) -// Purpose Retrieves the type of object that an object reference points to. -// Parameters -// ref - IN: Reference to query -// ref_type - IN: Type of reference to query -// Return An object type, which can be one of the following: -// H5G_UNKNOWN \tFailure occurs (-1) -// H5G_GROUP \tObject is a group. -// H5G_DATASET \tObject is a dataset. -// H5G_TYPE Object \tis a named datatype. -// H5G_LINK \tObject is a symbolic link. -// H5G_UDLINK \tObject is a user-defined link. -// Exception H5::ReferenceException -// Programmer Binh-Minh Ribler - May, 2004 -//-------------------------------------------------------------------------- -H5G_obj_t H5Location::p_get_obj_type(void *ref, H5R_type_t ref_type) const -{ - H5G_obj_t obj_type = H5Rget_obj_type1(getId(), ref_type, ref); - if (obj_type == H5G_UNKNOWN) - { - throw ReferenceException(inMemFunc("getObjType"), "H5Rget_obj_type1 failed"); - } - return(obj_type); -} -#endif // DOXYGEN_SHOULD_SKIP_THIS -#endif /* H5_NO_DEPRECATED_SYMBOLS */ //-------------------------------------------------------------------------- // Function: H5Location::getRefObjType @@ -657,7 +596,7 @@ H5O_type_t H5Location::p_get_ref_obj_type(void *ref, H5R_type_t ref_type) const } return(obj_type); } - +#endif // DOXYGEN_SHOULD_SKIP_THIS //-------------------------------------------------------------------------- // Function: H5Location::getRegion @@ -1564,7 +1503,35 @@ unsigned H5Location::childObjVersion(const H5std_string& objname) const } #ifndef H5_NO_DEPRECATED_SYMBOLS -#ifndef DOXYGEN_SHOULD_SKIP_THIS +//-------------------------------------------------------------------------- +// Function: H5Location::getObjType +///\brief Retrieves the type of object that an object reference points to. +///\param ref_type - IN: Type of reference to query, valid values are: +/// \li \c H5R_OBJECT - Reference is an object reference. +/// \li \c H5R_DATASET_REGION - Reference is a dataset region reference. +///\param ref - IN: Reference to query +///\return An object type, which can be one of the following: +/// \li \c H5G_UNKNOWN - A failure occurs. (-1) +/// \li \c H5G_GROUP - Object is a group. +/// \li \c H5G_DATASET - Object is a dataset. +/// \li \c H5G_TYPE Object - is a named datatype +/// \li \c H5G_LINK - Object is a symbolic link. +/// \li \c H5G_UDLINK - Object is a user-defined link. +///\exception H5::ReferenceException +// Programmer Binh-Minh Ribler - May, 2004 +// Modification +// Sep 2012: Moved up from H5File, Group, DataSet, and DataType +//-------------------------------------------------------------------------- +H5G_obj_t H5Location::getObjType(void *ref, H5R_type_t ref_type) const +{ + try { + return(p_get_obj_type(ref, ref_type)); + } + catch (ReferenceException& E) { + throw ReferenceException(inMemFunc("getObjType"), E.getDetailMsg()); + } +} + //-------------------------------------------------------------------------- // Function: H5Location::getObjTypeByIdx ///\brief Returns the type of an object in this group, given the @@ -1632,9 +1599,37 @@ H5G_obj_t H5Location::getObjTypeByIdx(hsize_t idx, H5std_string& type_name) cons return (obj_type); } +#ifndef DOXYGEN_SHOULD_SKIP_THIS +//-------------------------------------------------------------------------- +// Function: H5Location::p_get_obj_type (protected) +// Purpose Retrieves the type of object that an object reference points to. +// Parameters +// ref - IN: Reference to query +// ref_type - IN: Type of reference to query +// Return An object type, which can be one of the following: +// H5G_UNKNOWN \tFailure occurs (-1) +// H5G_GROUP \tObject is a group. +// H5G_DATASET \tObject is a dataset. +// H5G_TYPE Object \tis a named datatype. +// H5G_LINK \tObject is a symbolic link. +// H5G_UDLINK \tObject is a user-defined link. +// Exception H5::ReferenceException +// Programmer Binh-Minh Ribler - May, 2004 +//-------------------------------------------------------------------------- +H5G_obj_t H5Location::p_get_obj_type(void *ref, H5R_type_t ref_type) const +{ + H5G_obj_t obj_type = H5Rget_obj_type1(getId(), ref_type, ref); + if (obj_type == H5G_UNKNOWN) + { + throw ReferenceException(inMemFunc("getObjType"), "H5Rget_obj_type1 failed"); + } + return(obj_type); +} + #endif // DOXYGEN_SHOULD_SKIP_THIS -#endif /* H5_NO_DEPRECATED_SYMBOLS */ +#endif // H5_NO_DEPRECATED_SYMBOLS +#ifndef DOXYGEN_SHOULD_SKIP_THIS //-------------------------------------------------------------------------- // Function: H5Location::throwException ///\brief Invokes subclass' throwException diff --git a/c++/src/H5Location.h b/c++/src/H5Location.h index f551560..f49b3c1 100644 --- a/c++/src/H5Location.h +++ b/c++/src/H5Location.h @@ -26,13 +26,13 @@ namespace H5 { location identifier to specify the HDF5 object. The location identifier can be either file, group, dataset, attribute, or named datatype. Wrappers for H5A functions stay in H5Object. - - Inheritance: IdComponent */ // Class forwarding class ArrayType; class LinkAccPropList; class VarLenType; + +// Inheritance: IdComponent class H5_DLLCPP H5Location : public IdComponent { public: // Checks if a link of a given name exists in a location diff --git a/c++/src/H5Object.cpp b/c++/src/H5Object.cpp index a711374..7beee71 100644 --- a/c++/src/H5Object.cpp +++ b/c++/src/H5Object.cpp @@ -98,7 +98,7 @@ void f_Attribute_setId(Attribute* attr, hid_t new_id) { attr->p_setId(new_id); } -#endif +#endif // DOXYGEN_SHOULD_SKIP_THIS //-------------------------------------------------------------------------- // Function: H5Object::createAttribute @@ -373,7 +373,6 @@ void H5Object::renameAttr(const H5std_string& oldname, const H5std_string& newna renameAttr (oldname.c_str(), newname.c_str()); } -#ifndef DOXYGEN_SHOULD_SKIP_THIS //-------------------------------------------------------------------------- // Function: getObjName ///\brief Given an id, returns the type of the object. @@ -485,6 +484,7 @@ ssize_t H5Object::getObjName(H5std_string& obj_name, size_t len) const return(name_size); } +#ifndef DOXYGEN_SHOULD_SKIP_THIS //-------------------------------------------------------------------------- // Function: H5Object destructor ///\brief Noop destructor. diff --git a/c++/src/H5Object.h b/c++/src/H5Object.h index 0e2446f..f8877ee 100644 --- a/c++/src/H5Object.h +++ b/c++/src/H5Object.h @@ -20,7 +20,8 @@ namespace H5 { /*! \class H5Object \brief Class H5Object is a bridge between H5Location and DataSet, DataType, and Group. - +*/ +/* Modification: Sept 18, 2012: Added class H5Location in between IdComponent and H5Object. An H5File now inherits from H5Location. All HDF5 @@ -36,8 +37,6 @@ namespace H5 { into H5Object. This way, C functions that takes attribute id can be in H5Location and those that cannot take attribute id can be in H5Object. - - Inheritance: H5Location -> IdComponent */ // Class forwarding class H5Object; @@ -56,6 +55,7 @@ class UserData4Aiterate { H5Object* location; }; +// Inheritance: H5Location -> IdComponent class H5_DLLCPP H5Object : public H5Location { public: // Creates an attribute for the specified object diff --git a/c++/src/H5OcreatProp.h b/c++/src/H5OcreatProp.h index 878c67a..d1eae86 100644 --- a/c++/src/H5OcreatProp.h +++ b/c++/src/H5OcreatProp.h @@ -19,10 +19,9 @@ namespace H5 { /*! \class ObjCreatPropList \brief Class ObjCreatPropList inherits from PropList and provides - wrappers for the HDF5 file create property list. - - Inheritance: PropList -> IdComponent + wrappers for the HDF5 object create property list. */ +// Inheritance: PropList -> IdComponent class H5_DLLCPP ObjCreatPropList : public PropList { public: ///\brief Default object creation property list. diff --git a/c++/src/H5PredType.h b/c++/src/H5PredType.h index 2ffc87f..c631fb9 100644 --- a/c++/src/H5PredType.h +++ b/c++/src/H5PredType.h @@ -23,9 +23,8 @@ namespace H5 { These types can only be made copy of, not created by H5Tcreate or closed by H5Tclose. They are treated as constants. - - Inheritance: AtomType -> DataType -> H5Object -> H5Location -> IdComponent */ +// Inheritance: AtomType -> DataType -> H5Object -> H5Location -> IdComponent class H5_DLLCPP PredType : public AtomType { public: ///\brief Returns this class name. diff --git a/c++/src/H5PropList.h b/c++/src/H5PropList.h index 154d7b2..3ef365a 100644 --- a/c++/src/H5PropList.h +++ b/c++/src/H5PropList.h @@ -17,12 +17,9 @@ namespace H5 { -//! Class PropList provides operations for generic property lists. /*! \class PropList \brief Class PropList inherits from IdComponent and provides wrappers for the HDF5 generic property list. - - Inheritance: IdComponent */ class H5_DLLCPP PropList : public IdComponent { public: diff --git a/c++/src/H5StrType.h b/c++/src/H5StrType.h index abac8de..cc850fe 100644 --- a/c++/src/H5StrType.h +++ b/c++/src/H5StrType.h @@ -18,11 +18,10 @@ namespace H5 { /*! \class StrType - \brief StrType is a derivative of a DataType and operates on HDF5 + \brief StrType is derived from a DataType and operates on HDF5 string datatype. - - Inheritance: AtomType -> DataType -> H5Object -> H5Location -> IdComponent */ +// Inheritance: AtomType -> DataType -> H5Object -> H5Location -> IdComponent class H5_DLLCPP StrType : public AtomType { public: // Creates a string type using a predefined type diff --git a/c++/src/H5VarLenType.h b/c++/src/H5VarLenType.h index 4048a4e..7793cba 100644 --- a/c++/src/H5VarLenType.h +++ b/c++/src/H5VarLenType.h @@ -18,11 +18,10 @@ namespace H5 { /*! \class VarLenType - \brief VarLenType is a derivative of a DataType and operates on HDF5 + \brief VarLenType is derived from a DataType and operates on HDF5 C's Variable-length Datatypes. - - Inheritance: DataType -> H5Object -> H5Location -> IdComponent */ +// Inheritance: DataType -> H5Object -> H5Location -> IdComponent class H5_DLLCPP VarLenType : public DataType { public: // Constructor that creates a variable-length datatype based diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 1aa8577..44863ff 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -486,6 +486,13 @@ Bug Fixes since HDF5-1.10.0-patch1 release C++ APIs -------- + - The member function H5Location::getNumObjs() is moved to + class Group because the objects are in a group or a file only, + and H5Object::getNumAttrs to H5Location to get the number of + attributes at a given location. + + (BMR, 2017/03/17, PR#466) + - Due to the change in the C API, the overloaded functions of PropList::setProperty now need const for some arguments. They are planned for deprecation and are replaced by new versions with proper -- cgit v0.12