diff options
Diffstat (limited to 'c++/src/H5PropList.cpp')
-rw-r--r-- | c++/src/H5PropList.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/c++/src/H5PropList.cpp b/c++/src/H5PropList.cpp index 8e2c12b..3c8b70c 100644 --- a/c++/src/H5PropList.cpp +++ b/c++/src/H5PropList.cpp @@ -160,6 +160,27 @@ void PropList::copyProp( PropList& dest, PropList& src, const string& name ) con copyProp( dest, src, name.c_str()); } +//-------------------------------------------------------------------------- +// Function: PropList::close +///\brief Closes the property list if it is not a default one. +///\exception H5::PropListIException +// Programmer Binh-Minh Ribler - Mar 9, 2005 +//-------------------------------------------------------------------------- +void PropList::close() +{ + if( id != H5P_NO_CLASS ) // not a constant, should call H5Pclose + { + herr_t ret_value = H5Pclose( id ); + if( ret_value < 0 ) + { + throw PropListIException("PropList::close", "H5Pclose failed"); + } + // reset the id because the property list that it represents is now closed + id = 0; + } + else + throw PropListIException("PropList::close", "Cannot close a constant"); +} //-------------------------------------------------------------------------- // Function: PropList::getClass |