HDF5 C++ API  1.8.12
 All Classes Namespaces Files Functions Variables Typedefs Macros Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
H5::DataSet Class Reference

Class DataSet operates on HDF5 datasets. More...

#include <H5DataSet.h>

Inheritance diagram for H5::DataSet:
H5::H5Object H5::AbstractDs H5::H5Location H5::IdComponent

Public Member Functions

virtual void close ()
 Closes this dataset. More...
 
void extend (const hsize_t *size) const
 Extends a dataset with unlimited dimension. More...
 
void fillMemBuf (const void *fill, DataType &fill_type, void *buf, DataType &buf_type, DataSpace &space)
 Fills a selection in memory with a value. More...
 
void fillMemBuf (void *buf, DataType &buf_type, DataSpace &space)
 This is an overloaded member function, provided for convenience. It differs from the above function in that it only takes the the last three arguments. More...
 
DSetCreatPropList getCreatePlist () const
 Gets the dataset creation property list. More...
 
haddr_t getOffset () const
 Returns the address of this dataset in the file. More...
 
virtual DataSpace getSpace () const
 Gets a copy of the dataspace of this dataset. More...
 
void getSpaceStatus (H5D_space_status_t &status) const
 Determines whether space has been allocated for a dataset. More...
 
virtual hsize_t getStorageSize () const
 Returns the amount of storage required for a dataset. More...
 
virtual size_t getInMemDataSize () const
 Gets the size in memory of the dataset's data. More...
 
hsize_t getVlenBufSize (DataType &type, DataSpace &space) const
 Returns the number of bytes required to store VL data. More...
 
void read (void *buf, const DataType &mem_type, const DataSpace &mem_space=DataSpace::ALL, const DataSpace &file_space=DataSpace::ALL, const DSetMemXferPropList &xfer_plist=DSetMemXferPropList::DEFAULT) const
 Reads raw data from the specified dataset. More...
 
void read (H5std_string &buf, const DataType &mem_type, const DataSpace &mem_space=DataSpace::ALL, const DataSpace &file_space=DataSpace::ALL, const DSetMemXferPropList &xfer_plist=DSetMemXferPropList::DEFAULT) const
 This is an overloaded member function, provided for convenience. It takes a reference to a H5std_string for the buffer. More...
 
void write (const void *buf, const DataType &mem_type, const DataSpace &mem_space=DataSpace::ALL, const DataSpace &file_space=DataSpace::ALL, const DSetMemXferPropList &xfer_plist=DSetMemXferPropList::DEFAULT) const
 Writes raw data from an application buffer to a dataset. More...
 
void write (const H5std_string &buf, const DataType &mem_type, const DataSpace &mem_space=DataSpace::ALL, const DataSpace &file_space=DataSpace::ALL, const DSetMemXferPropList &xfer_plist=DSetMemXferPropList::DEFAULT) const
 This is an overloaded member function, provided for convenience. It takes a reference to a H5std_string for the buffer. More...
 
int iterateElems (void *buf, const DataType &type, const DataSpace &space, H5D_operator_t op, void *op_data=NULL)
 Iterates over all selected elements in a dataspace. More...
 
virtual H5std_string fromClass () const
 Returns this class name. More...
 
 DataSet (const H5Location &loc, const void *ref, H5R_type_t ref_type=H5R_OBJECT)
 Given a reference, ref, to an hdf5 location, creates a DataSet object. More...
 
 DataSet (const Attribute &attr, const void *ref, H5R_type_t ref_type=H5R_OBJECT)
 Given a reference, ref, to an hdf5 attribute, creates a DataSet object. More...
 
 DataSet ()
 Default constructor: creates a stub DataSet. More...
 
 DataSet (const DataSet &original)
 Copy constructor: makes a copy of the original DataSet object. More...
 
 DataSet (const hid_t existing_id)
 Creates an DataSet object using the id of an existing dataset. More...
 
virtual hid_t getId () const
 Get the id of this dataset. More...
 
virtual ~DataSet ()
 Properly terminates access to this dataset. More...
 
- Public Member Functions inherited from H5::H5Object
 H5Object (const H5Object &original)
 Copy constructor: makes a copy of the original H5Object instance. More...
 
virtual ~H5Object ()
 Noop destructor. More...
 
- Public Member Functions inherited from H5::H5Location
Attribute createAttribute (const char *name, const DataType &type, const DataSpace &space, const PropList &create_plist=PropList::DEFAULT) const
 Creates an attribute for a group, dataset, or named datatype. More...
 
