summaryrefslogtreecommitdiffstats
path: root/c++/src
diff options
context:
space:
mode:
authorBinh-Minh Ribler <bmribler@hdfgroup.org>2014-03-27 04:36:53 (GMT)
committerBinh-Minh Ribler <bmribler@hdfgroup.org>2014-03-27 04:36:53 (GMT)
commite79b0dece508bbc9cb9710625f60ec95e6ea6f27 (patch)
treea820cb427822a79380680ad64e02e91056b2c7cd /c++/src
parent448e1e05f15326581db9795e92ffd04eae69aa91 (diff)
downloadhdf5-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.cpp19
-rw-r--r--c++/src/H5CompType.h3
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"); }