summaryrefslogtreecommitdiffstats
path: root/c++/src/H5IntType.cpp
diff options
context:
space:
mode:
authorBinh-Minh Ribler <bmribler@hdfgroup.org>2017-10-05 21:24:25 (GMT)
committerBinh-Minh Ribler <bmribler@hdfgroup.org>2017-10-05 21:24:25 (GMT)
commitb1819710bc3ef8b03e453d177b9a8b308100d96d (patch)
treead4c92a27cbac7642ca9f6892112195cc58c7a76 /c++/src/H5IntType.cpp
parentdd75930ef16b36644111f6e584b11388b63b43c9 (diff)
downloadhdf5-b1819710bc3ef8b03e453d177b9a8b308100d96d.zip
hdf5-b1819710bc3ef8b03e453d177b9a8b308100d96d.tar.gz
hdf5-b1819710bc3ef8b03e453d177b9a8b308100d96d.tar.bz2
Adding new C++ wrappers
Description: - Added wrappers for H5Tencode to class DataType and H5Tdecode to classes DataType and its subclasses. // Creates a binary object description of this datatype. void DataType::encode() // Returns the decoded type from the binary object description. virtual DataType* DataType::decode() const; virtual DataType* ArrayType::decode() const; virtual DataType* CompType::decode() const; virtual DataType* DataType::decode() const; virtual DataType* EnumType::decode() const; virtual DataType* FloatType::decode() const; virtual DataType* IntType::decode() const; virtual DataType* StrType::decode() const; virtual DataType* VarLenType::decode() const; - Replaced existing functions CommonFG::openXxxType with individual data type constructors, XxxType, to improve usability. Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
Diffstat (limited to 'c++/src/H5IntType.cpp')
-rw-r--r--c++/src/H5IntType.cpp59
1 files changed, 59 insertions, 0 deletions
diff --git a/c++/src/H5IntType.cpp b/c++/src/H5IntType.cpp
index 7d48314..6af2dc2 100644
--- a/c++/src/H5IntType.cpp
+++ b/c++/src/H5IntType.cpp
@@ -86,6 +86,65 @@ IntType::IntType(const DataSet& dataset) : AtomType()
}
//--------------------------------------------------------------------------
+// Function: IntType overloaded constructor
+///\brief Creates a IntType instance by opening an HDF5 integer datatype
+/// given its name as a char*.
+///\param loc - IN: Location of the type
+///\param type_name - IN: Integer type name
+///\exception H5::DataTypeIException
+// Programmer Binh-Minh Ribler - Sept 2017
+// Description
+// In 1.8.20, this constructor was introduced and may replace the
+// existing function CommonFG::openIntType(const char*) to
+// improve usability.
+// -BMR, Sept 2017
+//--------------------------------------------------------------------------
+IntType::IntType(const H5Location& loc, const char *type_name) : AtomType()
+{
+ id = p_opentype(loc, type_name);
+}
+
+//--------------------------------------------------------------------------
+// Function: IntType overloaded constructor
+///\brief Creates a IntType instance by opening an HDF5 integer datatype
+/// given its name, provided as an \c H5std_string.
+///\param loc - IN: Location of the type
+///\param type_name - IN: Integer type name
+///\exception H5::DataTypeIException
+// Programmer Binh-Minh Ribler - Sept 2017
+// Description
+// In 1.8.20, this constructor was introduced and may replace the
+// existing function CommonFG::openIntType(const H5std_string&)
+// to improve usability.
+// -BMR, Sept 2017
+//--------------------------------------------------------------------------
+IntType::IntType(const H5Location& loc, const H5std_string& type_name) : AtomType()
+{
+ id = p_opentype(loc, type_name.c_str());
+}
+
+//--------------------------------------------------------------------------
+// Function: IntType::decode
+///\brief Returns an IntType object via DataType* by decoding the
+/// binary object description of this type.
+///\exception H5::DataTypeIException
+// Programmer Binh-Minh Ribler - Sept 2017
+//--------------------------------------------------------------------------
+DataType* IntType::decode() const
+{
+ hid_t encoded_inttype_id = H5I_INVALID_HID;
+ try {
+ encoded_inttype_id = p_decode();
+ }
+ catch (DataTypeIException &err) {
+ throw;
+ }
+ IntType *encoded_inttype = new IntType;
+ encoded_inttype->p_setId(encoded_inttype_id);
+ return(encoded_inttype);
+}
+
+//--------------------------------------------------------------------------
// Function: IntType::getSign
///\brief Retrieves the sign type for an integer type.
///\return Valid sign type