summaryrefslogtreecommitdiffstats
path: root/c++
diff options
context:
space:
mode:
authorBinh-Minh Ribler <bmribler@hdfgroup.org>2016-09-27 04:08:38 (GMT)
committerBinh-Minh Ribler <bmribler@hdfgroup.org>2016-09-27 04:08:38 (GMT)
commite0bf9046c20a1e356e110c03713506261b445182 (patch)
tree3e9f3b24aa6af1bbfb969b2202909794b0af1c50 /c++
parent3291ceb0eeee73321f814bcb509543b2ccaadaab (diff)
downloadhdf5-e0bf9046c20a1e356e110c03713506261b445182.zip
hdf5-e0bf9046c20a1e356e110c03713506261b445182.tar.gz
hdf5-e0bf9046c20a1e356e110c03713506261b445182.tar.bz2
Purpose: Updated documentation
Description: Revised class brief description and other comments for up-to-date info. Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
Diffstat (limited to 'c++')
-rw-r--r--c++/src/H5ArrayType.h2
-rw-r--r--c++/src/H5AtomType.h2
-rw-r--r--c++/src/H5Attribute.h2
-rw-r--r--c++/src/H5CompType.h2
-rw-r--r--c++/src/H5DataSet.h2
-rw-r--r--c++/src/H5DataSpace.h7
-rw-r--r--c++/src/H5DataType.h2
-rw-r--r--c++/src/H5DcreatProp.h6
-rw-r--r--c++/src/H5DxferProp.h6
-rw-r--r--c++/src/H5EnumType.h7
-rw-r--r--c++/src/H5FaccProp.h7
-rw-r--r--c++/src/H5FcreatProp.h7
-rw-r--r--c++/src/H5File.h5
-rw-r--r--c++/src/H5FloatType.h7
-rw-r--r--c++/src/H5Group.h9
-rw-r--r--c++/src/H5IdComponent.h2
-rw-r--r--c++/src/H5IntType.h7
-rw-r--r--c++/src/H5Location.h30
-rw-r--r--c++/src/H5Object.h49
-rw-r--r--c++/src/H5OcreatProp.h7
-rw-r--r--c++/src/H5PredType.h2
-rw-r--r--c++/src/H5PropList.h6
-rw-r--r--c++/src/H5StrType.h7
-rw-r--r--c++/src/H5VarLenType.h7
24 files changed, 115 insertions, 75 deletions
diff --git a/c++/src/H5ArrayType.h b/c++/src/H5ArrayType.h
index fb6c711..aa7450c 100644
--- a/c++/src/H5ArrayType.h
+++ b/c++/src/H5ArrayType.h
@@ -24,6 +24,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
*/
class H5_DLLCPP ArrayType : public DataType {
public:
diff --git a/c++/src/H5AtomType.h b/c++/src/H5AtomType.h
index 792312a..9798efc 100644
--- a/c++/src/H5AtomType.h
+++ b/c++/src/H5AtomType.h
@@ -27,6 +27,8 @@ namespace H5 {
AtomType provides operations on HDF5 atomic datatypes. It also inherits
from DataType.
+
+ Inheritance: DataType -> H5Object -> H5Location -> IdComponent
*/
class H5_DLLCPP AtomType : public DataType {
public:
diff --git a/c++/src/H5Attribute.h b/c++/src/H5Attribute.h
index 6590c23..5455f76 100644
--- a/c++/src/H5Attribute.h
+++ b/c++/src/H5Attribute.h
@@ -28,6 +28,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
*/
class H5_DLLCPP Attribute : public AbstractDs, public H5Location {
public:
diff --git a/c++/src/H5CompType.h b/c++/src/H5CompType.h
index bd6d76c..8ecc8bf 100644
--- a/c++/src/H5CompType.h
+++ b/c++/src/H5CompType.h
@@ -24,6 +24,8 @@ namespace H5 {
/*! \class CompType
\brief CompType is a derivative of a DataType and operates on HDF5
compound datatypes.
+
+ Inheritance: DataType -> H5Object -> H5Location -> IdComponent
*/
class H5_DLLCPP CompType : public DataType {
public:
diff --git a/c++/src/H5DataSet.h b/c++/src/H5DataSet.h
index c97e5b0..dd98d26 100644
--- a/c++/src/H5DataSet.h
+++ b/c++/src/H5DataSet.h
@@ -27,6 +27,8 @@ namespace H5 {
An datasets 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
*/
class H5_DLLCPP DataSet : public H5Object, public AbstractDs {
public:
diff --git a/c++/src/H5DataSpace.h b/c++/src/H5DataSpace.h
index 384f1a3..38d8135 100644
--- a/c++/src/H5DataSpace.h
+++ b/c++/src/H5DataSpace.h
@@ -21,7 +21,12 @@
namespace H5 {
#endif
-//! Class DataSpace operates on HDF5 dataspaces.
+/*! \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:
///\brief Default DataSpace objects
diff --git a/c++/src/H5DataType.h b/c++/src/H5DataType.h
index 7584cff..e332cee 100644
--- a/c++/src/H5DataType.h
+++ b/c++/src/H5DataType.h
@@ -30,6 +30,8 @@ namespace H5 {
DataType inherits from H5Object because a named datatype is an HDF5
object and is a base class of ArrayType, AtomType, CompType, EnumType,
and VarLenType.
+
+ Inheritance: DataType -> H5Object -> H5Location -> IdComponent
*/
class H5_DLLCPP DataType : public H5Object {
public:
diff --git a/c++/src/H5DcreatProp.h b/c++/src/H5DcreatProp.h
index fa7b1c1..07c9077 100644
--- a/c++/src/H5DcreatProp.h
+++ b/c++/src/H5DcreatProp.h
@@ -27,8 +27,10 @@ namespace H5 {
class DataType;
/*! \class DSetCreatPropList
- \brief Class DSetCreatPropList represents the dataset creation property
- list.
+ \brief Class DSetCreatPropList inherits from ObjCreatPropList and provides
+ wrappers for the HDF5 dataset creation property functions.
+
+ Inheritance: ObjCreatPropList -> PropList -> IdComponent
*/
class H5_DLLCPP DSetCreatPropList : public ObjCreatPropList {
public:
diff --git a/c++/src/H5DxferProp.h b/c++/src/H5DxferProp.h
index 31fc372..a4af53c 100644
--- a/c++/src/H5DxferProp.h
+++ b/c++/src/H5DxferProp.h
@@ -25,8 +25,10 @@ namespace H5 {
#endif
/*! \class DSetMemXferPropList
- \brief Class DSetMemXferPropList represents the dataset memory and
- transfer property list.
+ \brief Class DSetCreatPropList inherits from PropList and provides
+ wrappers for the HDF5 dataset memory and transfer property list.
+
+ Inheritance: ObjCreatPropList -> PropList -> IdComponent
*/
class H5_DLLCPP DSetMemXferPropList : public PropList {
public:
diff --git a/c++/src/H5EnumType.h b/c++/src/H5EnumType.h
index fe36e8b..bc5b870 100644
--- a/c++/src/H5EnumType.h
+++ b/c++/src/H5EnumType.h
@@ -21,7 +21,12 @@
namespace H5 {
#endif
-//! Class EnumType operates on HDF5 enum datatypes.
+/*! \class EnumType
+ \brief EnumType is a derivative of a DataType and operates on HDF5
+ enum datatypes.
+
+ Inheritance: DataType -> H5Object -> H5Location -> IdComponent
+*/
class H5_DLLCPP EnumType : public DataType {
public:
diff --git a/c++/src/H5FaccProp.h b/c++/src/H5FaccProp.h
index 831488c..e96d02f 100644
--- a/c++/src/H5FaccProp.h
+++ b/c++/src/H5FaccProp.h
@@ -24,7 +24,12 @@
namespace H5 {
#endif
-//! Class FileAccPropList represents the HDF5 file access property list.
+/*! \class FileAccPropList
+ \brief Class FileAccPropList inherits from PropList and provides
+ wrappers for the HDF5 file access property list.
+
+ 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 5d81078..b2a5c2b 100644
--- a/c++/src/H5FcreatProp.h
+++ b/c++/src/H5FcreatProp.h
@@ -21,7 +21,12 @@
namespace H5 {
#endif
-//! Class FileCreatPropList represents the HDF5 file create property list.
+/*! \class FileCreatPropList
+ \brief Class FileCreatPropList inherits from PropList and provides
+ wrappers for the HDF5 file create property list.
+
+ 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 7ec92fe..476c5b9 100644
--- a/c++/src/H5File.h
+++ b/c++/src/H5File.h
@@ -23,9 +23,10 @@ namespace H5 {
#endif
/*! \class H5File
- \brief Class H5File represents an HDF5 file.
+ \brief Class H5File represents an HDF5 file and inherits from class Group
+ as file is a root group.
- It inherits from H5Location and CommonFG.
+ Inheritance: Group -> H5Object -> H5Location -> IdComponent
*/
class H5_DLLCPP H5File : public Group {
public:
diff --git a/c++/src/H5FloatType.h b/c++/src/H5FloatType.h
index e88093e..ce816a4 100644
--- a/c++/src/H5FloatType.h
+++ b/c++/src/H5FloatType.h
@@ -21,7 +21,12 @@
namespace H5 {
#endif
-//! Class FloatType operates on HDF5 floating point datatype.
+/*! \class FloatType
+ \brief FloatType is a derivative of a DataType and operates on HDF5
+ floating point datatype.
+
+ 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.h b/c++/src/H5Group.h
index f1dfce1..b6ec425 100644
--- a/c++/src/H5Group.h
+++ b/c++/src/H5Group.h
@@ -24,19 +24,12 @@ namespace H5 {
/*! \class Group
\brief Class Group represents an HDF5 group.
- It inherits many operations from H5Location and CommonFG.
+ Inheritance: H5Object -> H5Location -> IdComponent
*/
// Class forwarding
-//class Group;
-//class H5File;
class ArrayType;
class VarLenType;
-/*! \class CommonFG
- \brief \a CommonFG is an abstract base class of H5File and Group.
-
- It provides common operations of H5File and Group.
-*/
class H5_DLLCPP Group : public H5Object {
public:
// Group constructor to create a group or file (aka root group).
diff --git a/c++/src/H5IdComponent.h b/c++/src/H5IdComponent.h
index 61c8bd6..92765f2 100644
--- a/c++/src/H5IdComponent.h
+++ b/c++/src/H5IdComponent.h
@@ -17,8 +17,6 @@
#ifndef __IdComponent_H
#define __IdComponent_H
-// IdComponent represents an HDF5 object that has an identifier.
-
#ifndef H5_NO_NAMESPACE
namespace H5 {
#endif
diff --git a/c++/src/H5IntType.h b/c++/src/H5IntType.h
index e28f5c2..362a7e3 100644
--- a/c++/src/H5IntType.h
+++ b/c++/src/H5IntType.h
@@ -21,7 +21,12 @@
namespace H5 {
#endif
-//! Class IntType operates on HDF5 integer datatype.
+/*! \class IntType
+ \brief IntType is a derivative of a DataType and operates on HDF5
+ integer datatype.
+
+ 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/H5Location.h b/c++/src/H5Location.h
index 4f7a717..9ab67d3 100644
--- a/c++/src/H5Location.h
+++ b/c++/src/H5Location.h
@@ -23,35 +23,19 @@
namespace H5 {
#endif
-//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*/);
-
-//! User data for attribute iteration
- /* class UserData4Aiterate {
- public:
- attr_operator_t op;
- void* opData;
- H5Location* location;
-};
- */
-
-// Class forwarding
-class H5_DLLCPP ArrayType;
-class H5_DLLCPP VarLenType;
-
/*! \class H5Location
\brief H5Location is an abstract base class, added in version 1.8.12.
It provides a collection of wrappers for the C functions that take a
location identifier to specify the HDF5 object. The location identifier
- can be either file, group, dataset, or named datatype.
+ can be either file, group, dataset, attribute, or named datatype.
+ Wrappers for H5A functions stay in H5Object.
+
+ Inheritance: IdComponent
*/
-// Most of these methods were in H5Object but are now moved here because
-// a location can be a file, group, dataset, or named datatype. -BMR, 2013-10-1
+// Class forwarding
+class H5_DLLCPP ArrayType;
+class H5_DLLCPP VarLenType;
class H5_DLLCPP H5Location : public IdComponent {
public:
// Flushes all buffers associated with this location to disk.
diff --git a/c++/src/H5Object.h b/c++/src/H5Object.h
index 372faed..e570055 100644
--- a/c++/src/H5Object.h
+++ b/c++/src/H5Object.h
@@ -17,27 +17,32 @@
#ifndef __H5Object_H
#define __H5Object_H
-//#include "H5Location.h"
-//#include "H5Classes.h" // constains forward class declarations
-
-// H5Object is a baseclass. It has these subclasses:
-// Group, DataSet, and DataType.
-// DataType, in turn, has several specific datatypes as subclasses.
-// Modification:
-// Sept 18, 2012: Added class H5Location in between IdComponent and
-// H5Object. An H5File now inherits from H5Location. All HDF5
-// wrappers in H5Object are moved up to H5Location. H5Object
-// is left mostly empty for future wrappers that are only for
-// group, dataset, and named datatype. Note that the reason for
-// adding H5Location instead of simply moving H5File to be under
-// H5Object is H5File is not an HDF5 object, and renaming H5Object
-// to H5Location will risk breaking user applications.
-// -BMR
-// Apr 2, 2014: Added wrapper getObjName for H5Iget_name
#ifndef H5_NO_NAMESPACE
namespace H5 {
#endif
+/*! \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
+ wrappers in H5Object are moved up to H5Location. H5Object
+ is left mostly empty for future wrappers that are only for
+ group, dataset, and named datatype. Note that the reason for
+ adding H5Location instead of simply moving H5File to be under
+ H5Object is H5File is not an HDF5 object, and renaming H5Object
+ to H5Location will risk breaking user applications.
+ -BMR
+ Apr 2, 2014: Added wrapper getObjName for H5Iget_name
+ Sep 21, 2016: Rearranging classes (HDFFV-9920) moved H5A wrappers back
+ 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 H5_DLLCPP H5Object;
class H5_DLLCPP Attribute;
@@ -55,18 +60,8 @@ class UserData4Aiterate {
H5Object* location;
};
-/*! \class H5Object
- \brief Class H5Object is a bridge between H5Location and DataSet, DataType,
- and Group.
-
- All the wrappers in H5Object were moved to H5Location.
-*/
class H5_DLLCPP H5Object : public H5Location {
public:
-// Rearranging classes (HDFFV-9920) moved H5A wrappers back into H5Object.
-// That way, C functions that takes attribute id can be in
-// H5Location and those that cannot take attribute id can be in H5Object.
-
// Creates an attribute for the specified object
// 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;
diff --git a/c++/src/H5OcreatProp.h b/c++/src/H5OcreatProp.h
index 0fda34d..0532b3c 100644
--- a/c++/src/H5OcreatProp.h
+++ b/c++/src/H5OcreatProp.h
@@ -21,7 +21,12 @@
namespace H5 {
#endif
-//! Class ObjCreatPropList represents the HDF5 object creation property list.
+/*! \class ObjCreatPropList
+ \brief Class ObjCreatPropList inherits from PropList and provides
+ wrappers for the HDF5 file 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 f560765..1e789ef 100644
--- a/c++/src/H5PredType.h
+++ b/c++/src/H5PredType.h
@@ -27,6 +27,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
*/
class H5_DLLCPP PredType : public AtomType {
public:
diff --git a/c++/src/H5PropList.h b/c++/src/H5PropList.h
index 7f6ee31..dbd1263 100644
--- a/c++/src/H5PropList.h
+++ b/c++/src/H5PropList.h
@@ -22,6 +22,12 @@ namespace H5 {
#endif
//! 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:
///\brief Default property list
diff --git a/c++/src/H5StrType.h b/c++/src/H5StrType.h
index 8b3a773..eac6693 100644
--- a/c++/src/H5StrType.h
+++ b/c++/src/H5StrType.h
@@ -21,7 +21,12 @@
namespace H5 {
#endif
-//! Class StrType operates on HDF5 string datatypes.
+/*! \class StrType
+ \brief StrType is a derivative of a DataType and operates on HDF5
+ string datatype.
+
+ 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 672b3db..4898135 100644
--- a/c++/src/H5VarLenType.h
+++ b/c++/src/H5VarLenType.h
@@ -21,7 +21,12 @@
namespace H5 {
#endif
-//! VarLenType operates on the HDF5 C's Variable-length Datatypes.
+/*! \class VarLenType
+ \brief VarLenType is a derivative of a DataType and operates on HDF5
+ C's Variable-length Datatypes.
+
+ Inheritance: DataType -> H5Object -> H5Location -> IdComponent
+*/
class H5_DLLCPP VarLenType : public DataType {
public:
// Constructor that creates a variable-length datatype based