summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--c++/src/H5DataType.cpp22
-rw-r--r--c++/src/H5DataType.h7
2 files changed, 25 insertions, 4 deletions
diff --git a/c++/src/H5DataType.cpp b/c++/src/H5DataType.cpp
index dbe7801..867eb4e 100644
--- a/c++/src/H5DataType.cpp
+++ b/c++/src/H5DataType.cpp
@@ -507,6 +507,28 @@ bool DataType::detectClass(H5T_class_t cls) const
}
//--------------------------------------------------------------------------
+// Function: DataType::isVariableStr
+///\brief Check whether this datatype is a variable-length string.
+///\return true if this datatype is a variable-length string, and
+/// false, otherwise.
+///\exception H5::DataTypeIException
+// Programmer Binh-Minh Ribler - May, 2004
+//--------------------------------------------------------------------------
+bool DataType::isVariableStr() const
+{
+ htri_t is_varlen_str = H5Tis_variable_str(id);
+ if( is_varlen_str == 1 )
+ return true;
+ else if( is_varlen_str == 0 )
+ return false;
+ else
+ {
+ throw DataTypeIException("DataType::isVariableStr",
+ "H5Tis_variable_str returns negative value");
+ }
+}
+
+//--------------------------------------------------------------------------
// This private function calls the C API H5Tclose to close this datatype.
// Used by H5Object::p_reset.
// Programmer Binh-Minh Ribler - 2000
diff --git a/c++/src/H5DataType.h b/c++/src/H5DataType.h
index 6d49f7b..24b7ba3 100644
--- a/c++/src/H5DataType.h
+++ b/c++/src/H5DataType.h
@@ -81,12 +81,11 @@ class H5_DLLCPP DataType : public H5Object {
// Gets the tag associated with an opaque datatype.
string getTag() const;
- // Checks whether this datatype contains (or is) a certain type class
+ // Checks whether this datatype contains (or is) a certain type class.
bool detectClass(H5T_class_t cls) const;
- // Creates a new variable-length datatype - not implemented yet
- // Will be moved into a subclass when completed
- //DataType vlenCreate( const DataType& base_type );
+ // Checks whether this datatype is a variable-length string.
+ bool isVariableStr() const;
// Used by the API to appropriately close a datatype
void p_close() const;