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)
This commit is contained in:
Binh-Minh Ribler 2016-09-26 23:08:38 -05:00 committed by Allen Byrne
parent 4fc6f27a5e
commit 43dd56f0a0
24 changed files with 115 additions and 75 deletions

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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.

View File

@ -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.

View File

@ -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:

View File

@ -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.

View File

@ -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).

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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;

View File

@ -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.

View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -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