diff options
author | Binh-Minh Ribler <bmribler@hdfgroup.org> | 2014-03-27 04:36:53 (GMT) |
---|---|---|
committer | Binh-Minh Ribler <bmribler@hdfgroup.org> | 2014-03-27 04:36:53 (GMT) |
commit | e79b0dece508bbc9cb9710625f60ec95e6ea6f27 (patch) | |
tree | a820cb427822a79380680ad64e02e91056b2c7cd /c++/src | |
parent | 448e1e05f15326581db9795e92ffd04eae69aa91 (diff) | |
download | hdf5-e79b0dece508bbc9cb9710625f60ec95e6ea6f27.zip hdf5-e79b0dece508bbc9cb9710625f60ec95e6ea6f27.tar.gz hdf5-e79b0dece508bbc9cb9710625f60ec95e6ea6f27.tar.bz2 |
[svn-r24912] Purpose: Fix HDFFV-8642
Description:
Added CompType::setSize(size_t size) to set size for compound data type
as H5Tset_size had been changed.
Platforms tested:
Linux/ppc64 (ostrich)
Linux/32 2.6 (jam)
SunOS 5.11 (emu)
Diffstat (limited to 'c++/src')
-rw-r--r-- | c++/src/H5CompType.cpp | 19 | ||||
-rw-r--r-- | c++/src/H5CompType.h | 3 |
2 files changed, 22 insertions, 0 deletions
diff --git a/c++/src/H5CompType.cpp b/c++/src/H5CompType.cpp index df73d9b..1846846 100644 --- a/c++/src/H5CompType.cpp +++ b/c++/src/H5CompType.cpp @@ -451,6 +451,25 @@ void CompType::pack() const } //-------------------------------------------------------------------------- +// Function: CompType::setSize +///\brief Sets the total size for this compound datatype. +///\param size - IN: Size to set +///\exception H5::DataTypeIException +// Note +// H5Tset_size works on atom datatypes and compound datatypes only +// Programmer Binh-Minh Ribler - 2014 +//-------------------------------------------------------------------------- +void CompType::setSize(size_t size) const +{ + // Call C routine H5Tset_size to set the total size + herr_t ret_value = H5Tset_size(id, size); + if (ret_value < 0) + { + throw DataTypeIException("CompType::setSize", "H5Tset_size failed"); + } +} + +//-------------------------------------------------------------------------- // Function: CompType destructor ///\brief Properly terminates access to this compound datatype. // Programmer Binh-Minh Ribler - 2000 diff --git a/c++/src/H5CompType.h b/c++/src/H5CompType.h index 3d6a62f..bd6d76c 100644 --- a/c++/src/H5CompType.h +++ b/c++/src/H5CompType.h @@ -98,6 +98,9 @@ class H5_DLLCPP CompType : public DataType { // Recursively removes padding from within this compound datatype. void pack() const; + // Sets the total size for this compound datatype. + void setSize(size_t size) const; + ///\brief Returns this class name. virtual H5std_string fromClass () const { return("CompType"); } |