Attribute createAttribute (const H5std_string &name, const DataType &type, const DataSpace &space, const PropList &create_plist=PropList::DEFAULT) const
 This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an H5std_string for name. More...
 
Attribute openAttribute (const char *name) const
 Opens an attribute given its name. More...
 
Attribute openAttribute (const H5std_string &name) const
 This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an H5std_string for name. More...
 
Attribute openAttribute (const unsigned int idx) const
 Opens an attribute given its index. More...
 
void flush (H5F_scope_t scope) const
 Flushes all buffers associated with a location to disk. More...
 
H5std_string getFileName () const
 Gets the name of the file, in which this HDF5 object belongs. More...
 
int getNumAttrs () const
 Returns the number of attributes attached to this HDF5 object. More...
 
H5G_obj_t getObjType (void *ref, H5R_type_t ref_type=H5R_OBJECT) const
 Retrieves the type of object that an object reference points to. More...
 
H5O_type_t getRefObjType (void *ref, H5R_type_t ref_type=H5R_OBJECT) const
 Retrieves the type of object that an object reference points to. More...
 
int iterateAttrs (attr_operator_t user_op, unsigned *idx=NULL, void *op_data=NULL)
 Iterates a user's function over all the attributes of an H5 object, which may be a group, dataset or named datatype. More...
 
bool attrExists (const char *name) const
 Checks whether the named attribute exists at this location. More...
 
bool attrExists (const H5std_string &name) const
 This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an H5std_string for name. More...
 
void renameAttr (const char *oldname, const char *newname) const
 Renames the named attribute from this object. More...
 
void renameAttr (const H5std_string &oldname, const H5std_string &newname) const
 This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an H5std_string for the names. More...
 
void removeAttr (const char *name) const
 Removes the named attribute from this object. More...
 
void removeAttr (const H5std_string &name) const
 This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an H5std_string for name. More...
 
void setComment (const char *name, const char *comment) const
 Sets or resets the comment for an object specified by its name. More...
 
void setComment (const H5std_string &name, const H5std_string &comment) const
 This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an H5std_string for name and comment. More...
 
void setComment (const char *comment) const
 This is an overloaded member function, provided for convenience. It differs from the above function in that it doesn't take an object name. More...
 
void setComment (const H5std_string &comment) const
 This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an H5std_string for comment. More...
 
H5std_string getComment (const char *name, size_t bufsize=256) const
 Retrieves comment for the specified object and its comment's length. More...
 
H5std_string getComment (const H5std_string &name, size_t bufsize=256) const
 This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an H5std_string for name. More...
 
void removeComment (const char *name) const
 Removes the comment from an object specified by its name. More...
 
void removeComment (const H5std_string &name) const
 This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an H5std_string for name. More...
 
void reference (void *ref, const char *name, H5R_type_t ref_type=H5R_OBJECT) const
 This is an overloaded function, provided for your convenience. It differs from the above function in that it does not take a DataSpace object and the reference type must be specified. More...
 
void reference (void *ref, const H5std_string &name, H5R_type_t ref_type=H5R_OBJECT) const
 This is an overloaded function, provided for your convenience. It differs from the above function in that it takes an H5std_string for the object's name. More...
 
void reference (void *ref, const char *name, const DataSpace &dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const
 Creates a reference to an HDF5 object or a dataset region. More...
 
void reference (void *ref, const H5std_string &name, const DataSpace &dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const
 This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an H5std_string for name. More...
 
void dereference (const H5Location &loc, const void *ref, H5R_type_t ref_type=H5R_OBJECT)
 Dereferences a reference into an HDF5 object, given an HDF5 object. More...
 
void dereference (const Attribute &attr, const void *ref, H5R_type_t ref_type=H5R_OBJECT)
 Dereferences a reference into an HDF5 object, given an attribute. More...
 
DataSpace getRegion (void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const
 Retrieves a dataspace with the region pointed to selected. More...
 
- Public Member Functions inherited from H5::IdComponent
void incRefCount (const hid_t obj_id) const
 Increment reference counter for a given id. More...
 
void incRefCount () const
 Increment reference counter for the id of this object. More...
 
void decRefCount (const hid_t obj_id) const
 Decrement reference counter for a given id. More...
 
void decRefCount () const
 Decrement reference counter for the id of this object. More...
 
int getCounter (const hid_t obj_id) const
 Returns the reference counter for a given id. More...
 
int getCounter () const
 Returns the reference counter for the id of this object. More...
 
IdComponentoperator= (const IdComponent &rhs)
 Assignment operator. More...
 
void setId (const hid_t new_id)
 Sets the identifier of this object to a new value. More...
 
 IdComponent (const hid_t h5_id)
 Creates an IdComponent object using the id of an existing object. More...
 
 IdComponent (const IdComponent &original)
 Copy constructor: makes a copy of the original IdComponent object. More...
 
H5std_string inMemFunc (const char *func_name) const
 Makes and returns string "<class-name>::<func_name>". More...
 
virtual ~IdComponent ()
 Noop destructor. More...
 
- Public Member Functions inherited from H5::AbstractDs
DataType getDataType () const
 Returns the generic datatype of this abstract dataset, which can be a dataset or an attribute. More...
 
ArrayType getArrayType () const
 Returns the array datatype of this abstract dataset which can be a dataset or an attribute. More...
 
CompType getCompType () const
 Returns the compound datatype of this abstract dataset which can be a dataset or an attribute. More...
 
EnumType getEnumType () const
 Returns the enumeration datatype of this abstract dataset which can be a dataset or an attribute. More...
 
IntType getIntType () const
 Returns the integer datatype of this abstract dataset which can be a dataset or an attribute. More...
 
FloatType getFloatType () const
 Returns the floating-point datatype of this abstract dataset, which can be a dataset or an attribute. More...
 
StrType getStrType () const
 Returns the string datatype of this abstract dataset which can be a dataset or an attribute. More...
 
VarLenType getVarLenType () const
 Returns the floating-point datatype of this abstract dataset, which can be a dataset or an attribute. More...
 
H5T_class_t getTypeClass () const
 Returns the class of the datatype that is used by this object, which can be a dataset or an attribute. More...
 
 AbstractDs (const AbstractDs &original)
 Copy constructor: makes a copy of the original AbstractDs object. More...
 
virtual ~AbstractDs ()
 Noop destructor. More...
 

Static Public Member Functions

static void vlenReclaim (const DataType &type, const DataSpace &space, const DSetMemXferPropList &xfer_plist, void *buf)
 Reclaims VL datatype memory buffers. More...
 
static void vlenReclaim (void *buf, const DataType &type, const DataSpace &space=DataSpace::ALL, const DSetMemXferPropList &xfer_plist=DSetMemXferPropList::DEFAULT)
 Reclaims VL datatype memory buffers. More...
 
- Static Public Member Functions inherited from H5::IdComponent
static H5I_type_t getHDFObjType (const hid_t obj_id)
 Given an id, returns the type of the object. More...
 

Protected Member Functions

virtual void p_setId (const hid_t new_id)
 Sets the identifier of this dataset to a new value. More...
 
- Protected Member Functions inherited from H5::H5Object
 H5Object ()
 
 H5Object (const hid_t object_id)
 
- Protected Member Functions inherited from H5::H5Location
 H5Location ()
 
 H5Location (const hid_t loc_id)
 
 H5Location (const H5Location &original)
 Copy constructor: makes a copy of the original H5Location instance. More...
 
void p_reference (void *ref, const char *name, hid_t space_id, H5R_type_t ref_type) const
 
hid_t p_dereference (hid_t loc_id, const void *ref, H5R_type_t ref_type, const char *from_func)
 
H5G_obj_t p_get_obj_type (void *ref, H5R_type_t ref_type) const
 
H5O_type_t p_get_ref_obj_type (void *ref, H5R_type_t ref_type) const
 
virtual ~H5Location ()
 Noop destructor. More...
 
- Protected Member Functions inherited from H5::IdComponent
 IdComponent ()
 Default constructor. More...
 
H5std_string p_get_file_name () const
 
- Protected Member Functions inherited from H5::AbstractDs
 AbstractDs ()
 Default constructor. More...
 
 AbstractDs (const hid_t ds_id)
 Creates an AbstractDs instance using an existing id. More...
 

Additional Inherited Members

- Static Protected Member Functions inherited from H5::IdComponent
static bool p_valid_id (const hid_t obj_id)
 

Detailed Description

Class DataSet operates on HDF5 datasets.

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.

Examples:
chunks.cpp, compound.cpp, create.cpp, extend_ds.cpp, h5group.cpp, readdata.cpp, and writedata.cpp.

Constructor & Destructor Documentation

H5::DataSet::DataSet ( const H5Location loc,
const void *  ref,
H5R_type_t  ref_type = H5R_OBJECT 
)

Given a reference, ref, to an hdf5 location, creates a DataSet object.

Parameters
loc- IN: Dataset reference object is in or location of object that the dataset is located within.
ref- IN: Reference pointer
ref_type- IN: Reference type - default to H5R_OBJECT
Exceptions
H5::DataSetIException
Description
loc can be DataSet, Group, H5File, or named DataType, that is a datatype that has been named by DataType::commit.
H5::DataSet::DataSet ( const Attribute attr,
const void *  ref,
H5R_type_t  ref_type = H5R_OBJECT 
)

Given a reference, ref, to an hdf5 attribute, creates a DataSet object.

Parameters
attr- IN: Specifying location where the referenced object is in
ref- IN: Reference pointer
ref_type- IN: Reference type - default to H5R_OBJECT
Exceptions
H5::ReferenceException
H5::DataSet::DataSet ( )

Default constructor: creates a stub DataSet.

H5::DataSet::DataSet ( const DataSet original)

Copy constructor: makes a copy of the original DataSet object.

Parameters
original- IN: DataSet instance to copy
H5::DataSet::DataSet ( const hid_t  existing_id)

Creates an DataSet object using the id of an existing dataset.

Parameters
existing_id- IN: Id of an existing dataset
H5::DataSet::~DataSet ( )
virtual

Properly terminates access to this dataset.

Member Function Documentation

void H5::DataSet::close ( )
virtual

Closes this dataset.

Exceptions
H5::DataSetIException

Implements H5::IdComponent.

void H5::DataSet::extend ( const hsize_t *  size) const

Extends a dataset with unlimited dimension.

Parameters
size- IN: Array containing the new magnitude of each dimension
Exceptions
H5::DataSetIException
Description
For more information, please see the Description section in C layer Reference Manual at:
http://www.hdfgroup.org/HDF5/doc/RM/RM_H5D.html#Dataset-Extend
Examples:
extend_ds.cpp.
void H5::DataSet::fillMemBuf ( const void *  fill,
DataType fill_type,
void *  buf,
DataType buf_type,
DataSpace space 
)

Fills a selection in memory with a value.

Parameters
fill- IN: Pointer to fill value to use - default NULL
fill_type- IN: Datatype of the fill value
buf- IN/OUT: Memory buffer to fill selection within
buf_type- IN: Datatype of the elements in buffer
space- IN: Dataspace describing memory buffer & containing selection to use
Exceptions
H5::DataSetIException
void H5::DataSet::fillMemBuf ( void *  buf,
DataType buf_type,
DataSpace space 
)

This is an overloaded member function, provided for convenience. It differs from the above function in that it only takes the the last three arguments.

Parameters
buf- IN/OUT: Memory buffer to fill selection within
buf_type- IN: Datatype of the elements in buffer
space- IN: Dataspace describing memory buffer & containing selection to use
Exceptions
H5::DataSetIException
virtual H5std_string H5::DataSet::fromClass ( ) const
inlinevirtual

Returns this class name.

Implements H5::AbstractDs.

DSetCreatPropList H5::DataSet::getCreatePlist ( ) const

Gets the dataset creation property list.

Returns
DSetCreatPropList instance
Exceptions
H5::DataSetIException
Examples:
chunks.cpp.
hid_t H5::DataSet::getId ( ) const
virtual

Get the id of this dataset.

Returns
DataSet identifier

Implements H5::H5Location.

size_t H5::DataSet::getInMemDataSize ( ) const
virtual

Gets the size in memory of the dataset's data.

Returns
Size of data (in memory)
Exceptions
H5::DataSetIException

Implements H5::AbstractDs.

haddr_t H5::DataSet::getOffset ( ) const

Returns the address of this dataset in the file.

Returns
Address of dataset
Exceptions
H5::DataSetIException
DataSpace H5::DataSet::getSpace ( ) const
virtual

Gets a copy of the dataspace of this dataset.

Returns
DataSpace instance
Exceptions
H5::DataSetIException

Implements H5::AbstractDs.

Examples:
chunks.cpp, extend_ds.cpp, readdata.cpp, and writedata.cpp.
void H5::DataSet::getSpaceStatus ( H5D_space_status_t &  status) const

Determines whether space has been allocated for a dataset.

Parameters
status- OUT: Space allocation status
Exceptions
H5::DataSetIException
hsize_t H5::DataSet::getStorageSize ( ) const
virtual

Returns the amount of storage required for a dataset.

Returns
Size of the storage or 0, for no data
Exceptions
H5::DataSetIException

Implements H5::AbstractDs.

hsize_t H5::DataSet::getVlenBufSize ( DataType type,
DataSpace space 
) const

Returns the number of bytes required to store VL data.

Returns
Amount of storage
Exceptions
H5::DataSetIException
int H5::DataSet::iterateElems ( void *  buf,
const DataType type,
const DataSpace space,
H5D_operator_t  op,
void *  op_data = NULL 
)

Iterates over all selected elements in a dataspace.

Parameters
buf- IN/OUT: Pointer to the buffer in memory containing the elements to iterate over
type- IN: Datatype for the elements stored in buf
space- IN: Dataspace for buf. Also contains the selection to iterate over.
op- IN: Function pointer to the routine to be called for each element in buf iterated over
op_data- IN/OUT: Pointer to any user-defined data associated with the operation
Exceptions
H5::DataSetIException
Note
This function may not work correctly yet - it's still under development.
void H5::DataSet::p_setId ( const hid_t  new_id)
protectedvirtual

Sets the identifier of this dataset to a new value.

Exceptions
H5::IdComponentExceptionwhen the attempt to close the HDF5 object fails

Implements H5::IdComponent.

void H5::DataSet::read ( void *  buf,
const DataType mem_type,
const DataSpace mem_space = DataSpace::ALL,
const DataSpace file_space = DataSpace::ALL,
const DSetMemXferPropList xfer_plist = DSetMemXferPropList::DEFAULT 
) const

Reads raw data from the specified dataset.

Parameters
buf- IN: Buffer for read data
mem_type- IN: Memory datatype
mem_space- IN: Memory dataspace
file_space- IN: Dataset's dataspace in the file
xfer_plist- IN: Transfer property list for this I/O operation
Exceptions
H5::DataSetIException
Description
This function reads raw data from this dataset into the buffer buf, converting from file datatype and dataspace to memory datatype mem_type and dataspace mem_space.
Examples:
chunks.cpp, compound.cpp, extend_ds.cpp, readdata.cpp, and writedata.cpp.
void H5::DataSet::read ( H5std_string strg,
const DataType mem_type,
const DataSpace mem_space = DataSpace::ALL,
const DataSpace file_space = DataSpace::ALL,
const DSetMemXferPropList xfer_plist = DSetMemXferPropList::DEFAULT 
) const

This is an overloaded member function, provided for convenience. It takes a reference to a H5std_string for the buffer.

Parameters
strg- IN: Buffer for read data string
mem_type- IN: Memory datatype
mem_space- IN: Memory dataspace
file_space- IN: Dataset's dataspace in the file
xfer_plist- IN: Transfer property list for this I/O operation
Exceptions
H5::DataSetIException
void H5::DataSet::vlenReclaim ( const DataType type,
const DataSpace space,
const DSetMemXferPropList xfer_plist,
void *  buf 
)
static

Reclaims VL datatype memory buffers.

Parameters
type- IN: Datatype, which is the datatype stored in the buffer
space- IN: Selection for the memory buffer to free the VL datatypes within
xfer_plist- IN: Property list used to create the buffer
buf- IN: Pointer to the buffer to be reclaimed
Exceptions
H5::DataSetIException
void H5::DataSet::vlenReclaim ( void *  buf,
const DataType type,
const DataSpace space = DataSpace::ALL,
const DSetMemXferPropList xfer_plist = DSetMemXferPropList::DEFAULT 
)
static

Reclaims VL datatype memory buffers.

Parameters
type- IN: Datatype, which is the datatype stored in the buffer
space- IN: Selection for the memory buffer to free the VL datatypes within
xfer_plist- IN: Property list used to create the buffer
buf- IN: Pointer to the buffer to be reclaimed
Exceptions
H5::DataSetIException
void H5::DataSet::write ( const void *  buf,
const DataType mem_type,
const DataSpace mem_space = DataSpace::ALL,
const DataSpace file_space = DataSpace::ALL,
const DSetMemXferPropList xfer_plist = DSetMemXferPropList::DEFAULT 
) const

Writes raw data from an application buffer to a dataset.

Parameters
buf- IN: Buffer containing data to be written
mem_type- IN: Memory datatype
mem_space- IN: Memory dataspace
file_space- IN: Dataset's dataspace in the file
xfer_plist- IN: Transfer property list for this I/O operation
Exceptions
H5::DataSetIException
Description
This function writes raw data from an application buffer buf to a dataset, converting from memory datatype mem_type and dataspace mem_space to file datatype and dataspace.
Examples:
compound.cpp, create.cpp, extend_ds.cpp, and writedata.cpp.
void H5::DataSet::write ( const H5std_string buf,
const DataType mem_type,
const DataSpace mem_space = DataSpace::ALL,
const DataSpace file_space = DataSpace::ALL,
const DSetMemXferPropList xfer_plist = DSetMemXferPropList::DEFAULT 
) const

This is an overloaded member function, provided for convenience. It takes a reference to a H5std_string for the buffer.


The documentation for this class was generated from the following files: