summaryrefslogtreecommitdiffstats
path: root/c++/src
diff options
context:
space:
mode:
Diffstat (limited to 'c++/src')
-rw-r--r--c++/src/CMakeLists.txt17
-rw-r--r--c++/src/H5AbstractDs.cpp8
-rw-r--r--c++/src/H5AbstractDs.h6
-rw-r--r--c++/src/H5ArrayType.cpp16
-rw-r--r--c++/src/H5ArrayType.h6
-rw-r--r--c++/src/H5AtomType.cpp16
-rw-r--r--c++/src/H5AtomType.h4
-rw-r--r--c++/src/H5Attribute.cpp24
-rw-r--r--c++/src/H5Attribute.h18
-rw-r--r--c++/src/H5CommonFG.cpp9
-rw-r--r--c++/src/H5CommonFG.h6
-rw-r--r--c++/src/H5CompType.cpp20
-rw-r--r--c++/src/H5CompType.h6
-rw-r--r--c++/src/H5Cpp.h10
-rw-r--r--c++/src/H5DaccProp.cpp19
-rw-r--r--c++/src/H5DaccProp.h4
-rw-r--r--c++/src/H5DataSet.cpp77
-rw-r--r--c++/src/H5DataSet.h21
-rw-r--r--c++/src/H5DataSpace.cpp14
-rw-r--r--c++/src/H5DataSpace.h10
-rw-r--r--c++/src/H5DataType.cpp43
-rw-r--r--c++/src/H5DataType.h10
-rw-r--r--c++/src/H5DcreatProp.cpp19
-rw-r--r--c++/src/H5DcreatProp.h4
-rw-r--r--c++/src/H5DxferProp.cpp29
-rw-r--r--c++/src/H5DxferProp.h4
-rw-r--r--c++/src/H5EnumType.cpp24
-rw-r--r--c++/src/H5EnumType.h6
-rw-r--r--c++/src/H5Exception.cpp104
-rw-r--r--c++/src/H5Exception.h28
-rw-r--r--c++/src/H5FaccProp.cpp23
-rw-r--r--c++/src/H5FaccProp.h4
-rw-r--r--c++/src/H5FcreatProp.cpp19
-rw-r--r--c++/src/H5FcreatProp.h4
-rw-r--r--c++/src/H5File.cpp14
-rw-r--r--c++/src/H5File.h14
-rw-r--r--c++/src/H5FloatType.cpp16
-rw-r--r--c++/src/H5FloatType.h6
-rw-r--r--c++/src/H5Group.cpp8
-rw-r--r--c++/src/H5Group.h20
-rw-r--r--c++/src/H5IdComponent.cpp13
-rw-r--r--c++/src/H5IdComponent.h6
-rw-r--r--c++/src/H5Include.h13
-rw-r--r--c++/src/H5IntType.cpp16
-rw-r--r--c++/src/H5IntType.h6
-rw-r--r--c++/src/H5LaccProp.cpp19
-rw-r--r--c++/src/H5LaccProp.h4
-rw-r--r--c++/src/H5LcreatProp.cpp23
-rw-r--r--c++/src/H5LcreatProp.h4
-rw-r--r--c++/src/H5Library.cpp8
-rw-r--r--c++/src/H5Location.cpp38
-rw-r--r--c++/src/H5Object.cpp34
-rw-r--r--c++/src/H5Object.h6
-rw-r--r--c++/src/H5OcreatProp.cpp19
-rw-r--r--c++/src/H5OcreatProp.h4
-rw-r--r--c++/src/H5PredType.cpp193
-rw-r--r--c++/src/H5PredType.h77
-rw-r--r--c++/src/H5PropList.cpp28
-rw-r--r--c++/src/H5PropList.h10
-rw-r--r--c++/src/H5StrType.cpp22
-rw-r--r--c++/src/H5StrType.h6
-rw-r--r--c++/src/H5VarLenType.cpp16
-rw-r--r--c++/src/H5VarLenType.h6
-rw-r--r--c++/src/cpp_doc_config2
-rw-r--r--c++/src/h5c++.in6
65 files changed, 610 insertions, 679 deletions
diff --git a/c++/src/CMakeLists.txt b/c++/src/CMakeLists.txt
index 8608c67..2a37dea 100644
--- a/c++/src/CMakeLists.txt
+++ b/c++/src/CMakeLists.txt
@@ -2,13 +2,6 @@ cmake_minimum_required (VERSION 3.12)
project (HDF5_CPP_SRC CXX)
#-----------------------------------------------------------------------------
-# Generate configure file
-#-----------------------------------------------------------------------------
-configure_file (${HDF_RESOURCES_DIR}/H5cxx_config.h.in
- ${HDF5_SRC_BINARY_DIR}/H5cxx_pubconf.h
-)
-
-#-----------------------------------------------------------------------------
# Define cpp Library
#-----------------------------------------------------------------------------
set (CPP_SOURCES
@@ -199,17 +192,21 @@ set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}"
configure_file (
${HDF_CONFIG_DIR}/libhdf5.pc.in
- ${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_CPP_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}.pc
+ ${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_CPP_LIB_CORENAME}.pc
@ONLY
)
install (
- FILES ${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_CPP_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}.pc
+ FILES ${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_CPP_LIB_CORENAME}.pc
DESTINATION ${HDF5_INSTALL_LIB_DIR}/pkgconfig
COMPONENT cpplibraries
)
if (NOT WIN32 AND NOT MINGW)
- set (_PKG_CONFIG_COMPILER ${CMAKE_CXX_COMPILER})
+ if (HDF5_ENABLE_PARALLEL AND MPI_CXX_FOUND)
+ set (_PKG_CONFIG_COMPILER ${MPI_CXX_COMPILER})
+ else ()
+ set (_PKG_CONFIG_COMPILER ${CMAKE_CXX_COMPILER})
+ endif ()
configure_file (
${HDF_RESOURCES_DIR}/libh5cc.in
${HDF5_BINARY_DIR}/CMakeFiles/h5c++
diff --git a/c++/src/H5AbstractDs.cpp b/c++/src/H5AbstractDs.cpp
index 6e6be8d..eeb0155 100644
--- a/c++/src/H5AbstractDs.cpp
+++ b/c++/src/H5AbstractDs.cpp
@@ -38,7 +38,9 @@ namespace H5 {
///\brief Default constructor
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-AbstractDs::AbstractDs() {}
+AbstractDs::AbstractDs()
+{
+}
//--------------------------------------------------------------------------
// Function: AbstractDs default constructor
@@ -331,6 +333,8 @@ AbstractDs::getVarLenType() const
///\brief Noop destructor.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-AbstractDs::~AbstractDs() {}
+AbstractDs::~AbstractDs()
+{
+}
} // namespace H5
diff --git a/c++/src/H5AbstractDs.h b/c++/src/H5AbstractDs.h
index fe6e033c..b84867b 100644
--- a/c++/src/H5AbstractDs.h
+++ b/c++/src/H5AbstractDs.h
@@ -12,8 +12,8 @@
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#ifndef __AbstractDs_H
-#define __AbstractDs_H
+#ifndef H5AbstractDs_H
+#define H5AbstractDs_H
namespace H5 {
@@ -81,4 +81,4 @@ class H5_DLLCPP AbstractDs {
}; // end of AbstractDs
} // namespace H5
-#endif // __AbstractDs_H
+#endif // H5AbstractDs_H
diff --git a/c++/src/H5ArrayType.cpp b/c++/src/H5ArrayType.cpp
index edf915d..6999f1b 100644
--- a/c++/src/H5ArrayType.cpp
+++ b/c++/src/H5ArrayType.cpp
@@ -34,7 +34,9 @@ namespace H5 {
///\brief Default constructor: Creates a stub ArrayType
// Programmer Binh-Minh Ribler - May 2004
//--------------------------------------------------------------------------
-ArrayType::ArrayType() : DataType() {}
+ArrayType::ArrayType() : DataType()
+{
+}
//--------------------------------------------------------------------------
// Function: ArrayType overloaded constructor
@@ -43,14 +45,18 @@ ArrayType::ArrayType() : DataType() {}
///\exception H5::DataTypeIException
// Programmer Binh-Minh Ribler - May 2004
//--------------------------------------------------------------------------
-ArrayType::ArrayType(const hid_t existing_id) : DataType(existing_id) {}
+ArrayType::ArrayType(const hid_t existing_id) : DataType(existing_id)
+{
+}
//--------------------------------------------------------------------------
// Function: ArrayType copy constructor
///\brief Copy constructor: same HDF5 object as \a original
// Programmer Binh-Minh Ribler - May 2004
//--------------------------------------------------------------------------
-ArrayType::ArrayType(const ArrayType &original) : DataType(original) {}
+ArrayType::ArrayType(const ArrayType &original) : DataType(original)
+{
+}
//--------------------------------------------------------------------------
// Function: ArrayType overloaded constructor
@@ -206,6 +212,8 @@ ArrayType::getArrayDims(hsize_t *dims) const
///\brief Properly terminates access to this array datatype.
// Programmer Binh-Minh Ribler - May 2004
//--------------------------------------------------------------------------
-ArrayType::~ArrayType() {}
+ArrayType::~ArrayType()
+{
+}
} // namespace H5
diff --git a/c++/src/H5ArrayType.h b/c++/src/H5ArrayType.h
index 4302352..29313c4 100644
--- a/c++/src/H5ArrayType.h
+++ b/c++/src/H5ArrayType.h
@@ -37,7 +37,7 @@ class H5_DLLCPP ArrayType : public DataType {
// Returns an ArrayType object via DataType* by decoding the
// binary object description of this type.
- virtual DataType *decode() const;
+ virtual DataType *decode() const override;
// Returns the number of dimensions of this array datatype.
int getArrayNDims() const;
@@ -49,7 +49,7 @@ class H5_DLLCPP ArrayType : public DataType {
///\brief Returns this class name.
virtual H5std_string
- fromClass() const
+ fromClass() const override
{
return ("ArrayType");
}
@@ -61,7 +61,7 @@ class H5_DLLCPP ArrayType : public DataType {
ArrayType(const hid_t existing_id);
// Noop destructor
- virtual ~ArrayType();
+ virtual ~ArrayType() override;
// Default constructor
ArrayType();
diff --git a/c++/src/H5AtomType.cpp b/c++/src/H5AtomType.cpp
index 6730171..0b48046 100644
--- a/c++/src/H5AtomType.cpp
+++ b/c++/src/H5AtomType.cpp
@@ -35,7 +35,9 @@ namespace H5 {
// Purpose Default constructor: creates a stub atomic datatype.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-AtomType::AtomType() : DataType() {}
+AtomType::AtomType() : DataType()
+{
+}
//--------------------------------------------------------------------------
// Function: AtomType overloaded constructor [protected]
@@ -44,14 +46,18 @@ AtomType::AtomType() : DataType() {}
// Exception H5::DataTypeIException
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-AtomType::AtomType(const hid_t existing_id) : DataType(existing_id) {}
+AtomType::AtomType(const hid_t existing_id) : DataType(existing_id)
+{
+}
//--------------------------------------------------------------------------
// Function: AtomType copy constructor
///\brief Copy constructor: same HDF5 object as \a original
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-AtomType::AtomType(const AtomType &original) : DataType(original) {}
+AtomType::AtomType(const AtomType &original) : DataType(original)
+{
+}
#endif // DOXYGEN_SHOULD_SKIP_THIS
//--------------------------------------------------------------------------
@@ -290,7 +296,9 @@ AtomType::setPad(H5T_pad_t lsb, H5T_pad_t msb) const
///\brief Noop destructor.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-AtomType::~AtomType() {}
+AtomType::~AtomType()
+{
+}
#endif // DOXYGEN_SHOULD_SKIP_THIS
} // namespace H5
diff --git a/c++/src/H5AtomType.h b/c++/src/H5AtomType.h
index 84da5e9..1b5153e 100644
--- a/c++/src/H5AtomType.h
+++ b/c++/src/H5AtomType.h
@@ -58,7 +58,7 @@ class H5_DLLCPP AtomType : public DataType {
///\brief Returns this class name.
virtual H5std_string
- fromClass() const
+ fromClass() const override
{
return ("AtomType");
}
@@ -68,7 +68,7 @@ class H5_DLLCPP AtomType : public DataType {
AtomType(const AtomType &original);
// Noop destructor
- virtual ~AtomType();
+ virtual ~AtomType() override;
#endif // DOXYGEN_SHOULD_SKIP_THIS
protected:
diff --git a/c++/src/H5Attribute.cpp b/c++/src/H5Attribute.cpp
index 81e656f..954222c 100644
--- a/c++/src/H5Attribute.cpp
+++ b/c++/src/H5Attribute.cpp
@@ -11,14 +11,9 @@
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#ifdef OLD_HEADER_FILENAME
-#include <iostream.h>
-#else
#include <iostream>
-#endif
#include <string>
-#include "H5private.h" // for HDfree
#include "H5Include.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
@@ -48,7 +43,9 @@ class H5Object; // forward declaration for UserData4Aiterate
///\brief Default constructor: Creates a stub attribute
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
-Attribute::Attribute() : AbstractDs(), H5Location(), id(H5I_INVALID_HID) {}
+Attribute::Attribute() : AbstractDs(), H5Location(), id(H5I_INVALID_HID)
+{
+}
//--------------------------------------------------------------------------
// Function: Attribute copy constructor
@@ -312,10 +309,10 @@ Attribute::getName(char *attr_name, size_t buf_size) const
H5std_string
Attribute::getName() const
{
- H5std_string attr_name(""); // attribute name to return
+ H5std_string attr_name; // attribute name to return
// Preliminary call to get the size of the attribute name
- ssize_t name_size = H5Aget_name(id, static_cast<size_t>(0), NULL);
+ ssize_t name_size = H5Aget_name(id, 0, NULL);
// If H5Aget_name failed, throw exception
if (name_size < 0) {
@@ -326,8 +323,8 @@ Attribute::getName() const
}
// Attribute's name exists, retrieve it
else if (name_size > 0) {
- char *name_C = new char[name_size + 1]; // temporary C-string
- HDmemset(name_C, 0, name_size + 1); // clear buffer
+ // Create buffer for C string
+ char *name_C = new char[name_size + 1]();
// Use overloaded function
name_size = getName(name_C, name_size + 1);
@@ -338,6 +335,7 @@ Attribute::getName() const
// Clean up resource
delete[] name_C;
}
+
// Return attribute's name
return (attr_name);
}
@@ -395,8 +393,8 @@ Attribute::getName(H5std_string &attr_name, size_t len) const
}
// If length is provided, get that number of characters in name
else {
- char *name_C = new char[len + 1]; // temporary C-string
- HDmemset(name_C, 0, len + 1); // clear buffer
+ // Create buffer for C string
+ char *name_C = new char[len + 1]();
// Use overloaded function
name_size = getName(name_C, len + 1);
@@ -553,7 +551,7 @@ Attribute::p_read_variable_len(const DataType &mem_type, H5std_string &strg) con
// Get string from the C char* and release resource allocated by C API
strg = strg_C;
- HDfree(strg_C);
+ free(strg_C);
}
#ifndef DOXYGEN_SHOULD_SKIP_THIS
diff --git a/c++/src/H5Attribute.h b/c++/src/H5Attribute.h
index 41e5a31..47375a5 100644
--- a/c++/src/H5Attribute.h
+++ b/c++/src/H5Attribute.h
@@ -38,7 +38,7 @@ class H5_DLLCPP Attribute : public AbstractDs, public H5Location {
Attribute(const hid_t attr_id);
// Closes this attribute.
- virtual void close();
+ virtual void close() override;
// Gets the name of this attribute.
ssize_t getName(char *attr_name, size_t buf_size = 0) const;
@@ -50,13 +50,13 @@ class H5_DLLCPP Attribute : public AbstractDs, public H5Location {
ssize_t getName(size_t buf_size, H5std_string &attr_name) const;
// Gets a copy of the dataspace for this attribute.
- virtual DataSpace getSpace() const;
+ virtual DataSpace getSpace() const override;
// Returns the amount of storage size required for this attribute.
- virtual hsize_t getStorageSize() const;
+ virtual hsize_t getStorageSize() const override;
// Returns the in memory size of this attribute's data.
- virtual size_t getInMemDataSize() const;
+ virtual size_t getInMemDataSize() const override;
// Reads data from this attribute.
void read(const DataType &mem_type, void *buf) const;
@@ -68,21 +68,21 @@ class H5_DLLCPP Attribute : public AbstractDs, public H5Location {
///\brief Returns this class name.
virtual H5std_string
- fromClass() const
+ fromClass() const override
{
return ("Attribute");
}
// Gets the attribute id.
- virtual hid_t getId() const;
+ virtual hid_t getId() const override;
// Destructor: properly terminates access to this attribute.
- virtual ~Attribute();
+ virtual ~Attribute() override;
#ifndef DOXYGEN_SHOULD_SKIP_THIS
protected:
// Sets the attribute id.
- virtual void p_setId(const hid_t new_id);
+ virtual void p_setId(const hid_t new_id) override;
#endif // DOXYGEN_SHOULD_SKIP_THIS
private:
@@ -92,7 +92,7 @@ class H5_DLLCPP Attribute : public AbstractDs, public H5Location {
// getTypeClass and various API functions getXxxType
// defined in AbstractDs for generic datatype and specific
// sub-types
- virtual hid_t p_get_type() const;
+ virtual hid_t p_get_type() const override;
// Reads variable or fixed len strings from this attribute.
void p_read_variable_len(const DataType &mem_type, H5std_string &strg) const;
diff --git a/c++/src/H5CommonFG.cpp b/c++/src/H5CommonFG.cpp
index dbc88f8..8401b9c 100644
--- a/c++/src/H5CommonFG.cpp
+++ b/c++/src/H5CommonFG.cpp
@@ -13,7 +13,6 @@
#include <string>
-#include "H5private.h" // for HDstrcpy
#include "H5Include.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
@@ -357,14 +356,18 @@ CommonFG::openVarLenType(const H5std_string &name) const
///\brief Default constructor.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-CommonFG::CommonFG() {}
+CommonFG::CommonFG()
+{
+}
//--------------------------------------------------------------------------
// Function: CommonFG destructor
///\brief Noop destructor.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-CommonFG::~CommonFG() {}
+CommonFG::~CommonFG()
+{
+}
//--------------------------------------------------------------------------
// Function: f_DataType_setId - friend
diff --git a/c++/src/H5CommonFG.h b/c++/src/H5CommonFG.h
index 2e5ccf3..d87f9ca 100644
--- a/c++/src/H5CommonFG.h
+++ b/c++/src/H5CommonFG.h
@@ -12,8 +12,8 @@
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#ifndef __CommonFG_H
-#define __CommonFG_H
+#ifndef H5CommonFG_H
+#define H5CommonFG_H
namespace H5 {
@@ -83,7 +83,7 @@ class H5_DLLCPP CommonFG {
}; // end of CommonFG
} // namespace H5
-#endif // __CommonFG_H
+#endif // H5CommonFG_H
/***************************************************************************
Design Note
diff --git a/c++/src/H5CompType.cpp b/c++/src/H5CompType.cpp
index ca01aeb..3b38c6d 100644
--- a/c++/src/H5CompType.cpp
+++ b/c++/src/H5CompType.cpp
@@ -37,7 +37,9 @@ namespace H5 {
///\brief Default constructor: Creates a stub compound datatype
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-CompType::CompType() : DataType() {}
+CompType::CompType() : DataType()
+{
+}
//--------------------------------------------------------------------------
// Function: CompType copy constructor
@@ -45,7 +47,9 @@ CompType::CompType() : DataType() {}
///\param original - IN: Original CompType instance
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-CompType::CompType(const CompType &original) : DataType(original) {}
+CompType::CompType(const CompType &original) : DataType(original)
+{
+}
//--------------------------------------------------------------------------
// Function: CompType overloaded constructor
@@ -53,7 +57,9 @@ CompType::CompType(const CompType &original) : DataType(original) {}
///\param existing_id - IN: Id of an existing compound datatype
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-CompType::CompType(const hid_t existing_id) : DataType(existing_id) {}
+CompType::CompType(const hid_t existing_id) : DataType(existing_id)
+{
+}
//--------------------------------------------------------------------------
// Function: CompType overloaded constructor
@@ -65,7 +71,9 @@ CompType::CompType(const hid_t existing_id) : DataType(existing_id) {}
// the compound datatype.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-CompType::CompType(size_t size) : DataType(H5T_COMPOUND, size) {}
+CompType::CompType(size_t size) : DataType(H5T_COMPOUND, size)
+{
+}
//--------------------------------------------------------------------------
// Function: CompType overloaded constructor
@@ -549,6 +557,8 @@ CompType::setSize(size_t size) const
///\brief Properly terminates access to this compound datatype.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-CompType::~CompType() {}
+CompType::~CompType()
+{
+}
} // namespace H5
diff --git a/c++/src/H5CompType.h b/c++/src/H5CompType.h
index 6a4c093..59fd9cf 100644
--- a/c++/src/H5CompType.h
+++ b/c++/src/H5CompType.h
@@ -45,7 +45,7 @@ class H5_DLLCPP CompType : public DataType {
// Returns a CompType object via DataType* by decoding the binary
// object description of this type.
- virtual DataType *decode() const;
+ virtual DataType *decode() const override;
// Returns the type class of the specified member of this compound
// datatype. It provides to the user a way of knowing what type
@@ -108,13 +108,13 @@ class H5_DLLCPP CompType : public DataType {
///\brief Returns this class name.
virtual H5std_string
- fromClass() const
+ fromClass() const override
{
return ("CompType");
}
// Noop destructor.
- virtual ~CompType();
+ virtual ~CompType() override;
private:
// Contains common code that is used by the member functions
diff --git a/c++/src/H5Cpp.h b/c++/src/H5Cpp.h
index 9272bdb..202d584 100644
--- a/c++/src/H5Cpp.h
+++ b/c++/src/H5Cpp.h
@@ -48,14 +48,4 @@
#include "H5File.h"
#include "H5Library.h"
-/* Some C++ compilers do not have offsetof macro; define to bypass the problem
- - BMR- -EIP- 2007/08/01
-*/
-#ifndef H5_CXX_HAVE_OFFSETOF
-#ifdef HOFFSET
-#undef HOFFSET
-#endif
-#define HOFFSET(TYPE, MEMBER) ((size_t) & ((TYPE *)0)->MEMBER)
-#endif
-
#endif // H5Cpp_H
diff --git a/c++/src/H5DaccProp.cpp b/c++/src/H5DaccProp.cpp
index 9e2653d..1905f27 100644
--- a/c++/src/H5DaccProp.cpp
+++ b/c++/src/H5DaccProp.cpp
@@ -72,8 +72,7 @@ DSetAccPropList::getConstant()
void
DSetAccPropList::deleteConstants()
{
- if (DEFAULT_ != 0)
- delete DEFAULT_;
+ delete DEFAULT_;
}
//--------------------------------------------------------------------------
@@ -88,7 +87,9 @@ const DSetAccPropList &DSetAccPropList::DEFAULT = *getConstant();
///\brief Default constructor: creates a stub dataset creation property list
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-DSetAccPropList::DSetAccPropList() : LinkAccPropList(H5P_DATASET_ACCESS) {}
+DSetAccPropList::DSetAccPropList() : LinkAccPropList(H5P_DATASET_ACCESS)
+{
+}
//--------------------------------------------------------------------------
// Function: DSetAccPropList copy constructor
@@ -96,7 +97,9 @@ DSetAccPropList::DSetAccPropList() : LinkAccPropList(H5P_DATASET_ACCESS) {}
/// DSetAccPropList object
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-DSetAccPropList::DSetAccPropList(const DSetAccPropList &orig) : LinkAccPropList(orig) {}
+DSetAccPropList::DSetAccPropList(const DSetAccPropList &orig) : LinkAccPropList(orig)
+{
+}
//--------------------------------------------------------------------------
// Function: DSetAccPropList overloaded constructor
@@ -104,7 +107,9 @@ DSetAccPropList::DSetAccPropList(const DSetAccPropList &orig) : LinkAccPropList(
/// existing dataset creation property list.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-DSetAccPropList::DSetAccPropList(const hid_t plist_id) : LinkAccPropList(plist_id) {}
+DSetAccPropList::DSetAccPropList(const hid_t plist_id) : LinkAccPropList(plist_id)
+{
+}
//--------------------------------------------------------------------------
// Function: DSetAccPropList::setChunkCache
@@ -159,6 +164,8 @@ DSetAccPropList::getChunkCache(size_t &rdcc_nslots, size_t &rdcc_nbytes, double
///\brief Noop destructor.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-DSetAccPropList::~DSetAccPropList() {}
+DSetAccPropList::~DSetAccPropList()
+{
+}
} // namespace H5
diff --git a/c++/src/H5DaccProp.h b/c++/src/H5DaccProp.h
index 7d6b250..1accbd6 100644
--- a/c++/src/H5DaccProp.h
+++ b/c++/src/H5DaccProp.h
@@ -38,7 +38,7 @@ class H5_DLLCPP DSetAccPropList : public LinkAccPropList {
///\brief Returns this class name.
virtual H5std_string
- fromClass() const
+ fromClass() const override
{
return ("DSetAccPropList");
}
@@ -51,7 +51,7 @@ class H5_DLLCPP DSetAccPropList : public LinkAccPropList {
DSetAccPropList(const hid_t plist_id);
// Noop destructor.
- virtual ~DSetAccPropList();
+ virtual ~DSetAccPropList() override;
#ifndef DOXYGEN_SHOULD_SKIP_THIS
diff --git a/c++/src/H5DataSet.cpp b/c++/src/H5DataSet.cpp
index 9027d79..ce56e30 100644
--- a/c++/src/H5DataSet.cpp
+++ b/c++/src/H5DataSet.cpp
@@ -11,14 +11,9 @@
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#ifdef OLD_HEADER_FILENAME
-#include <iostream.h>
-#else
#include <iostream>
-#endif
#include <string>
-#include "H5private.h" // for HDfree
#include "H5Include.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
@@ -46,15 +41,15 @@ using std::endl;
//--------------------------------------------------------------------------
// Function: DataSet default constructor
///\brief Default constructor: creates a stub DataSet.
-// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-DataSet::DataSet() : H5Object(), AbstractDs(), id(H5I_INVALID_HID) {}
+DataSet::DataSet() : H5Object(), AbstractDs(), id(H5I_INVALID_HID)
+{
+}
//--------------------------------------------------------------------------
// Function: DataSet overloaded constructor
///\brief Creates an DataSet object using the id of an existing dataset.
///\param existing_id - IN: Id of an existing dataset
-// Programmer Binh-Minh Ribler - 2000
// Description
// incRefCount() is needed here to prevent the id from being closed
// prematurely. That is, when application uses the id of an
@@ -71,7 +66,6 @@ DataSet::DataSet(const hid_t existing_id) : H5Object(), AbstractDs(), id(existin
// Function: DataSet copy constructor
///\brief Copy constructor: same HDF5 object as \a original
///\param original - IN: DataSet instance to copy
-// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
DataSet::DataSet(const DataSet &original) : H5Object(), AbstractDs(), id(original.id)
{
@@ -79,6 +73,20 @@ DataSet::DataSet(const DataSet &original) : H5Object(), AbstractDs(), id(origina
}
//--------------------------------------------------------------------------
+// Function: DataSet assignment operator
+///\brief Assignment operator: same HDF5 object as \a original
+///\param original - IN: DataSet instance to copy
+//--------------------------------------------------------------------------
+DataSet &
+DataSet::operator=(const DataSet &original)
+{
+ if (this != &original) {
+ setId(original.id);
+ }
+ return (*this);
+}
+
+//--------------------------------------------------------------------------
// Function: DataSet overload constructor - dereference
///\brief Given a reference, ref, to an hdf5 location, creates a
/// DataSet object
@@ -91,7 +99,6 @@ DataSet::DataSet(const DataSet &original) : H5Object(), AbstractDs(), id(origina
///\par Description
/// \c loc can be DataSet, Group, H5File, or named DataType, that
/// is a datatype that has been named by DataType::commit.
-// Programmer Binh-Minh Ribler - Oct, 2006
//--------------------------------------------------------------------------
DataSet::DataSet(const H5Location &loc, const void *ref, H5R_type_t ref_type, const PropList &plist)
: H5Object(), AbstractDs(), id(H5I_INVALID_HID)
@@ -108,7 +115,6 @@ DataSet::DataSet(const H5Location &loc, const void *ref, H5R_type_t ref_type, co
///\param ref_type - IN: Reference type - default to H5R_OBJECT
///\param plist - IN: Property list - default to PropList::DEFAULT
///\exception H5::ReferenceException
-// Programmer Binh-Minh Ribler - Oct, 2006
//--------------------------------------------------------------------------
DataSet::DataSet(const Attribute &attr, const void *ref, H5R_type_t ref_type, const PropList &plist)
: H5Object(), AbstractDs(), id(H5I_INVALID_HID)
@@ -121,7 +127,6 @@ DataSet::DataSet(const Attribute &attr, const void *ref, H5R_type_t ref_type, co
///\brief Gets a copy of the dataspace of this dataset.
///\return DataSpace instance
///\exception H5::DataSetIException
-// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
DataSpace
DataSet::getSpace() const
@@ -158,7 +163,6 @@ DataSet::p_get_type() const
///\brief Gets the dataset creation property list.
///\return DSetCreatPropList instance
///\exception H5::DataSetIException
-// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
DSetCreatPropList
DataSet::getCreatePlist() const
@@ -202,7 +206,6 @@ DataSet::getAccessPlist() const
///\exception H5::DataSetIException
// Note: H5Dget_storage_size returns 0 when there is no data. This
// function should have no failure. (from SLU)
-// Programmer Binh-Minh Ribler - Mar, 2005
//--------------------------------------------------------------------------
hsize_t
DataSet::getStorageSize() const
@@ -216,7 +219,6 @@ DataSet::getStorageSize() const
///\brief Gets the size in memory of the dataset's data.
///\return Size of data (in memory)
///\exception H5::DataSetIException
-// Programmer Binh-Minh Ribler - Apr 2009
//--------------------------------------------------------------------------
size_t
DataSet::getInMemDataSize() const
@@ -274,7 +276,6 @@ DataSet::getInMemDataSize() const
///\brief Returns the address of this dataset in the file.
///\return Address of dataset
///\exception H5::DataSetIException
-// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
haddr_t
DataSet::getOffset() const
@@ -293,7 +294,6 @@ DataSet::getOffset() const
///\brief Determines whether space has been allocated for a dataset.
///\param status - OUT: Space allocation status
///\exception H5::DataSetIException
-// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void
DataSet::getSpaceStatus(H5D_space_status_t &status) const
@@ -311,7 +311,6 @@ DataSet::getSpaceStatus(H5D_space_status_t &status) const
///\param space - IN: Selection for the memory buffer
///\return Amount of storage
///\exception H5::DataSetIException
-// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
hsize_t
DataSet::getVlenBufSize(const DataType &type, const DataSpace &space) const
@@ -336,7 +335,6 @@ DataSet::getVlenBufSize(const DataType &type, const DataSpace &space) const
// misses const's. This wrapper will be removed in future release.
// Return Amount of storage
// Exception H5::DataSetIException
-// Programmer Binh-Minh Ribler - 2000
// Modification
// Modified to call its replacement. -BMR, 2014/04/16
// Removed from documentation. -BMR, 2016/03/07 1.8.17 and 1.10.0
@@ -356,7 +354,6 @@ DataSet::getVlenBufSize(const DataType &type, const DataSpace &space) const
///\param xfer_plist - IN: Property list used to create the buffer
///\param buf - IN: Pointer to the buffer to be reclaimed
///\exception H5::DataSetIException
-// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void
DataSet::vlenReclaim(const DataType &type, const DataSpace &space, const DSetMemXferPropList &xfer_plist,
@@ -382,7 +379,6 @@ DataSet::vlenReclaim(const DataType &type, const DataSpace &space, const DSetMem
///\param xfer_plist - IN: Property list used to create the buffer
///\param buf - IN: Pointer to the buffer to be reclaimed
///\exception H5::DataSetIException
-// Programmer Binh-Minh Ribler - 2000
//\parDescription
// This function has better prototype for the users than the
// other, which might be removed at some point. BMR - 2006/12/20
@@ -415,7 +411,6 @@ DataSet::vlenReclaim(void *buf, const DataType &type, const DataSpace &space,
/// This function reads raw data from this dataset into the
/// buffer \a buf, converting from file datatype and dataspace
/// to memory datatype \a mem_type and dataspace \a mem_space.
-// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void
DataSet::read(void *buf, const DataType &mem_type, const DataSpace &mem_space, const DataSpace &file_space,
@@ -443,7 +438,6 @@ DataSet::read(void *buf, const DataType &mem_type, const DataSpace &mem_space, c
///\param file_space - IN: Dataset's dataspace in the file
///\param xfer_plist - IN: Transfer property list for this I/O operation
///\exception H5::DataSetIException
-// Programmer Binh-Minh Ribler - 2000
// Modification
// Jul 2009
// Follow the change to Attribute::read and use the following
@@ -492,7 +486,6 @@ DataSet::read(H5std_string &strg, const DataType &mem_type, const DataSpace &mem
/// \a buf to a dataset, converting from memory datatype
/// \a mem_type and dataspace \a mem_space to file datatype
/// and dataspace.
-// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void
DataSet::write(const void *buf, const DataType &mem_type, const DataSpace &mem_space,
@@ -514,7 +507,6 @@ DataSet::write(const void *buf, const DataType &mem_type, const DataSpace &mem_s
// Function: DataSet::write
///\brief This is an overloaded member function, provided for convenience.
/// It takes a reference to a \c H5std_string for the buffer.
-// Programmer Binh-Minh Ribler - 2000
// Modification
// Jul 2009
// Modified to pass the buffer into H5Dwrite properly depending
@@ -570,7 +562,6 @@ DataSet::write(const H5std_string &strg, const DataType &mem_type, const DataSpa
///\exception H5::DataSetIException
///\note This function may not work correctly yet - it's still
/// under development.
-// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
int
DataSet::iterateElems(void *buf, const DataType &type, const DataSpace &space, H5D_operator_t op,
@@ -596,7 +587,6 @@ DataSet::iterateElems(void *buf, const DataType &type, const DataSpace &space, H
///\par Description
/// For information, please refer to the H5Dset_extent API in
/// the HDF5 C Reference Manual.
-// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void
DataSet::extend(const hsize_t *size) const
@@ -615,7 +605,6 @@ DataSet::extend(const hsize_t *size) const
///\param buf_type - IN: Datatype of the elements in buffer
///\param space - IN: Dataspace describing memory buffer & containing selection to use
///\exception H5::DataSetIException
-// Programmer Binh-Minh Ribler - 2014
//--------------------------------------------------------------------------
void
DataSet::fillMemBuf(const void *fill, const DataType &fill_type, void *buf, const DataType &buf_type,
@@ -641,7 +630,6 @@ DataSet::fillMemBuf(const void *fill, const DataType &fill_type, void *buf, cons
// Param buf_type - IN: Datatype of the elements in buffer
// Param space - IN: Dataspace describing memory buffer & containing selection to use
// Exception H5::DataSetIException
-// Programmer Binh-Minh Ribler - 2000
// Modification
// Modified to call its replacement. -BMR, 2014/04/16
// Removed from documentation. -BMR, 2016/03/07 1.8.17 and 1.10.0
@@ -660,7 +648,6 @@ DataSet::fillMemBuf(const void *fill, const DataType &fill_type, void *buf, cons
///\param buf_type - IN: Datatype of the elements in buffer
///\param space - IN: Dataspace describing memory buffer & containing selection to use
///\exception H5::DataSetIException
-// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void
DataSet::fillMemBuf(void *buf, const DataType &buf_type, const DataSpace &space) const
@@ -682,7 +669,6 @@ DataSet::fillMemBuf(void *buf, const DataType &buf_type, const DataSpace &space)
// Param buf_type - IN: Datatype of the elements in buffer
// Param space - IN: Dataspace describing memory buffer & containing selection to use
// Exception H5::DataSetIException
-// Programmer Binh-Minh Ribler - 2000
// Modification
// Modified to call its replacement. -BMR, 2014/04/16
// Removed from documentation. -BMR, 2016/03/07 1.8.17 and 1.10.0
@@ -702,7 +688,6 @@ DataSet::fillMemBuf(void *buf, const DataType &buf_type, const DataSpace &space)
// AbstractDs and Attribute are moved out of H5Object. In
// addition, member IdComponent::id is moved into subclasses, and
// IdComponent::getId now becomes pure virtual function.
-// Programmer Binh-Minh Ribler - May, 2008
//--------------------------------------------------------------------------
hid_t
DataSet::getId() const
@@ -712,11 +697,10 @@ DataSet::getId() const
//--------------------------------------------------------------------------
// Function: DataSet::p_read_fixed_len (private)
-// brief Reads a fixed length \a H5std_string from a dataset.
-// param mem_type - IN: DataSet datatype (in memory)
-// param strg - IN: Buffer for read string
-// exception H5::DataSetIException
-// Programmer Binh-Minh Ribler - Jul, 2009
+// brief Reads a fixed length \a H5std_string from a dataset.
+// param mem_type - IN: DataSet datatype (in memory)
+// param strg - IN: Buffer for read string
+// exceptio n H5::DataSetIException
// Modification
// Jul 2009
// Added in follow to the change in Attribute::read
@@ -732,8 +716,8 @@ DataSet::p_read_fixed_len(const hid_t mem_type_id, const hid_t mem_space_id, con
// If there is data, allocate buffer and read it.
if (data_size > 0) {
- char *strg_C = new char[data_size + 1];
- HDmemset(strg_C, 0, data_size + 1); // clear buffer
+ // Create buffer for C string
+ char *strg_C = new char[data_size + 1]();
herr_t ret_value = H5Dread(id, mem_type_id, mem_space_id, file_space_id, xfer_plist_id, strg_C);
@@ -750,11 +734,10 @@ DataSet::p_read_fixed_len(const hid_t mem_type_id, const hid_t mem_space_id, con
//--------------------------------------------------------------------------
// Function: DataSet::p_read_variable_len (private)
-// brief Reads a variable length \a H5std_string from an dataset.
-// param mem_type - IN: DataSet datatype (in memory)
-// param strg - IN: Buffer for read string
-// exception H5::DataSetIException
-// Programmer Binh-Minh Ribler - Jul, 2009
+// brief Reads a variable length \a H5std_string from an dataset.
+// param mem_type - IN: DataSet datatype (in memory)
+// param strg - IN: Buffer for read string
+// exception H5::DataSetIException
// Modification
// Jul 2009
// Added in follow to the change in Attribute::read
@@ -775,7 +758,7 @@ DataSet::p_read_variable_len(const hid_t mem_type_id, const hid_t mem_space_id,
// Get string from the C char* and release resource allocated by C API
strg = strg_C;
- HDfree(strg_C);
+ free(strg_C);
}
#ifndef DOXYGEN_SHOULD_SKIP_THIS
@@ -789,7 +772,6 @@ DataSet::p_read_variable_len(const hid_t mem_type_id, const hid_t mem_space_id,
// The underlaying reference counting in the C library ensures
// that the current valid id of this object is properly closed.
// Then the object's id is reset to the new id.
-// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void
DataSet::p_setId(const hid_t new_id)
@@ -813,7 +795,6 @@ DataSet::p_setId(const hid_t new_id)
// Applications shouldn't need to use it.
// param dset - IN/OUT: DataSet object to be changed
// param new_id - IN: New id to set
-// Programmer Binh-Minh Ribler - 2015
//--------------------------------------------------------------------------
void
f_PropList_setId(PropList *plist, hid_t new_id)
@@ -828,7 +809,6 @@ f_PropList_setId(PropList *plist, hid_t new_id)
///\brief Closes this dataset.
///
///\exception H5::DataSetIException
-// Programmer Binh-Minh Ribler - Mar 9, 2005
//--------------------------------------------------------------------------
void
DataSet::close()
@@ -846,7 +826,6 @@ DataSet::close()
//--------------------------------------------------------------------------
// Function: DataSet destructor
///\brief Properly terminates access to this dataset.
-// Programmer Binh-Minh Ribler - 2000
// Modification
// - Replaced resetIdComponent() with decRefCount() to use C
// library ID reference counting mechanism - BMR, Jun 1, 2004
diff --git a/c++/src/H5DataSet.h b/c++/src/H5DataSet.h
index c745470..8430f7a 100644
--- a/c++/src/H5DataSet.h
+++ b/c++/src/H5DataSet.h
@@ -28,7 +28,7 @@ namespace H5 {
class H5_DLLCPP DataSet : public H5Object, public AbstractDs {
public:
// Close this dataset.
- virtual void close();
+ virtual void close() override;
// Extends the dataset with unlimited dimension.
void extend(const hsize_t *size) const;
@@ -53,16 +53,16 @@ class H5_DLLCPP DataSet : public H5Object, public AbstractDs {
haddr_t getOffset() const;
// Gets the dataspace of this dataset.
- virtual DataSpace getSpace() const;
+ virtual DataSpace getSpace() const override;
// Determines whether space has been allocated for a dataset.
void getSpaceStatus(H5D_space_status_t &status) const;
// Returns the amount of storage size required for this dataset.
- virtual hsize_t getStorageSize() const;
+ virtual hsize_t getStorageSize() const override;
// Returns the in memory size of this attribute's data.
- virtual size_t getInMemDataSize() const;
+ virtual size_t getInMemDataSize() const override;
// Returns the number of bytes required to store VL data.
hsize_t getVlenBufSize(const DataType &type, const DataSpace &space) const;
@@ -100,7 +100,7 @@ class H5_DLLCPP DataSet : public H5Object, public AbstractDs {
///\brief Returns this class name.
virtual H5std_string
- fromClass() const
+ fromClass() const override
{
return ("DataSet");
}
@@ -117,19 +117,22 @@ class H5_DLLCPP DataSet : public H5Object, public AbstractDs {
// Copy constructor - same as the original DataSet.
DataSet(const DataSet &original);
+ // Assignment operator
+ DataSet &operator=(const DataSet &original);
+
// Creates a copy of an existing DataSet using its id.
DataSet(const hid_t existing_id);
// Gets the dataset id.
- virtual hid_t getId() const;
+ virtual hid_t getId() const override;
// Destructor: properly terminates access to this dataset.
- virtual ~DataSet();
+ virtual ~DataSet() override;
protected:
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// Sets the dataset id.
- virtual void p_setId(const hid_t new_id);
+ virtual void p_setId(const hid_t new_id) override;
#endif // DOXYGEN_SHOULD_SKIP_THIS
private:
@@ -139,7 +142,7 @@ class H5_DLLCPP DataSet : public H5Object, public AbstractDs {
// getTypeClass and various API functions getXxxType
// defined in AbstractDs for generic datatype and specific
// sub-types
- virtual hid_t p_get_type() const;
+ virtual hid_t p_get_type() const override;
// Reads variable or fixed len strings from this dataset.
void p_read_fixed_len(const hid_t mem_type_id, const hid_t mem_space_id, const hid_t file_space_id,
diff --git a/c++/src/H5DataSpace.cpp b/c++/src/H5DataSpace.cpp
index 9c997d1..342e9fa 100644
--- a/c++/src/H5DataSpace.cpp
+++ b/c++/src/H5DataSpace.cpp
@@ -11,11 +11,7 @@
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#ifdef OLD_HEADER_FILENAME
-#include <iostream.h>
-#else
#include <iostream>
-#endif
#include <string>
#include "H5Include.h"
@@ -73,8 +69,7 @@ DataSpace::getConstant()
void
DataSpace::deleteConstants()
{
- if (ALL_ != 0)
- delete ALL_;
+ delete ALL_;
}
//--------------------------------------------------------------------------
@@ -93,9 +88,8 @@ const DataSpace &DataSpace::ALL = *getConstant();
///\exception H5::DataSpaceIException
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-DataSpace::DataSpace(H5S_class_t type) : IdComponent()
+DataSpace::DataSpace(H5S_class_t type) : IdComponent(), id{H5Screate(type)}
{
- id = H5Screate(type);
if (id < 0) {
throw DataSpaceIException("DataSpace constructor", "H5Screate failed");
}
@@ -110,9 +104,9 @@ DataSpace::DataSpace(H5S_class_t type) : IdComponent()
///\exception H5::DataSpaceIException
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-DataSpace::DataSpace(int rank, const hsize_t *dims, const hsize_t *maxdims) : IdComponent()
+DataSpace::DataSpace(int rank, const hsize_t *dims, const hsize_t *maxdims)
+ : IdComponent(), id{H5Screate_simple(rank, dims, maxdims)}
{
- id = H5Screate_simple(rank, dims, maxdims);
if (id < 0) {
throw DataSpaceIException("DataSpace constructor", "H5Screate_simple failed");
}
diff --git a/c++/src/H5DataSpace.h b/c++/src/H5DataSpace.h
index f16acfc..87852a2 100644
--- a/c++/src/H5DataSpace.h
+++ b/c++/src/H5DataSpace.h
@@ -43,7 +43,7 @@ class H5_DLLCPP DataSpace : public IdComponent {
DataSpace &operator=(const DataSpace &rhs);
// Closes this dataspace.
- virtual void close();
+ virtual void close() override;
// Makes copy of an existing dataspace.
void copy(const DataSpace &like_space);
@@ -115,25 +115,25 @@ class H5_DLLCPP DataSpace : public IdComponent {
///\brief Returns this class name.
virtual H5std_string
- fromClass() const
+ fromClass() const override
{
return ("DataSpace");
}
// Gets the dataspace id.
- virtual hid_t getId() const;
+ virtual hid_t getId() const override;
// Deletes the global constant
static void deleteConstants();
// Destructor: properly terminates access to this dataspace.
- virtual ~DataSpace();
+ virtual ~DataSpace() override;
#ifndef DOXYGEN_SHOULD_SKIP_THIS
protected:
// Sets the dataspace id.
- virtual void p_setId(const hid_t new_id);
+ virtual void p_setId(const hid_t new_id) override;
#endif // DOXYGEN_SHOULD_SKIP_THIS
diff --git a/c++/src/H5DataType.cpp b/c++/src/H5DataType.cpp
index a943a55..af58a90 100644
--- a/c++/src/H5DataType.cpp
+++ b/c++/src/H5DataType.cpp
@@ -11,11 +11,7 @@
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#ifdef OLD_HEADER_FILENAME
-#include <iostream.h>
-#else
#include <iostream>
-#endif
#include <string>
#include "H5Include.h"
@@ -36,7 +32,6 @@
#include "H5DataType.h"
#include "H5AtomType.h"
#include "H5PredType.h"
-#include "H5private.h"
#include "H5AbstractDs.h"
#include "H5DataSet.h"
#include "H5Attribute.h"
@@ -50,7 +45,9 @@ using std::endl;
///\brief Default constructor: Creates a stub datatype
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-DataType::DataType() : H5Object(), id(H5I_INVALID_HID), encoded_buf(NULL), buf_size(0) {}
+DataType::DataType() : H5Object(), id(H5I_INVALID_HID), encoded_buf(NULL), buf_size(0)
+{
+}
//--------------------------------------------------------------------------
// Function: DataType overloaded constructor
@@ -78,10 +75,9 @@ DataType::DataType(const hid_t existing_id) : H5Object(), id(existing_id), encod
///\exception H5::DataTypeIException
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-DataType::DataType(const H5T_class_t type_class, size_t size) : H5Object(), encoded_buf(NULL), buf_size(0)
+DataType::DataType(const H5T_class_t type_class, size_t size)
+ : H5Object(), id{H5Tcreate(type_class, size)}, encoded_buf(NULL), buf_size(0)
{
- // Call C routine to create the new datatype
- id = H5Tcreate(type_class, size);
if (id < 0) {
throw DataTypeIException("DataType constructor", "H5Tcreate failed");
}
@@ -99,9 +95,10 @@ DataType::DataType(const H5T_class_t type_class, size_t size) : H5Object(), enco
// Programmer Binh-Minh Ribler - Oct, 2006
//--------------------------------------------------------------------------
DataType::DataType(const H5Location &loc, const void *ref, H5R_type_t ref_type, const PropList &plist)
- : H5Object(), encoded_buf(NULL), buf_size(0)
+ : H5Object(), id{H5Location::p_dereference(loc.getId(), ref, ref_type, plist,
+ "constructor - by dereference")},
+ encoded_buf(NULL), buf_size(0)
{
- id = H5Location::p_dereference(loc.getId(), ref, ref_type, plist, "constructor - by dereference");
}
//--------------------------------------------------------------------------
@@ -148,10 +145,9 @@ DataType::DataType(const DataType &original) : H5Object(), id(original.id), enco
// unnecessarily and will produce undefined behavior.
// -BMR, Apr 2015
//--------------------------------------------------------------------------
-DataType::DataType(const PredType &pred_type) : H5Object(), encoded_buf(NULL), buf_size(0)
+DataType::DataType(const PredType &pred_type)
+ : H5Object(), id{H5Tcopy(pred_type.getId())}, encoded_buf(NULL), buf_size(0)
{
- // Call C routine to copy the datatype
- id = H5Tcopy(pred_type.getId());
if (id < 0)
throw DataTypeIException("DataType constructor", "H5Tcopy failed");
}
@@ -170,9 +166,9 @@ DataType::DataType(const PredType &pred_type) : H5Object(), encoded_buf(NULL), b
// improve usability.
// -BMR, Dec 2016
//--------------------------------------------------------------------------
-DataType::DataType(const H5Location &loc, const char *dtype_name) : H5Object(), encoded_buf(NULL), buf_size(0)
+DataType::DataType(const H5Location &loc, const char *dtype_name)
+ : H5Object(), id{p_opentype(loc, dtype_name)}, encoded_buf(NULL), buf_size(0)
{
- id = p_opentype(loc, dtype_name);
}
//--------------------------------------------------------------------------
@@ -190,9 +186,8 @@ DataType::DataType(const H5Location &loc, const char *dtype_name) : H5Object(),
// -BMR, Dec 2016
//--------------------------------------------------------------------------
DataType::DataType(const H5Location &loc, const H5std_string &dtype_name)
- : H5Object(), encoded_buf(NULL), buf_size(0)
+ : H5Object(), id{p_opentype(loc, dtype_name.c_str())}, encoded_buf(NULL), buf_size(0)
{
- id = p_opentype(loc, dtype_name.c_str());
}
//--------------------------------------------------------------------------
@@ -320,8 +315,9 @@ DataType::encode()
// Allocate buffer and call C function again to encode
if (buf_size > 0) {
- encoded_buf = (unsigned char *)HDcalloc((size_t)1, buf_size);
- ret_value = H5Tencode(id, encoded_buf, &buf_size);
+ encoded_buf = new unsigned char[buf_size]();
+
+ ret_value = H5Tencode(id, encoded_buf, &buf_size);
if (ret_value < 0) {
throw DataTypeIException("DataType::encode", "H5Tencode failed");
}
@@ -342,10 +338,7 @@ DataType::encode()
bool
DataType::hasBinaryDesc() const
{
- if (encoded_buf != NULL)
- return true;
- else
- return false;
+ return encoded_buf != NULL;
}
//--------------------------------------------------------------------------
@@ -974,7 +967,7 @@ DataType::close()
// Free and reset buffer of encoded object description if it's been used
if (encoded_buf != NULL) {
- HDfree(encoded_buf);
+ delete[] encoded_buf;
buf_size = 0;
}
}
diff --git a/c++/src/H5DataType.h b/c++/src/H5DataType.h
index 49f5348..109dcbb 100644
--- a/c++/src/H5DataType.h
+++ b/c++/src/H5DataType.h
@@ -47,7 +47,7 @@ class H5_DLLCPP DataType : public H5Object {
// PropList& plist = PropList::DEFAULT);
// Closes this datatype.
- virtual void close();
+ virtual void close() override;
// Copies an existing datatype to this datatype object.
void copy(const DataType &like_type);
@@ -133,7 +133,7 @@ class H5_DLLCPP DataType : public H5Object {
///\brief Returns this class name.
virtual H5std_string
- fromClass() const
+ fromClass() const override
{
return ("DataType");
}
@@ -148,10 +148,10 @@ class H5_DLLCPP DataType : public H5Object {
bool hasBinaryDesc() const;
// Gets the datatype id.
- virtual hid_t getId() const;
+ virtual hid_t getId() const override;
// Destructor: properly terminates access to this datatype.
- virtual ~DataType();
+ virtual ~DataType() override;
protected:
#ifndef DOXYGEN_SHOULD_SKIP_THIS
@@ -162,7 +162,7 @@ class H5_DLLCPP DataType : public H5Object {
hid_t p_decode() const;
// Sets the datatype id.
- virtual void p_setId(const hid_t new_id);
+ virtual void p_setId(const hid_t new_id) override;
// Opens a datatype and returns the id.
hid_t p_opentype(const H5Location &loc, const char *dtype_name) const;
diff --git a/c++/src/H5DcreatProp.cpp b/c++/src/H5DcreatProp.cpp
index d670b74..a9270fd 100644
--- a/c++/src/H5DcreatProp.cpp
+++ b/c++/src/H5DcreatProp.cpp
@@ -78,8 +78,7 @@ DSetCreatPropList::getConstant()
void
DSetCreatPropList::deleteConstants()
{
- if (DEFAULT_ != 0)
- delete DEFAULT_;
+ delete DEFAULT_;
}
//--------------------------------------------------------------------------
@@ -94,7 +93,9 @@ const DSetCreatPropList &DSetCreatPropList::DEFAULT = *getConstant();
///\brief Default constructor: creates a stub dataset creation property list
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-DSetCreatPropList::DSetCreatPropList() : ObjCreatPropList(H5P_DATASET_CREATE) {}
+DSetCreatPropList::DSetCreatPropList() : ObjCreatPropList(H5P_DATASET_CREATE)
+{
+}
//--------------------------------------------------------------------------
// Function: DSetCreatPropList copy constructor
@@ -102,7 +103,9 @@ DSetCreatPropList::DSetCreatPropList() : ObjCreatPropList(H5P_DATASET_CREATE) {}
/// DSetCreatPropList object
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-DSetCreatPropList::DSetCreatPropList(const DSetCreatPropList &orig) : ObjCreatPropList(orig) {}
+DSetCreatPropList::DSetCreatPropList(const DSetCreatPropList &orig) : ObjCreatPropList(orig)
+{
+}
//--------------------------------------------------------------------------
// Function: DSetCreatPropList overloaded constructor
@@ -110,7 +113,9 @@ DSetCreatPropList::DSetCreatPropList(const DSetCreatPropList &orig) : ObjCreatPr
/// existing dataset creation property list.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-DSetCreatPropList::DSetCreatPropList(const hid_t plist_id) : ObjCreatPropList(plist_id) {}
+DSetCreatPropList::DSetCreatPropList(const hid_t plist_id) : ObjCreatPropList(plist_id)
+{
+}
//--------------------------------------------------------------------------
// Function: DSetCreatPropList::setChunk
@@ -780,6 +785,8 @@ DSetCreatPropList::setVirtual(const DataSpace &vspace, const H5std_string src_fn
///\brief Noop destructor.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-DSetCreatPropList::~DSetCreatPropList() {}
+DSetCreatPropList::~DSetCreatPropList()
+{
+}
} // namespace H5
diff --git a/c++/src/H5DcreatProp.h b/c++/src/H5DcreatProp.h
index 3c032ee..a2d5ff2 100644
--- a/c++/src/H5DcreatProp.h
+++ b/c++/src/H5DcreatProp.h
@@ -128,7 +128,7 @@ class H5_DLLCPP DSetCreatPropList : public ObjCreatPropList {
///\brief Returns this class name.
virtual H5std_string
- fromClass() const
+ fromClass() const override
{
return ("DSetCreatPropList");
}
@@ -141,7 +141,7 @@ class H5_DLLCPP DSetCreatPropList : public ObjCreatPropList {
DSetCreatPropList(const hid_t plist_id);
// Noop destructor.
- virtual ~DSetCreatPropList();
+ virtual ~DSetCreatPropList() override;
#ifndef DOXYGEN_SHOULD_SKIP_THIS
diff --git a/c++/src/H5DxferProp.cpp b/c++/src/H5DxferProp.cpp
index d9d7884..1fd6878 100644
--- a/c++/src/H5DxferProp.cpp
+++ b/c++/src/H5DxferProp.cpp
@@ -13,7 +13,6 @@
#include <string>
-#include "H5private.h" // for HDmemset
#include "H5Include.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
@@ -72,8 +71,7 @@ DSetMemXferPropList::getConstant()
void
DSetMemXferPropList::deleteConstants()
{
- if (DEFAULT_ != 0)
- delete DEFAULT_;
+ delete DEFAULT_;
}
//--------------------------------------------------------------------------
@@ -89,7 +87,9 @@ const DSetMemXferPropList &DSetMemXferPropList::DEFAULT = *getConstant();
/// transfer property list object.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-DSetMemXferPropList::DSetMemXferPropList() : PropList(H5P_DATASET_XFER) {}
+DSetMemXferPropList::DSetMemXferPropList() : PropList(H5P_DATASET_XFER)
+{
+}
//--------------------------------------------------------------------------
// Function DSetMemXferPropList constructor
@@ -110,7 +110,9 @@ DSetMemXferPropList::DSetMemXferPropList(const char *exp) : PropList(H5P_DATASET
/// list object to copy
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-DSetMemXferPropList::DSetMemXferPropList(const DSetMemXferPropList &original) : PropList(original) {}
+DSetMemXferPropList::DSetMemXferPropList(const DSetMemXferPropList &original) : PropList(original)
+{
+}
//--------------------------------------------------------------------------
// Function DSetMemXferPropList overloaded constructor
@@ -120,7 +122,9 @@ DSetMemXferPropList::DSetMemXferPropList(const DSetMemXferPropList &original) :
/// property list
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-DSetMemXferPropList::DSetMemXferPropList(const hid_t plist_id) : PropList(plist_id) {}
+DSetMemXferPropList::DSetMemXferPropList(const hid_t plist_id) : PropList(plist_id)
+{
+}
//--------------------------------------------------------------------------
// Function: DSetMemXferPropList::setBuffer
@@ -170,7 +174,7 @@ DSetMemXferPropList::getBuffer(void **tconv, void **bkg) const
void
DSetMemXferPropList::setPreserve(bool status) const
{
- herr_t ret_value = H5Pset_preserve(id, (hbool_t)status);
+ herr_t ret_value = H5Pset_preserve(id, static_cast<hbool_t>(status));
if (ret_value < 0) {
throw PropListIException("DSetMemXferPropList::setPreserve", "H5Pset_preserve failed");
}
@@ -306,10 +310,10 @@ DSetMemXferPropList::getDataTransform() const
{
// Initialize string to "", so that if there is no expression, the returned
// string will be empty
- H5std_string expression("");
+ H5std_string expression;
// Preliminary call to get the expression's length
- ssize_t exp_len = H5Pget_data_transform(id, NULL, (size_t)0);
+ ssize_t exp_len = H5Pget_data_transform(id, NULL, 0);
// If H5Pget_data_transform returns a negative value, raise an exception
if (exp_len < 0) {
@@ -319,8 +323,7 @@ DSetMemXferPropList::getDataTransform() const
// If expression exists, calls C routine again to get it
else if (exp_len > 0) {
// Temporary buffer for char* expression
- char *exp_C = new char[exp_len + 1];
- HDmemset(exp_C, 0, exp_len + 1); // clear buffer
+ char *exp_C = new char[exp_len + 1]();
// Used overloaded function
exp_len = getDataTransform(exp_C, exp_len + 1);
@@ -552,6 +555,8 @@ DSetMemXferPropList::getEDCCheck() const
///\brief Noop destructor.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-DSetMemXferPropList::~DSetMemXferPropList() {}
+DSetMemXferPropList::~DSetMemXferPropList()
+{
+}
} // namespace H5
diff --git a/c++/src/H5DxferProp.h b/c++/src/H5DxferProp.h
index 1e4d668..24f8d70 100644
--- a/c++/src/H5DxferProp.h
+++ b/c++/src/H5DxferProp.h
@@ -100,7 +100,7 @@ class H5_DLLCPP DSetMemXferPropList : public PropList {
///\brief Returns this class name.
virtual H5std_string
- fromClass() const
+ fromClass() const override
{
return ("DSetMemXferPropList");
}
@@ -113,7 +113,7 @@ class H5_DLLCPP DSetMemXferPropList : public PropList {
DSetMemXferPropList(const hid_t plist_id);
// Noop destructor
- virtual ~DSetMemXferPropList();
+ virtual ~DSetMemXferPropList() override;
#ifndef DOXYGEN_SHOULD_SKIP_THIS
diff --git a/c++/src/H5EnumType.cpp b/c++/src/H5EnumType.cpp
index 9b179da..2073365 100644
--- a/c++/src/H5EnumType.cpp
+++ b/c++/src/H5EnumType.cpp
@@ -13,7 +13,6 @@
#include <string>
-#include "H5private.h" // for HDmemset
#include "H5Include.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
@@ -41,7 +40,9 @@ namespace H5 {
///\brief Default constructor: Creates a stub datatype
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-EnumType::EnumType() : DataType() {}
+EnumType::EnumType() : DataType()
+{
+}
//--------------------------------------------------------------------------
// Function: EnumType overloaded constructor
@@ -50,14 +51,18 @@ EnumType::EnumType() : DataType() {}
///\exception H5::DataTypeIException
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-EnumType::EnumType(const hid_t existing_id) : DataType(existing_id) {}
+EnumType::EnumType(const hid_t existing_id) : DataType(existing_id)
+{
+}
//--------------------------------------------------------------------------
// Function: EnumType copy constructor
///\brief Copy constructor: same HDF5 object as \a original
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-EnumType::EnumType(const EnumType &original) : DataType(original) {}
+EnumType::EnumType(const EnumType &original) : DataType(original)
+{
+}
//--------------------------------------------------------------------------
// Function: EnumType overloaded constructor
@@ -69,7 +74,9 @@ EnumType::EnumType(const EnumType &original) : DataType(original) {}
// the enum datatype.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-EnumType::EnumType(size_t size) : DataType(H5T_ENUM, size) {}
+EnumType::EnumType(size_t size) : DataType(H5T_ENUM, size)
+{
+}
//--------------------------------------------------------------------------
// Function: EnumType overloaded constructor
@@ -211,8 +218,7 @@ EnumType::insert(const H5std_string &name, void *value) const
H5std_string
EnumType::nameOf(void *value, size_t size) const
{
- char *name_C = new char[size + 1]; // temporary C-string for C API
- HDmemset(name_C, 0, size + 1); // clear buffer
+ char *name_C = new char[size + 1](); // temporary C-string for C API
// Calls C routine H5Tenum_nameof to get the name of the specified enum type
herr_t ret_value = H5Tenum_nameof(id, value, name_C, size);
@@ -335,6 +341,8 @@ EnumType::getMemberValue(unsigned memb_no, void *value) const
///\brief Properly terminates access to this enum datatype.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-EnumType::~EnumType() {}
+EnumType::~EnumType()
+{
+}
} // namespace H5
diff --git a/c++/src/H5EnumType.h b/c++/src/H5EnumType.h
index 484405a..f9091ca 100644
--- a/c++/src/H5EnumType.h
+++ b/c++/src/H5EnumType.h
@@ -41,7 +41,7 @@ class H5_DLLCPP EnumType : public DataType {
// Returns an EnumType object via DataType* by decoding the
// binary object description of this type.
- virtual DataType *decode() const;
+ virtual DataType *decode() const override;
// Returns the number of members in this enumeration datatype.
int getNmembers() const;
@@ -68,7 +68,7 @@ class H5_DLLCPP EnumType : public DataType {
///\brief Returns this class name.
virtual H5std_string
- fromClass() const
+ fromClass() const override
{
return ("EnumType");
}
@@ -82,7 +82,7 @@ class H5_DLLCPP EnumType : public DataType {
// Copy constructor: same as the original EnumType.
EnumType(const EnumType &original);
- virtual ~EnumType();
+ virtual ~EnumType() override;
}; // end of EnumType
} // namespace H5
diff --git a/c++/src/H5Exception.cpp b/c++/src/H5Exception.cpp
index 1aa8ecc..a42c151 100644
--- a/c++/src/H5Exception.cpp
+++ b/c++/src/H5Exception.cpp
@@ -25,7 +25,9 @@ const char Exception::DEFAULT_MSG[] = "No detailed information provided";
///\brief Default constructor.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-Exception::Exception() : detail_message(""), func_name("") {}
+Exception::Exception() : detail_message{""}, func_name{""}
+{
+}
//--------------------------------------------------------------------------
// Function: Exception overloaded constructor
@@ -340,7 +342,9 @@ Exception::printErrorStack(FILE *stream, hid_t err_stack)
///\brief Noop destructor
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-Exception::~Exception() throw() {}
+Exception::~Exception() throw()
+{
+}
//--------------------------------------------------------------------------
// Subclass: FileIException
@@ -350,7 +354,9 @@ Exception::~Exception() throw() {}
// Function: FileIException default constructor
///\brief Default constructor.
//--------------------------------------------------------------------------
-FileIException::FileIException() : Exception() {}
+FileIException::FileIException() : Exception()
+{
+}
//--------------------------------------------------------------------------
// Function: FileIException overloaded constructor
///\brief Creates a FileIException with the name of the function,
@@ -366,7 +372,9 @@ FileIException::FileIException(const H5std_string &func, const H5std_string &mes
// Function: FileIException destructor
///\brief Noop destructor.
//--------------------------------------------------------------------------
-FileIException::~FileIException() throw() {}
+FileIException::~FileIException() throw()
+{
+}
//--------------------------------------------------------------------------
// Subclass: GroupIException
@@ -376,7 +384,9 @@ FileIException::~FileIException() throw() {}
// Function: GroupIException default constructor
///\brief Default constructor.
//--------------------------------------------------------------------------
-GroupIException::GroupIException() : Exception() {}
+GroupIException::GroupIException() : Exception()
+{
+}
//--------------------------------------------------------------------------
// Function: GroupIException overloaded constructor
///\brief Creates a GroupIException with the name of the function,
@@ -392,7 +402,9 @@ GroupIException::GroupIException(const H5std_string &func, const H5std_string &m
// Function: GroupIException destructor
///\brief Noop destructor.
//--------------------------------------------------------------------------
-GroupIException::~GroupIException() throw() {}
+GroupIException::~GroupIException() throw()
+{
+}
//--------------------------------------------------------------------------
// Subclass: DataSpaceIException
@@ -402,7 +414,9 @@ GroupIException::~GroupIException() throw() {}
// Function: DataSpaceIException default constructor
///\brief Default constructor.
//--------------------------------------------------------------------------
-DataSpaceIException::DataSpaceIException() : Exception() {}
+DataSpaceIException::DataSpaceIException() : Exception()
+{
+}
//--------------------------------------------------------------------------
// Function: DataSpaceIException overloaded constructor
///\brief Creates a DataSpaceIException with the name of the function,
@@ -418,7 +432,9 @@ DataSpaceIException::DataSpaceIException(const H5std_string &func, const H5std_s
// Function: DataSpaceIException destructor
///\brief Noop destructor.
//--------------------------------------------------------------------------
-DataSpaceIException::~DataSpaceIException() throw() {}
+DataSpaceIException::~DataSpaceIException() throw()
+{
+}
//--------------------------------------------------------------------------
// Subclass: DataTypeIException
@@ -428,7 +444,9 @@ DataSpaceIException::~DataSpaceIException() throw() {}
// Function: DataTypeIException default constructor
///\brief Default constructor.
//--------------------------------------------------------------------------
-DataTypeIException::DataTypeIException() : Exception() {}
+DataTypeIException::DataTypeIException() : Exception()
+{
+}
//--------------------------------------------------------------------------
// Function: DataTypeIException overloaded constructor
///\brief Creates a DataTypeIException with the name of the function,
@@ -444,7 +462,9 @@ DataTypeIException::DataTypeIException(const H5std_string &func, const H5std_str
// Function: DataTypeIException destructor
///\brief Noop destructor.
//--------------------------------------------------------------------------
-DataTypeIException::~DataTypeIException() throw() {}
+DataTypeIException::~DataTypeIException() throw()
+{
+}
//--------------------------------------------------------------------------
// Subclass: ObjHeaderIException
@@ -454,7 +474,9 @@ DataTypeIException::~DataTypeIException() throw() {}
// Function: ObjHeaderIException default constructor
///\brief Default constructor.
//--------------------------------------------------------------------------
-ObjHeaderIException::ObjHeaderIException() : Exception() {}
+ObjHeaderIException::ObjHeaderIException() : Exception()
+{
+}
//--------------------------------------------------------------------------
// Function: ObjHeaderIException overloaded constructor
///\brief Creates an ObjHeaderIException with the name of the function,
@@ -470,7 +492,9 @@ ObjHeaderIException::ObjHeaderIException(const H5std_string &func, const H5std_s
// Function: ObjHeaderIException destructor
///\brief Noop destructor.
//--------------------------------------------------------------------------
-ObjHeaderIException::~ObjHeaderIException() throw() {}
+ObjHeaderIException::~ObjHeaderIException() throw()
+{
+}
//--------------------------------------------------------------------------
// Subclass: PropListIException
@@ -480,7 +504,9 @@ ObjHeaderIException::~ObjHeaderIException() throw() {}
// Function: PropListIException default constructor
///\brief Default constructor.
//--------------------------------------------------------------------------
-PropListIException::PropListIException() : Exception() {}
+PropListIException::PropListIException() : Exception()
+{
+}
//--------------------------------------------------------------------------
// Function: PropListIException overloaded constructor
///\brief Creates a PropListIException with the name of the function,
@@ -496,7 +522,9 @@ PropListIException::PropListIException(const H5std_string &func, const H5std_str
// Function: PropListIException destructor
///\brief Noop destructor.
//--------------------------------------------------------------------------
-PropListIException::~PropListIException() throw() {}
+PropListIException::~PropListIException() throw()
+{
+}
//--------------------------------------------------------------------------
// Subclass: DataSetIException
@@ -506,7 +534,9 @@ PropListIException::~PropListIException() throw() {}
// Function: DataSetIException default constructor
///\brief Default constructor.
//--------------------------------------------------------------------------
-DataSetIException::DataSetIException() : Exception() {}
+DataSetIException::DataSetIException() : Exception()
+{
+}
//--------------------------------------------------------------------------
// Function: DataSetIException overloaded constructor
///\brief Creates a DataSetIException with the name of the function,
@@ -522,7 +552,9 @@ DataSetIException::DataSetIException(const H5std_string &func, const H5std_strin
// Function: DataSetIException destructor
///\brief Noop destructor.
//--------------------------------------------------------------------------
-DataSetIException::~DataSetIException() throw() {}
+DataSetIException::~DataSetIException() throw()
+{
+}
//--------------------------------------------------------------------------
// Subclass: AttributeIException
@@ -532,7 +564,9 @@ DataSetIException::~DataSetIException() throw() {}
// Function: AttributeIException default constructor
///\brief Default constructor.
//--------------------------------------------------------------------------
-AttributeIException::AttributeIException() : Exception() {}
+AttributeIException::AttributeIException() : Exception()
+{
+}
//--------------------------------------------------------------------------
// Function: AttributeIException overloaded constructor
///\brief Creates an AttributeIException with the name of the function,
@@ -548,7 +582,9 @@ AttributeIException::AttributeIException(const H5std_string &func, const H5std_s
// Function: AttributeIException destructor
///\brief Noop destructor.
//--------------------------------------------------------------------------
-AttributeIException::~AttributeIException() throw() {}
+AttributeIException::~AttributeIException() throw()
+{
+}
//--------------------------------------------------------------------------
// Subclass: ReferenceException
@@ -558,7 +594,9 @@ AttributeIException::~AttributeIException() throw() {}
// Function: ReferenceException default constructor
///\brief Default constructor.
//--------------------------------------------------------------------------
-ReferenceException::ReferenceException() : Exception() {}
+ReferenceException::ReferenceException() : Exception()
+{
+}
//--------------------------------------------------------------------------
// Function: ReferenceException overloaded constructor
///\brief Creates a ReferenceException with the name of the function,
@@ -574,7 +612,9 @@ ReferenceException::ReferenceException(const H5std_string &func, const H5std_str
// Function: ReferenceException destructor
///\brief Noop destructor.
//--------------------------------------------------------------------------
-ReferenceException::~ReferenceException() throw() {}
+ReferenceException::~ReferenceException() throw()
+{
+}
//--------------------------------------------------------------------------
// Subclass: LibraryIException
@@ -584,7 +624,9 @@ ReferenceException::~ReferenceException() throw() {}
// Function: LibraryIException default constructor
///\brief Default constructor.
//--------------------------------------------------------------------------
-LibraryIException::LibraryIException() : Exception() {}
+LibraryIException::LibraryIException() : Exception()
+{
+}
//--------------------------------------------------------------------------
// Function: LibraryIException overloaded constructor
///\brief Creates a LibraryIException with the name of the function,
@@ -600,7 +642,9 @@ LibraryIException::LibraryIException(const H5std_string &func, const H5std_strin
// Function: LibraryIException destructor
///\brief Noop destructor.
//--------------------------------------------------------------------------
-LibraryIException::~LibraryIException() throw() {}
+LibraryIException::~LibraryIException() throw()
+{
+}
//--------------------------------------------------------------------------
// Subclass: LocationException
@@ -610,7 +654,9 @@ LibraryIException::~LibraryIException() throw() {}
// Function: LocationException default constructor
///\brief Default constructor.
//--------------------------------------------------------------------------
-LocationException::LocationException() : Exception() {}
+LocationException::LocationException() : Exception()
+{
+}
//--------------------------------------------------------------------------
// Function: LocationException overloaded constructor
///\brief Creates a LocationException with the name of the function,
@@ -626,7 +672,9 @@ LocationException::LocationException(const H5std_string &func, const H5std_strin
// Function: LocationException destructor
///\brief Noop destructor.
//--------------------------------------------------------------------------
-LocationException::~LocationException() throw() {}
+LocationException::~LocationException() throw()
+{
+}
//--------------------------------------------------------------------------
// Subclass: IdComponentException
@@ -636,7 +684,9 @@ LocationException::~LocationException() throw() {}
// Function: IdComponentException default constructor
///\brief Default constructor.
//--------------------------------------------------------------------------
-IdComponentException::IdComponentException() : Exception() {}
+IdComponentException::IdComponentException() : Exception()
+{
+}
//--------------------------------------------------------------------------
// Function: IdComponentException overloaded constructor
///\brief Creates a IdComponentException with the name of the function,
@@ -652,6 +702,8 @@ IdComponentException::IdComponentException(const H5std_string &func, const H5std
// Function: IdComponentException destructor
///\brief Noop destructor.
//--------------------------------------------------------------------------
-IdComponentException::~IdComponentException() throw() {}
+IdComponentException::~IdComponentException() throw()
+{
+}
} // namespace H5
diff --git a/c++/src/H5Exception.h b/c++/src/H5Exception.h
index 566c818..e22f74b 100644
--- a/c++/src/H5Exception.h
+++ b/c++/src/H5Exception.h
@@ -18,11 +18,7 @@
#include <string>
namespace H5 {
-#ifdef H5_NO_STD
-#define H5std_string ::string
-#else
#define H5std_string std::string
-#endif
/*! \class Exception
\brief Exception provides wrappers of HDF5 error handling functions.
@@ -94,84 +90,84 @@ class H5_DLLCPP FileIException : public Exception {
public:
FileIException(const H5std_string &func_name, const H5std_string &message = DEFAULT_MSG);
FileIException();
- virtual ~FileIException() throw();
+ virtual ~FileIException() throw() override;
};
class H5_DLLCPP GroupIException : public Exception {
public:
GroupIException(const H5std_string &func_name, const H5std_string &message = DEFAULT_MSG);
GroupIException();
- virtual ~GroupIException() throw();
+ virtual ~GroupIException() throw() override;
};
class H5_DLLCPP DataSpaceIException : public Exception {
public:
DataSpaceIException(const H5std_string &func_name, const H5std_string &message = DEFAULT_MSG);
DataSpaceIException();
- virtual ~DataSpaceIException() throw();
+ virtual ~DataSpaceIException() throw() override;
};
class H5_DLLCPP DataTypeIException : public Exception {
public:
DataTypeIException(const H5std_string &func_name, const H5std_string &message = DEFAULT_MSG);
DataTypeIException();
- virtual ~DataTypeIException() throw();
+ virtual ~DataTypeIException() throw() override;
};
class H5_DLLCPP ObjHeaderIException : public Exception {
public:
ObjHeaderIException(const H5std_string &func_name, const H5std_string &message = DEFAULT_MSG);
ObjHeaderIException();
- virtual ~ObjHeaderIException() throw();
+ virtual ~ObjHeaderIException() throw() override;
};
class H5_DLLCPP PropListIException : public Exception {
public:
PropListIException(const H5std_string &func_name, const H5std_string &message = DEFAULT_MSG);
PropListIException();
- virtual ~PropListIException() throw();
+ virtual ~PropListIException() throw() override;
};
class H5_DLLCPP DataSetIException : public Exception {
public:
DataSetIException(const H5std_string &func_name, const H5std_string &message = DEFAULT_MSG);
DataSetIException();
- virtual ~DataSetIException() throw();
+ virtual ~DataSetIException() throw() override;
};
class H5_DLLCPP AttributeIException : public Exception {
public:
AttributeIException(const H5std_string &func_name, const H5std_string &message = DEFAULT_MSG);
AttributeIException();
- virtual ~AttributeIException() throw();
+ virtual ~AttributeIException() throw() override;
};
class H5_DLLCPP ReferenceException : public Exception {
public:
ReferenceException(const H5std_string &func_name, const H5std_string &message = DEFAULT_MSG);
ReferenceException();
- virtual ~ReferenceException() throw();
+ virtual ~ReferenceException() throw() override;
};
class H5_DLLCPP LibraryIException : public Exception {
public:
LibraryIException(const H5std_string &func_name, const H5std_string &message = DEFAULT_MSG);
LibraryIException();
- virtual ~LibraryIException() throw();
+ virtual ~LibraryIException() throw() override;
};
class H5_DLLCPP LocationException : public Exception {
public:
LocationException(const H5std_string &func_name, const H5std_string &message = DEFAULT_MSG);
LocationException();
- virtual ~LocationException() throw();
+ virtual ~LocationException() throw() override;
};
class H5_DLLCPP IdComponentException : public Exception {
public:
IdComponentException(const H5std_string &func_name, const H5std_string &message = DEFAULT_MSG);
IdComponentException();
- virtual ~IdComponentException() throw();
+ virtual ~IdComponentException() throw() override;
}; // end of IdComponentException
} // namespace H5
diff --git a/c++/src/H5FaccProp.cpp b/c++/src/H5FaccProp.cpp
index c8c2b24..a79ada3 100644
--- a/c++/src/H5FaccProp.cpp
+++ b/c++/src/H5FaccProp.cpp
@@ -11,11 +11,7 @@
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#ifdef OLD_HEADER_FILENAME
-#include <iostream.h>
-#else
#include <iostream>
-#endif
#include <string>
using std::cerr;
@@ -80,8 +76,7 @@ FileAccPropList::getConstant()
void
FileAccPropList::deleteConstants()
{
- if (DEFAULT_ != 0)
- delete DEFAULT_;
+ delete DEFAULT_;
}
//--------------------------------------------------------------------------
@@ -96,7 +91,9 @@ const FileAccPropList &FileAccPropList::DEFAULT = *getConstant();
///\brief Creates a file access property list
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-FileAccPropList::FileAccPropList() : PropList(H5P_FILE_ACCESS) {}
+FileAccPropList::FileAccPropList() : PropList(H5P_FILE_ACCESS)
+{
+}
//--------------------------------------------------------------------------
// Function: FileAccPropList copy constructor
@@ -104,7 +101,9 @@ FileAccPropList::FileAccPropList() : PropList(H5P_FILE_ACCESS) {}
///\param original - IN: FileAccPropList instance to copy
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-FileAccPropList::FileAccPropList(const FileAccPropList &original) : PropList(original) {}
+FileAccPropList::FileAccPropList(const FileAccPropList &original) : PropList(original)
+{
+}
//--------------------------------------------------------------------------
// Function: FileAccPropList overloaded constructor
@@ -112,7 +111,9 @@ FileAccPropList::FileAccPropList(const FileAccPropList &original) : PropList(ori
/// existing one.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-FileAccPropList::FileAccPropList(const hid_t plist_id) : PropList(plist_id) {}
+FileAccPropList::FileAccPropList(const hid_t plist_id) : PropList(plist_id)
+{
+}
//--------------------------------------------------------------------------
// Function: FileAccPropList::setStdio
@@ -814,6 +815,8 @@ FileAccPropList::getLibverBounds(H5F_libver_t &libver_low, H5F_libver_t &libver_
///\brief Noop destructor
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-FileAccPropList::~FileAccPropList() {}
+FileAccPropList::~FileAccPropList()
+{
+}
} // namespace H5
diff --git a/c++/src/H5FaccProp.h b/c++/src/H5FaccProp.h
index 998f870..7d998e2 100644
--- a/c++/src/H5FaccProp.h
+++ b/c++/src/H5FaccProp.h
@@ -137,7 +137,7 @@ class H5_DLLCPP FileAccPropList : public PropList {
///\brief Returns this class name.
virtual H5std_string
- fromClass() const
+ fromClass() const override
{
return ("FileAccPropList");
}
@@ -150,7 +150,7 @@ class H5_DLLCPP FileAccPropList : public PropList {
FileAccPropList(const hid_t plist_id);
// Noop destructor
- virtual ~FileAccPropList();
+ virtual ~FileAccPropList() override;
#ifndef DOXYGEN_SHOULD_SKIP_THIS
diff --git a/c++/src/H5FcreatProp.cpp b/c++/src/H5FcreatProp.cpp
index d3b214b..b51ba10 100644
--- a/c++/src/H5FcreatProp.cpp
+++ b/c++/src/H5FcreatProp.cpp
@@ -68,8 +68,7 @@ FileCreatPropList::getConstant()
void
FileCreatPropList::deleteConstants()
{
- if (DEFAULT_ != 0)
- delete DEFAULT_;
+ delete DEFAULT_;
}
//--------------------------------------------------------------------------
@@ -84,7 +83,9 @@ const FileCreatPropList &FileCreatPropList::DEFAULT = *getConstant();
///\brief Default constructor: Creates a file create property list
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-FileCreatPropList::FileCreatPropList() : PropList(H5P_FILE_CREATE) {}
+FileCreatPropList::FileCreatPropList() : PropList(H5P_FILE_CREATE)
+{
+}
//--------------------------------------------------------------------------
// Function: FileCreatPropList copy constructor
@@ -93,7 +94,9 @@ FileCreatPropList::FileCreatPropList() : PropList(H5P_FILE_CREATE) {}
///\param original - IN: FileCreatPropList instance to copy
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-FileCreatPropList::FileCreatPropList(const FileCreatPropList &original) : PropList(original) {}
+FileCreatPropList::FileCreatPropList(const FileCreatPropList &original) : PropList(original)
+{
+}
//--------------------------------------------------------------------------
// Function: FileCreatPropList overloaded constructor
@@ -102,7 +105,9 @@ FileCreatPropList::FileCreatPropList(const FileCreatPropList &original) : PropLi
///\param plist_id - IN: FileCreatPropList id to use
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-FileCreatPropList::FileCreatPropList(const hid_t plist_id) : PropList(plist_id) {}
+FileCreatPropList::FileCreatPropList(const hid_t plist_id) : PropList(plist_id)
+{
+}
#ifndef H5_NO_DEPRECATED_SYMBOLS
//--------------------------------------------------------------------------
@@ -376,6 +381,8 @@ FileCreatPropList::getFileSpacePagesize() const
///\brief Noop destructor.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-FileCreatPropList::~FileCreatPropList() {}
+FileCreatPropList::~FileCreatPropList()
+{
+}
} // namespace H5
diff --git a/c++/src/H5FcreatProp.h b/c++/src/H5FcreatProp.h
index 00ae0b1..ba0c2e6 100644
--- a/c++/src/H5FcreatProp.h
+++ b/c++/src/H5FcreatProp.h
@@ -78,7 +78,7 @@ class H5_DLLCPP FileCreatPropList : public PropList {
///\brief Returns this class name.
virtual H5std_string
- fromClass() const
+ fromClass() const override
{
return ("FileCreatPropList");
}
@@ -91,7 +91,7 @@ class H5_DLLCPP FileCreatPropList : public PropList {
FileCreatPropList(const hid_t plist_id);
// Noop destructor
- virtual ~FileCreatPropList();
+ virtual ~FileCreatPropList() override;
#ifndef DOXYGEN_SHOULD_SKIP_THIS
diff --git a/c++/src/H5File.cpp b/c++/src/H5File.cpp
index cdc9b45..f92171b 100644
--- a/c++/src/H5File.cpp
+++ b/c++/src/H5File.cpp
@@ -11,11 +11,7 @@
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#ifdef OLD_HEADER_FILENAME
-#include <iostream.h>
-#else
#include <iostream>
-#endif
#include <string>
#include "H5Include.h"
@@ -49,7 +45,9 @@ using std::endl;
///\brief Default constructor: creates a stub H5File object.
// December 2000
//--------------------------------------------------------------------------
-H5File::H5File() : Group(), id(H5I_INVALID_HID) {}
+H5File::H5File() : Group(), id(H5I_INVALID_HID)
+{
+}
//--------------------------------------------------------------------------
// Function: H5File overloaded constructor
@@ -167,9 +165,8 @@ H5File::p_get_file(const char *name, unsigned int flags, const FileCreatPropList
// constructor is needed by the library in order to return
// an object, H5File doesn't need it. -BMR (HDFFV-8766 partially)
//--------------------------------------------------------------------------
-H5File::H5File(hid_t existing_id) : Group()
+H5File::H5File(hid_t existing_id) : Group(), id{existing_id}
{
- id = existing_id;
incRefCount(); // increment number of references to this id
}
@@ -182,9 +179,8 @@ H5File::H5File(hid_t existing_id) : Group()
///\param original - IN: H5File instance to copy
// December 2000
//--------------------------------------------------------------------------
-H5File::H5File(const H5File &original) : Group()
+H5File::H5File(const H5File &original) : Group(original), id{original.getId()}
{
- id = original.getId();
incRefCount(); // increment number of references to this id
}
diff --git a/c++/src/H5File.h b/c++/src/H5File.h
index d287031..daed073 100644
--- a/c++/src/H5File.h
+++ b/c++/src/H5File.h
@@ -39,7 +39,7 @@ class H5_DLLCPP H5File : public Group {
const FileAccPropList &access_plist = FileAccPropList::DEFAULT);
// Close this file.
- virtual void close();
+ virtual void close() override;
// Gets a copy of the access property list of this file.
FileAccPropList getAccessPlist() const;
@@ -96,16 +96,16 @@ class H5_DLLCPP H5File : public Group {
///\brief Returns this class name.
virtual H5std_string
- fromClass() const
+ fromClass() const override
{
return ("H5File");
}
// Throw file exception.
- virtual void throwException(const H5std_string &func_name, const H5std_string &msg) const;
+ virtual void throwException(const H5std_string &func_name, const H5std_string &msg) const override;
// For CommonFG to get the file id.
- virtual hid_t getLocId() const;
+ virtual hid_t getLocId() const override;
// Default constructor
H5File();
@@ -114,15 +114,15 @@ class H5_DLLCPP H5File : public Group {
H5File(const H5File &original);
// Gets the HDF5 file id.
- virtual hid_t getId() const;
+ virtual hid_t getId() const override;
// H5File destructor.
- virtual ~H5File();
+ virtual ~H5File() override;
protected:
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// Sets the HDF5 file id.
- virtual void p_setId(const hid_t new_id);
+ virtual void p_setId(const hid_t new_id) override;
#endif // DOXYGEN_SHOULD_SKIP_THIS
private:
diff --git a/c++/src/H5FloatType.cpp b/c++/src/H5FloatType.cpp
index 58d18a7..33f8377 100644
--- a/c++/src/H5FloatType.cpp
+++ b/c++/src/H5FloatType.cpp
@@ -40,7 +40,9 @@ namespace H5 {
///\brief Default constructor: Creates a stub floating-point datatype
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-FloatType::FloatType() {}
+FloatType::FloatType()
+{
+}
//--------------------------------------------------------------------------
// Function: FloatType overloaded constructor
@@ -63,14 +65,18 @@ FloatType::FloatType(const PredType &pred_type) : AtomType()
///\exception H5::DataTypeIException
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-FloatType::FloatType(const hid_t existing_id) : AtomType(existing_id) {}
+FloatType::FloatType(const hid_t existing_id) : AtomType(existing_id)
+{
+}
//--------------------------------------------------------------------------
// Function: FloatType copy constructor
///\brief Copy constructor: same HDF5 object as \a original
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-FloatType::FloatType(const FloatType &original) : AtomType(original) {}
+FloatType::FloatType(const FloatType &original) : AtomType(original)
+{
+}
//--------------------------------------------------------------------------
// Function: FloatType overloaded constructor
@@ -342,6 +348,8 @@ FloatType::setInpad(H5T_pad_t inpad) const
///\brief Noop destructor.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-FloatType::~FloatType() {}
+FloatType::~FloatType()
+{
+}
} // namespace H5
diff --git a/c++/src/H5FloatType.h b/c++/src/H5FloatType.h
index c76be95..387520f 100644
--- a/c++/src/H5FloatType.h
+++ b/c++/src/H5FloatType.h
@@ -36,7 +36,7 @@ class H5_DLLCPP FloatType : public AtomType {
// Returns an FloatType object via DataType* by decoding the
// binary object description of this type.
- virtual DataType *decode() const;
+ virtual DataType *decode() const override;
// Retrieves the exponent bias of a floating-point type.
size_t getEbias() const;
@@ -64,7 +64,7 @@ class H5_DLLCPP FloatType : public AtomType {
///\brief Returns this class name.
virtual H5std_string
- fromClass() const
+ fromClass() const override
{
return ("FloatType");
}
@@ -79,7 +79,7 @@ class H5_DLLCPP FloatType : public AtomType {
FloatType(const FloatType &original);
// Noop destructor.
- virtual ~FloatType();
+ virtual ~FloatType() override;
}; // end of FloatType
} // namespace H5
diff --git a/c++/src/H5Group.cpp b/c++/src/H5Group.cpp
index 392f31a..fe791da 100644
--- a/c++/src/H5Group.cpp
+++ b/c++/src/H5Group.cpp
@@ -11,11 +11,7 @@
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#ifdef OLD_HEADER_FILENAME
-#include <iostream.h>
-#else
#include <iostream>
-#endif
#include <string>
#include "H5Include.h"
@@ -50,7 +46,9 @@ using std::endl;
///\brief Default constructor: creates a stub Group.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-Group::Group() : H5Object(), CommonFG(), id(H5I_INVALID_HID) {}
+Group::Group() : H5Object(), CommonFG(), id(H5I_INVALID_HID)
+{
+}
//--------------------------------------------------------------------------
// Function: Group copy constructor
diff --git a/c++/src/H5Group.h b/c++/src/H5Group.h
index ae5bb4a..e72d65c 100644
--- a/c++/src/H5Group.h
+++ b/c++/src/H5Group.h
@@ -12,8 +12,8 @@
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#ifndef __Group_H
-#define __Group_H
+#ifndef H5Group_H
+#define H5Group_H
namespace H5 {
@@ -24,20 +24,20 @@ namespace H5 {
class H5_DLLCPP Group : public H5Object, public CommonFG {
public:
// Close this group.
- virtual void close();
+ virtual void close() override;
///\brief Returns this class name.
virtual H5std_string
- fromClass() const
+ fromClass() const override
{
return ("Group");
}
// Throw group exception.
- virtual void throwException(const H5std_string &func_name, const H5std_string &msg) const;
+ virtual void throwException(const H5std_string &func_name, const H5std_string &msg) const override;
// for CommonFG to get the file id.
- virtual hid_t getLocId() const;
+ virtual hid_t getLocId() const override;
// Creates a group by way of dereference.
Group(const H5Location &loc, const void *ref, H5R_type_t ref_type = H5R_OBJECT,
@@ -63,10 +63,10 @@ class H5_DLLCPP Group : public H5Object, public CommonFG {
Group(const Group &original);
// Gets the group id.
- virtual hid_t getId() const;
+ virtual hid_t getId() const override;
// Destructor
- virtual ~Group();
+ virtual ~Group() override;
// Creates a copy of an existing group using its id.
Group(const hid_t group_id);
@@ -74,7 +74,7 @@ class H5_DLLCPP Group : public H5Object, public CommonFG {
protected:
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// Sets the group id.
- virtual void p_setId(const hid_t new_id);
+ virtual void p_setId(const hid_t new_id) override;
#endif // DOXYGEN_SHOULD_SKIP_THIS
private:
@@ -83,4 +83,4 @@ class H5_DLLCPP Group : public H5Object, public CommonFG {
}; // end of Group
} // namespace H5
-#endif // __Group_H
+#endif // H5Group_H
diff --git a/c++/src/H5IdComponent.cpp b/c++/src/H5IdComponent.cpp
index 29a28c6..e1fc687 100644
--- a/c++/src/H5IdComponent.cpp
+++ b/c++/src/H5IdComponent.cpp
@@ -13,7 +13,6 @@
#include <string>
-#include "H5private.h" // for HDmemset
#include "H5Include.h"
#include "H5Exception.h"
#include "H5Library.h"
@@ -327,7 +326,9 @@ IdComponent::setId(const hid_t new_id)
///\brief Noop destructor.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-IdComponent::~IdComponent() {}
+IdComponent::~IdComponent()
+{
+}
//
// Implementation of protected functions for HDF5 Reference Interface
@@ -397,8 +398,7 @@ IdComponent::p_get_file_name() const
}
// Call H5Fget_name again to get the actual file name
- char *name_C = new char[name_size + 1]; // temporary C-string for C API
- HDmemset(name_C, 0, name_size + 1); // clear buffer
+ char *name_C = new char[name_size + 1]();
name_size = H5Fget_name(temp_id, name_C, name_size + 1);
@@ -432,10 +432,7 @@ IdComponent::p_valid_id(const hid_t obj_id)
return false;
H5I_type_t id_type = H5Iget_type(obj_id);
- if (id_type <= H5I_BADID || id_type >= H5I_NTYPES)
- return false;
- else
- return true;
+ return (id_type > H5I_BADID && id_type < H5I_NTYPES);
}
// Notes about IdComponent::id
diff --git a/c++/src/H5IdComponent.h b/c++/src/H5IdComponent.h
index b756a3d..383d42d 100644
--- a/c++/src/H5IdComponent.h
+++ b/c++/src/H5IdComponent.h
@@ -12,8 +12,8 @@
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#ifndef __IdComponent_H
-#define __IdComponent_H
+#ifndef H5IdComponent_H
+#define H5IdComponent_H
namespace H5 {
@@ -113,4 +113,4 @@ class H5_DLLCPP IdComponent {
}; // end class IdComponent
} // namespace H5
-#endif // __IdComponent_H
+#endif // H5IdComponent_H
diff --git a/c++/src/H5Include.h b/c++/src/H5Include.h
index 1f03150..e662d90 100644
--- a/c++/src/H5Include.h
+++ b/c++/src/H5Include.h
@@ -14,19 +14,6 @@
#include <hdf5.h>
-// Define bool type for platforms that don't support bool yet
-#ifdef BOOL_NOTDEFINED
-#ifdef false
-#undef false
-#endif
-#ifdef true
-#undef true
-#endif
-typedef int bool;
-const bool false = 0;
-const bool true = 1;
-#endif
-
// These are defined in H5Opkg.h, which should not be included in the C++ API,
// so re-define them here for now.
diff --git a/c++/src/H5IntType.cpp b/c++/src/H5IntType.cpp
index da0ea36..27c4491 100644
--- a/c++/src/H5IntType.cpp
+++ b/c++/src/H5IntType.cpp
@@ -40,14 +40,18 @@ namespace H5 {
///\brief Default constructor: Creates a stub integer datatype
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-IntType::IntType() {}
+IntType::IntType()
+{
+}
//--------------------------------------------------------------------------
// Function: IntType copy constructor
///\brief Copy constructor: same HDF5 object as \a original
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-IntType::IntType(const IntType &original) : AtomType(original) {}
+IntType::IntType(const IntType &original) : AtomType(original)
+{
+}
//--------------------------------------------------------------------------
// Function: IntType overloaded constructor
@@ -70,7 +74,9 @@ IntType::IntType(const PredType &pred_type) : AtomType()
///\exception H5::DataTypeIException
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-IntType::IntType(const hid_t existing_id) : AtomType(existing_id) {}
+IntType::IntType(const hid_t existing_id) : AtomType(existing_id)
+{
+}
//--------------------------------------------------------------------------
// Function: IntType overloaded constructor
@@ -192,6 +198,8 @@ IntType::setSign(H5T_sign_t sign) const
///\brief Noop destructor.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-IntType::~IntType() {}
+IntType::~IntType()
+{
+}
} // namespace H5
diff --git a/c++/src/H5IntType.h b/c++/src/H5IntType.h
index 185c8f0..ec3dd19 100644
--- a/c++/src/H5IntType.h
+++ b/c++/src/H5IntType.h
@@ -36,7 +36,7 @@ class H5_DLLCPP IntType : public AtomType {
// Returns an IntType object via DataType* by decoding the
// binary object description of this type.
- virtual DataType *decode() const;
+ virtual DataType *decode() const override;
// Retrieves the sign type for an integer type
H5T_sign_t getSign() const;
@@ -46,7 +46,7 @@ class H5_DLLCPP IntType : public AtomType {
///\brief Returns this class name.
virtual H5std_string
- fromClass() const
+ fromClass() const override
{
return ("IntType");
}
@@ -61,7 +61,7 @@ class H5_DLLCPP IntType : public AtomType {
IntType(const IntType &original);
// Noop destructor.
- virtual ~IntType();
+ virtual ~IntType() override;
}; // end of IntType
} // namespace H5
diff --git a/c++/src/H5LaccProp.cpp b/c++/src/H5LaccProp.cpp
index 559c432..acdaa13 100644
--- a/c++/src/H5LaccProp.cpp
+++ b/c++/src/H5LaccProp.cpp
@@ -70,8 +70,7 @@ LinkAccPropList::getConstant()
void
LinkAccPropList::deleteConstants()
{
- if (DEFAULT_ != 0)
- delete DEFAULT_;
+ delete DEFAULT_;
}
//--------------------------------------------------------------------------
@@ -86,7 +85,9 @@ const LinkAccPropList &LinkAccPropList::DEFAULT = *getConstant();
///\brief Creates a file access property list
// Programmer Binh-Minh Ribler - December, 2016
//--------------------------------------------------------------------------
-LinkAccPropList::LinkAccPropList() : PropList(H5P_LINK_ACCESS) {}
+LinkAccPropList::LinkAccPropList() : PropList(H5P_LINK_ACCESS)
+{
+}
//--------------------------------------------------------------------------
// Function: LinkAccPropList copy constructor
@@ -94,7 +95,9 @@ LinkAccPropList::LinkAccPropList() : PropList(H5P_LINK_ACCESS) {}
///\param original - IN: LinkAccPropList instance to copy
// Programmer Binh-Minh Ribler - December, 2016
//--------------------------------------------------------------------------
-LinkAccPropList::LinkAccPropList(const LinkAccPropList &original) : PropList(original) {}
+LinkAccPropList::LinkAccPropList(const LinkAccPropList &original) : PropList(original)
+{
+}
//--------------------------------------------------------------------------
// Function: LinkAccPropList overloaded constructor
@@ -102,7 +105,9 @@ LinkAccPropList::LinkAccPropList(const LinkAccPropList &original) : PropList(ori
/// existing one.
// Programmer Binh-Minh Ribler - December, 2016
//--------------------------------------------------------------------------
-LinkAccPropList::LinkAccPropList(const hid_t plist_id) : PropList(plist_id) {}
+LinkAccPropList::LinkAccPropList(const hid_t plist_id) : PropList(plist_id)
+{
+}
//--------------------------------------------------------------------------
// Function: LinkAccPropList::setNumLinks
@@ -148,6 +153,8 @@ LinkAccPropList::getNumLinks() const
///\brief Noop destructor
// Programmer Binh-Minh Ribler - December, 2016
//--------------------------------------------------------------------------
-LinkAccPropList::~LinkAccPropList() {}
+LinkAccPropList::~LinkAccPropList()
+{
+}
} // namespace H5
diff --git a/c++/src/H5LaccProp.h b/c++/src/H5LaccProp.h
index 4fa516c..accc7cd 100644
--- a/c++/src/H5LaccProp.h
+++ b/c++/src/H5LaccProp.h
@@ -32,7 +32,7 @@ class H5_DLLCPP LinkAccPropList : public PropList {
///\brief Returns this class name.
virtual H5std_string
- fromClass() const
+ fromClass() const override
{
return ("LinkAccPropList");
}
@@ -52,7 +52,7 @@ class H5_DLLCPP LinkAccPropList : public PropList {
size_t getNumLinks() const;
// Noop destructor
- virtual ~LinkAccPropList();
+ virtual ~LinkAccPropList() override;
#ifndef DOXYGEN_SHOULD_SKIP_THIS
diff --git a/c++/src/H5LcreatProp.cpp b/c++/src/H5LcreatProp.cpp
index 8335071..3851d56 100644
--- a/c++/src/H5LcreatProp.cpp
+++ b/c++/src/H5LcreatProp.cpp
@@ -70,8 +70,7 @@ LinkCreatPropList::getConstant()
void
LinkCreatPropList::deleteConstants()
{
- if (DEFAULT_ != 0)
- delete DEFAULT_;
+ delete DEFAULT_;
}
//--------------------------------------------------------------------------
@@ -86,7 +85,9 @@ const LinkCreatPropList &LinkCreatPropList::DEFAULT = *getConstant();
///\brief Creates a file access property list
// December, 2016
//--------------------------------------------------------------------------
-LinkCreatPropList::LinkCreatPropList() : PropList(H5P_LINK_CREATE) {}
+LinkCreatPropList::LinkCreatPropList() : PropList(H5P_LINK_CREATE)
+{
+}
//--------------------------------------------------------------------------
// Function: LinkCreatPropList copy constructor
@@ -94,7 +95,9 @@ LinkCreatPropList::LinkCreatPropList() : PropList(H5P_LINK_CREATE) {}
///\param original - IN: LinkCreatPropList instance to copy
// December, 2016
//--------------------------------------------------------------------------
-LinkCreatPropList::LinkCreatPropList(const LinkCreatPropList &original) : PropList(original) {}
+LinkCreatPropList::LinkCreatPropList(const LinkCreatPropList &original) : PropList(original)
+{
+}
//--------------------------------------------------------------------------
// Function: LinkCreatPropList overloaded constructor
@@ -102,7 +105,9 @@ LinkCreatPropList::LinkCreatPropList(const LinkCreatPropList &original) : PropLi
/// existing one.
// December, 2016
//--------------------------------------------------------------------------
-LinkCreatPropList::LinkCreatPropList(const hid_t plist_id) : PropList(plist_id) {}
+LinkCreatPropList::LinkCreatPropList(const hid_t plist_id) : PropList(plist_id)
+{
+}
//--------------------------------------------------------------------------
// Function: LinkCreatPropList::setCreateIntermediateGroup
@@ -116,7 +121,7 @@ LinkCreatPropList::LinkCreatPropList(const hid_t plist_id) : PropList(plist_id)
void
LinkCreatPropList::setCreateIntermediateGroup(bool crt_intmd_group) const
{
- herr_t ret_value = H5Pset_create_intermediate_group(id, (unsigned)crt_intmd_group);
+ herr_t ret_value = H5Pset_create_intermediate_group(id, static_cast<unsigned>(crt_intmd_group));
// Throw exception if H5Pset_create_intermediate_group returns failure
if (ret_value < 0) {
throw PropListIException("setCreateIntermediateGroup", "H5Pset_create_intermediate_group failed");
@@ -141,7 +146,7 @@ LinkCreatPropList::getCreateIntermediateGroup() const
throw PropListIException("getCreateIntermediateGroup", "H5Pget_create_intermediate_group failed");
}
- return ((bool)crt_intmd_group);
+ return static_cast<bool>(crt_intmd_group);
}
//--------------------------------------------------------------------------
@@ -185,6 +190,8 @@ LinkCreatPropList::getCharEncoding() const
///\brief Noop destructor
// December, 2016
//--------------------------------------------------------------------------
-LinkCreatPropList::~LinkCreatPropList() {}
+LinkCreatPropList::~LinkCreatPropList()
+{
+}
} // namespace H5
diff --git a/c++/src/H5LcreatProp.h b/c++/src/H5LcreatProp.h
index aea38e7..5570dbc 100644
--- a/c++/src/H5LcreatProp.h
+++ b/c++/src/H5LcreatProp.h
@@ -32,7 +32,7 @@ class H5_DLLCPP LinkCreatPropList : public PropList {
///\brief Returns this class name.
virtual H5std_string
- fromClass() const
+ fromClass() const override
{
return ("LinkCreatPropList");
}
@@ -59,7 +59,7 @@ class H5_DLLCPP LinkCreatPropList : public PropList {
H5T_cset_t getCharEncoding() const;
// Noop destructor
- virtual ~LinkCreatPropList();
+ virtual ~LinkCreatPropList() override;
#ifndef DOXYGEN_SHOULD_SKIP_THIS
diff --git a/c++/src/H5Library.cpp b/c++/src/H5Library.cpp
index de15f19..37516be 100644
--- a/c++/src/H5Library.cpp
+++ b/c++/src/H5Library.cpp
@@ -281,14 +281,18 @@ H5Library::setFreeListLimits(int reg_global_lim, int reg_list_lim, int arr_globa
///\brief Default constructor: Creates a stub H5Library object
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-H5Library::H5Library() {}
+H5Library::H5Library()
+{
+}
//--------------------------------------------------------------------------
// Function: H5Library destructor
///\brief Noop destructor
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-H5Library::~H5Library() {}
+H5Library::~H5Library()
+{
+}
#endif // DOXYGEN_SHOULD_SKIP_THIS
} // namespace H5
diff --git a/c++/src/H5Location.cpp b/c++/src/H5Location.cpp
index 2d14bfc..eb8dd4c 100644
--- a/c++/src/H5Location.cpp
+++ b/c++/src/H5Location.cpp
@@ -15,7 +15,6 @@
#include <iostream>
using namespace std;
-#include "H5private.h" // for HDmemset
#include "H5Include.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
@@ -45,7 +44,9 @@ namespace H5 {
// Function: H5Location default constructor (protected)
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-H5Location::H5Location() : IdComponent() {}
+H5Location::H5Location() : IdComponent()
+{
+}
//--------------------------------------------------------------------------
// Function: H5Location overloaded constructor (protected)
@@ -346,10 +347,10 @@ H5Location::getComment(const char *name, size_t buf_size) const
{
// Initialize string to "", so that if there is no comment, the returned
// string will be empty
- H5std_string comment("");
+ H5std_string comment;
// Preliminary call to get the comment's length
- ssize_t comment_len = H5Oget_comment_by_name(getId(), name, NULL, (size_t)0, H5P_DEFAULT);
+ ssize_t comment_len = H5Oget_comment_by_name(getId(), name, NULL, 0, H5P_DEFAULT);
// If H5Oget_comment_by_name returns a negative value, raise an exception
if (comment_len < 0) {
@@ -365,8 +366,7 @@ H5Location::getComment(const char *name, size_t buf_size) const
tmp_len = comment_len;
// Temporary buffer for char* comment
- char *comment_C = new char[tmp_len + 1];
- HDmemset(comment_C, 0, tmp_len + 1); // clear buffer
+ char *comment_C = new char[tmp_len + 1]();
// Used overloaded function
ssize_t temp_len = getComment(name, tmp_len + 1, comment_C);
@@ -398,6 +398,7 @@ H5Location::getComment(const H5std_string &name, size_t buf_size) const
{
return (getComment(name.c_str(), buf_size));
}
+
#ifndef DOXYGEN_SHOULD_SKIP_THIS
//--------------------------------------------------------------------------
@@ -646,6 +647,7 @@ H5Location::p_get_obj_type(void *ref, H5R_type_t ref_type) const
return (obj_type);
}
#endif // DOXYGEN_SHOULD_SKIP_THIS
+
#endif /* H5_NO_DEPRECATED_SYMBOLS */
//--------------------------------------------------------------------------
@@ -704,6 +706,7 @@ H5Location::p_get_ref_obj_type(void *ref, H5R_type_t ref_type) const
}
return (obj_type);
}
+#endif // DOXYGEN_SHOULD_SKIP_THIS
//--------------------------------------------------------------------------
// Function: H5Location::getRegion
@@ -1816,7 +1819,7 @@ H5Location::getLinkval(const char *name, size_t size) const
H5L_info2_t linkinfo;
char * value_C; // value in C string
size_t val_size = size;
- H5std_string value = "";
+ H5std_string value;
herr_t ret_value;
// if user doesn't provide buffer size, determine it
@@ -1830,8 +1833,8 @@ H5Location::getLinkval(const char *name, size_t size) const
// if link has value, retrieve the value, otherwise, return null string
if (val_size > 0) {
- value_C = new char[val_size + 1]; // temporary C-string for C API
- HDmemset(value_C, 0, val_size + 1); // clear buffer
+ // Create buffer for C string
+ value_C = new char[val_size + 1]();
ret_value = H5Lget_val(getId(), name, value_C, val_size, H5P_DEFAULT);
if (ret_value < 0) {
@@ -2041,9 +2044,8 @@ H5Location::getObjnameByIdx(hsize_t idx) const
if (name_len < 0)
throwException("getObjnameByIdx", "H5Lget_name_by_idx failed");
- // now, allocate C buffer to get the name
- char *name_C = new char[name_len + 1];
- HDmemset(name_C, 0, name_len + 1); // clear buffer
+ // Create buffer for C string
+ char *name_C = new char[name_len + 1]();
name_len =
H5Lget_name_by_idx(getId(), ".", H5_INDEX_NAME, H5_ITER_INC, idx, name_C, name_len + 1, H5P_DEFAULT);
@@ -2097,8 +2099,8 @@ H5Location::getObjnameByIdx(hsize_t idx, char *name, size_t size) const
ssize_t
H5Location::getObjnameByIdx(hsize_t idx, H5std_string &name, size_t size) const
{
- char *name_C = new char[size + 1]; // temporary C-string for object name
- HDmemset(name_C, 0, size + 1); // clear buffer
+ // Create buffer for C string
+ char *name_C = new char[size + 1]();
// call overloaded function to get the name
ssize_t name_len = getObjnameByIdx(idx, name_C, size + 1);
@@ -2294,7 +2296,6 @@ H5Location::childObjVersion(const H5std_string &objname) const
}
#ifndef H5_NO_DEPRECATED_SYMBOLS
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
//--------------------------------------------------------------------------
// Function: H5Location::getObjTypeByIdx
///\brief Returns the type of an object in this group, given the
@@ -2372,7 +2373,6 @@ H5Location::getObjTypeByIdx(hsize_t idx, H5std_string &type_name) const
return (obj_type);
}
-#endif // DOXYGEN_SHOULD_SKIP_THIS
#endif /* H5_NO_DEPRECATED_SYMBOLS */
//--------------------------------------------------------------------------
@@ -2431,8 +2431,8 @@ f_DataSpace_setId(DataSpace *dspace, hid_t new_id)
///\brief Noop destructor.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-H5Location::~H5Location() {}
-
-#endif // DOXYGEN_SHOULD_SKIP_THIS
+H5Location::~H5Location()
+{
+}
} // namespace H5
diff --git a/c++/src/H5Object.cpp b/c++/src/H5Object.cpp
index 725d1da..cb803af 100644
--- a/c++/src/H5Object.cpp
+++ b/c++/src/H5Object.cpp
@@ -13,7 +13,6 @@
#include <string>
-#include "H5private.h" // for HDmemset
#include "H5Include.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
@@ -45,9 +44,12 @@ namespace H5 {
extern "C" {
static herr_t
-userAttrOpWrpr(H5_ATTR_UNUSED hid_t loc_id, const char *attr_name, H5_ATTR_UNUSED const H5A_info_t *ainfo,
- void *op_data)
+userAttrOpWrpr(hid_t loc_id, const char *attr_name, const H5A_info_t *ainfo, void *op_data)
{
+ // Unused
+ (void)loc_id;
+ (void)ainfo;
+
H5std_string s_attr_name = H5std_string(attr_name);
UserData4Aiterate *myData = reinterpret_cast<UserData4Aiterate *>(op_data);
myData->op(*myData->location, s_attr_name, myData->opData);
@@ -57,9 +59,11 @@ userAttrOpWrpr(H5_ATTR_UNUSED hid_t loc_id, const char *attr_name, H5_ATTR_UNUSE
// userVisitOpWrpr interfaces between the user's function and the
// C library function H5Ovisit3
static herr_t
-userVisitOpWrpr(H5_ATTR_UNUSED hid_t obj_id, const char *attr_name, const H5O_info2_t *obj_info,
- void *op_data)
+userVisitOpWrpr(hid_t obj_id, const char *attr_name, const H5O_info2_t *obj_info, void *op_data)
{
+ // Unused
+ (void)obj_id;
+
H5std_string s_attr_name = H5std_string(attr_name);
UserData4Visit *myData = reinterpret_cast<UserData4Visit *>(op_data);
int status = myData->op(*myData->obj, s_attr_name, obj_info, myData->opData);
@@ -72,7 +76,9 @@ userVisitOpWrpr(H5_ATTR_UNUSED hid_t obj_id, const char *attr_name, const H5O_in
// Function: H5Object default constructor (protected)
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-H5Object::H5Object() : H5Location() {}
+H5Object::H5Object() : H5Location()
+{
+}
//--------------------------------------------------------------------------
// Function: f_Attribute_setId - friend
@@ -477,10 +483,10 @@ H5Object::getObjName(char *obj_name, size_t buf_size) const
H5std_string
H5Object::getObjName() const
{
- H5std_string obj_name(""); // object name to return
+ H5std_string obj_name; // object name to return
// Preliminary call to get the size of the object name
- ssize_t name_size = H5Iget_name(getId(), NULL, static_cast<size_t>(0));
+ ssize_t name_size = H5Iget_name(getId(), NULL, 0);
// If H5Iget_name failed, throw exception
if (name_size < 0) {
@@ -491,8 +497,8 @@ H5Object::getObjName() const
}
// Object's name exists, retrieve it
else if (name_size > 0) {
- char *name_C = new char[name_size + 1]; // temporary C-string
- HDmemset(name_C, 0, name_size + 1); // clear buffer
+ // Create buffer for C string
+ char *name_C = new char[name_size + 1]();
// Use overloaded function
name_size = getObjName(name_C, name_size + 1);
@@ -532,8 +538,8 @@ H5Object::getObjName(H5std_string &obj_name, size_t len) const
}
// If length is provided, get that number of characters in name
else {
- char *name_C = new char[len + 1]; // temporary C-string
- HDmemset(name_C, 0, len + 1); // clear buffer
+ // Create buffer for C string
+ char *name_C = new char[len + 1]();
// Use overloaded function
name_size = getObjName(name_C, len + 1);
@@ -556,7 +562,9 @@ H5Object::getObjName(H5std_string &obj_name, size_t len) const
///\brief Noop destructor.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-H5Object::~H5Object() {}
+H5Object::~H5Object()
+{
+}
#endif // DOXYGEN_SHOULD_SKIP_THIS
} // namespace H5
diff --git a/c++/src/H5Object.h b/c++/src/H5Object.h
index 868f63f..9e5a541 100644
--- a/c++/src/H5Object.h
+++ b/c++/src/H5Object.h
@@ -106,7 +106,7 @@ class H5_DLLCPP H5Object : public H5Location {
void removeAttr(const H5std_string &name) const;
// Returns an identifier.
- virtual hid_t getId() const = 0;
+ virtual hid_t getId() const override = 0;
// Gets the name of this HDF5 object, i.e., Group, DataSet, or
// DataType.
@@ -122,10 +122,10 @@ class H5_DLLCPP H5Object : public H5Location {
// Sets the identifier of this object to a new value. - this one
// doesn't increment reference count
- virtual void p_setId(const hid_t new_id) = 0;
+ virtual void p_setId(const hid_t new_id) override = 0;
// Noop destructor.
- virtual ~H5Object();
+ virtual ~H5Object() override;
#endif // DOXYGEN_SHOULD_SKIP_THIS
diff --git a/c++/src/H5OcreatProp.cpp b/c++/src/H5OcreatProp.cpp
index 70023c4..dffdeb1 100644
--- a/c++/src/H5OcreatProp.cpp
+++ b/c++/src/H5OcreatProp.cpp
@@ -70,8 +70,7 @@ ObjCreatPropList::getConstant()
void
ObjCreatPropList::deleteConstants()
{
- if (DEFAULT_ != 0)
- delete DEFAULT_;
+ delete DEFAULT_;
}
//--------------------------------------------------------------------------
@@ -86,7 +85,9 @@ const ObjCreatPropList &ObjCreatPropList::DEFAULT = *getConstant();
///\brief Creates a file access property list
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-ObjCreatPropList::ObjCreatPropList() : PropList(H5P_OBJECT_CREATE) {}
+ObjCreatPropList::ObjCreatPropList() : PropList(H5P_OBJECT_CREATE)
+{
+}
//--------------------------------------------------------------------------
// Function: ObjCreatPropList copy constructor
@@ -94,7 +95,9 @@ ObjCreatPropList::ObjCreatPropList() : PropList(H5P_OBJECT_CREATE) {}
///\param original - IN: ObjCreatPropList instance to copy
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-ObjCreatPropList::ObjCreatPropList(const ObjCreatPropList &original) : PropList(original) {}
+ObjCreatPropList::ObjCreatPropList(const ObjCreatPropList &original) : PropList(original)
+{
+}
//--------------------------------------------------------------------------
// Function: ObjCreatPropList overloaded constructor
@@ -102,7 +105,9 @@ ObjCreatPropList::ObjCreatPropList(const ObjCreatPropList &original) : PropList(
/// existing one.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-ObjCreatPropList::ObjCreatPropList(const hid_t plist_id) : PropList(plist_id) {}
+ObjCreatPropList::ObjCreatPropList(const hid_t plist_id) : PropList(plist_id)
+{
+}
//--------------------------------------------------------------------------
// Function: ObjCreatPropList::setAttrPhaseChange
@@ -209,6 +214,8 @@ ObjCreatPropList::getAttrCrtOrder() const
///\brief Noop destructor
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-ObjCreatPropList::~ObjCreatPropList() {}
+ObjCreatPropList::~ObjCreatPropList()
+{
+}
} // namespace H5
diff --git a/c++/src/H5OcreatProp.h b/c++/src/H5OcreatProp.h
index 7f6d411..5e2bf49 100644
--- a/c++/src/H5OcreatProp.h
+++ b/c++/src/H5OcreatProp.h
@@ -44,7 +44,7 @@ class H5_DLLCPP ObjCreatPropList : public PropList {
///\brief Returns this class name.
virtual H5std_string
- fromClass() const
+ fromClass() const override
{
return ("ObjCreatPropList");
}
@@ -57,7 +57,7 @@ class H5_DLLCPP ObjCreatPropList : public PropList {
ObjCreatPropList(const hid_t plist_id);
// Noop destructor
- virtual ~ObjCreatPropList();
+ virtual ~ObjCreatPropList() override;
#ifndef DOXYGEN_SHOULD_SKIP_THIS
diff --git a/c++/src/H5PredType.cpp b/c++/src/H5PredType.cpp
index b58569f..72d560d 100644
--- a/c++/src/H5PredType.cpp
+++ b/c++/src/H5PredType.cpp
@@ -27,7 +27,6 @@
#include "H5DataType.h"
#include "H5AtomType.h"
#include "H5PredType.h"
-#include "H5private.h"
namespace H5 {
@@ -42,14 +41,19 @@ namespace H5 {
// the provided HDF5 predefined datatype.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-PredType::PredType(const hid_t predtype_id) : AtomType(predtype_id) { id = H5Tcopy(predtype_id); }
+PredType::PredType(const hid_t predtype_id) : AtomType(predtype_id)
+{
+ id = H5Tcopy(predtype_id);
+}
//--------------------------------------------------------------------------
// Function: PredType default constructor
///\brief Default constructor: Creates a stub predefined datatype
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-PredType::PredType() : AtomType() {}
+PredType::PredType() : AtomType()
+{
+}
#endif // DOXYGEN_SHOULD_SKIP_THIS
//--------------------------------------------------------------------------
@@ -58,7 +62,9 @@ PredType::PredType() : AtomType() {}
///\param original - IN: PredType instance to copy
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-PredType::PredType(const PredType &original) : AtomType(original) {}
+PredType::PredType(const PredType &original) : AtomType(original)
+{
+}
//--------------------------------------------------------------------------
// Function: PredType::operator=
@@ -83,8 +89,12 @@ PredType::operator=(const PredType &rhs)
// These dummy functions do not inherit from DataType - they'll
// throw an DataTypeIException if invoked.
void
-PredType::commit(H5_ATTR_UNUSED H5Location &loc, H5_ATTR_UNUSED const char *name)
+PredType::commit(H5Location &loc, const char *name)
{
+ // Unused
+ (void)loc;
+ (void)name;
+
throw DataTypeIException("PredType::commit",
"Error: Attempted to commit a predefined datatype. Invalid operation!");
}
@@ -109,7 +119,9 @@ PredType::committed()
///\brief Noop destructor.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-PredType::~PredType() {}
+PredType::~PredType()
+{
+}
/*****************************************************************************
The following section is regarding the global constants PredType,
@@ -237,63 +249,32 @@ PredType *PredType::NATIVE_INT32_;
PredType *PredType::NATIVE_UINT32_;
PredType *PredType::NATIVE_INT64_;
PredType *PredType::NATIVE_UINT64_;
+
// LEAST types
-#if H5_SIZEOF_INT_LEAST8_T != 0
PredType *PredType::NATIVE_INT_LEAST8_;
-#endif /* H5_SIZEOF_INT_LEAST8_T */
-#if H5_SIZEOF_UINT_LEAST8_T != 0
PredType *PredType::NATIVE_UINT_LEAST8_;
-#endif /* H5_SIZEOF_UINT_LEAST8_T */
-#if H5_SIZEOF_INT_LEAST16_T != 0
PredType *PredType::NATIVE_INT_LEAST16_;
-#endif /* H5_SIZEOF_INT_LEAST16_T */
-#if H5_SIZEOF_UINT_LEAST16_T != 0
PredType *PredType::NATIVE_UINT_LEAST16_;
-#endif /* H5_SIZEOF_UINT_LEAST16_T */
-#if H5_SIZEOF_INT_LEAST32_T != 0
PredType *PredType::NATIVE_INT_LEAST32_;
-#endif /* H5_SIZEOF_INT_LEAST32_T */
-#if H5_SIZEOF_UINT_LEAST32_T != 0
PredType *PredType::NATIVE_UINT_LEAST32_;
-#endif /* H5_SIZEOF_UINT_LEAST32_T */
-#if H5_SIZEOF_INT_LEAST64_T != 0
PredType *PredType::NATIVE_INT_LEAST64_;
-#endif /* H5_SIZEOF_INT_LEAST64_T */
-#if H5_SIZEOF_UINT_LEAST64_T != 0
PredType *PredType::NATIVE_UINT_LEAST64_;
-#endif /* H5_SIZEOF_UINT_LEAST64_T */
// FAST types
-#if H5_SIZEOF_INT_FAST8_T != 0
PredType *PredType::NATIVE_INT_FAST8_;
-#endif /* H5_SIZEOF_INT_FAST8_T */
-#if H5_SIZEOF_UINT_FAST8_T != 0
PredType *PredType::NATIVE_UINT_FAST8_;
-#endif /* H5_SIZEOF_UINT_FAST8_T */
-#if H5_SIZEOF_INT_FAST16_T != 0
PredType *PredType::NATIVE_INT_FAST16_;
-#endif /* H5_SIZEOF_INT_FAST16_T */
-#if H5_SIZEOF_UINT_FAST16_T != 0
PredType *PredType::NATIVE_UINT_FAST16_;
-#endif /* H5_SIZEOF_UINT_FAST16_T */
-#if H5_SIZEOF_INT_FAST32_T != 0
PredType *PredType::NATIVE_INT_FAST32_;
-#endif /* H5_SIZEOF_INT_FAST32_T */
-#if H5_SIZEOF_UINT_FAST32_T != 0
PredType *PredType::NATIVE_UINT_FAST32_;
-#endif /* H5_SIZEOF_UINT_FAST32_T */
-#if H5_SIZEOF_INT_FAST64_T != 0
PredType *PredType::NATIVE_INT_FAST64_;
-#endif /* H5_SIZEOF_INT_FAST64_T */
-#if H5_SIZEOF_UINT_FAST64_T != 0
PredType *PredType::NATIVE_UINT_FAST64_;
-#endif /* H5_SIZEOF_UINT_FAST64_T */
//--------------------------------------------------------------------------
// Function: PredType::getPredTypes
@@ -460,63 +441,31 @@ PredType::makePredTypes()
NATIVE_INT64_ = new PredType(H5T_NATIVE_INT64);
NATIVE_UINT64_ = new PredType(H5T_NATIVE_UINT64);
-// LEAST types
-#if H5_SIZEOF_INT_LEAST8_T != 0
- NATIVE_INT_LEAST8_ = new PredType(H5T_NATIVE_INT_LEAST8);
-#endif /* H5_SIZEOF_INT_LEAST8_T */
-#if H5_SIZEOF_UINT_LEAST8_T != 0
+ // LEAST types
+ NATIVE_INT_LEAST8_ = new PredType(H5T_NATIVE_INT_LEAST8);
NATIVE_UINT_LEAST8_ = new PredType(H5T_NATIVE_UINT_LEAST8);
-#endif /* H5_SIZEOF_UINT_LEAST8_T */
-#if H5_SIZEOF_INT_LEAST16_T != 0
- NATIVE_INT_LEAST16_ = new PredType(H5T_NATIVE_INT_LEAST16);
-#endif /* H5_SIZEOF_INT_LEAST16_T */
-#if H5_SIZEOF_UINT_LEAST16_T != 0
+ NATIVE_INT_LEAST16_ = new PredType(H5T_NATIVE_INT_LEAST16);
NATIVE_UINT_LEAST16_ = new PredType(H5T_NATIVE_UINT_LEAST16);
-#endif /* H5_SIZEOF_UINT_LEAST16_T */
-#if H5_SIZEOF_INT_LEAST32_T != 0
- NATIVE_INT_LEAST32_ = new PredType(H5T_NATIVE_INT_LEAST32);
-#endif /* H5_SIZEOF_INT_LEAST32_T */
-#if H5_SIZEOF_UINT_LEAST32_T != 0
+ NATIVE_INT_LEAST32_ = new PredType(H5T_NATIVE_INT_LEAST32);
NATIVE_UINT_LEAST32_ = new PredType(H5T_NATIVE_UINT_LEAST32);
-#endif /* H5_SIZEOF_UINT_LEAST32_T */
-#if H5_SIZEOF_INT_LEAST64_T != 0
- NATIVE_INT_LEAST64_ = new PredType(H5T_NATIVE_INT_LEAST64);
-#endif /* H5_SIZEOF_INT_LEAST64_T */
-#if H5_SIZEOF_UINT_LEAST64_T != 0
+ NATIVE_INT_LEAST64_ = new PredType(H5T_NATIVE_INT_LEAST64);
NATIVE_UINT_LEAST64_ = new PredType(H5T_NATIVE_UINT_LEAST64);
-#endif /* H5_SIZEOF_UINT_LEAST64_T */
-// FAST types
-#if H5_SIZEOF_INT_FAST8_T != 0
- NATIVE_INT_FAST8_ = new PredType(H5T_NATIVE_INT_FAST8);
-#endif /* H5_SIZEOF_INT_FAST8_T */
-#if H5_SIZEOF_UINT_FAST8_T != 0
+ // FAST types
+ NATIVE_INT_FAST8_ = new PredType(H5T_NATIVE_INT_FAST8);
NATIVE_UINT_FAST8_ = new PredType(H5T_NATIVE_UINT_FAST8);
-#endif /* H5_SIZEOF_UINT_FAST8_T */
-#if H5_SIZEOF_INT_FAST16_T != 0
- NATIVE_INT_FAST16_ = new PredType(H5T_NATIVE_INT_FAST16);
-#endif /* H5_SIZEOF_INT_FAST16_T */
-#if H5_SIZEOF_UINT_FAST16_T != 0
+ NATIVE_INT_FAST16_ = new PredType(H5T_NATIVE_INT_FAST16);
NATIVE_UINT_FAST16_ = new PredType(H5T_NATIVE_UINT_FAST16);
-#endif /* H5_SIZEOF_UINT_FAST16_T */
-#if H5_SIZEOF_INT_FAST32_T != 0
- NATIVE_INT_FAST32_ = new PredType(H5T_NATIVE_INT_FAST32);
-#endif /* H5_SIZEOF_INT_FAST32_T */
-#if H5_SIZEOF_UINT_FAST32_T != 0
+ NATIVE_INT_FAST32_ = new PredType(H5T_NATIVE_INT_FAST32);
NATIVE_UINT_FAST32_ = new PredType(H5T_NATIVE_UINT_FAST32);
-#endif /* H5_SIZEOF_UINT_FAST32_T */
-#if H5_SIZEOF_INT_FAST64_T != 0
- NATIVE_INT_FAST64_ = new PredType(H5T_NATIVE_INT_FAST64);
-#endif /* H5_SIZEOF_INT_FAST64_T */
-#if H5_SIZEOF_UINT_FAST64_T != 0
+ NATIVE_INT_FAST64_ = new PredType(H5T_NATIVE_INT_FAST64);
NATIVE_UINT_FAST64_ = new PredType(H5T_NATIVE_UINT_FAST64);
-#endif /* H5_SIZEOF_UINT_FAST64_T */
} // makePredTypes
@@ -646,63 +595,31 @@ PredType::deleteConstants()
delete NATIVE_INT64_;
delete NATIVE_UINT64_;
-// LEAST types
-#if H5_SIZEOF_INT_LEAST8_T != 0
+ // LEAST types
delete NATIVE_INT_LEAST8_;
-#endif /* H5_SIZEOF_INT_LEAST8_T */
-#if H5_SIZEOF_UINT_LEAST8_T != 0
delete NATIVE_UINT_LEAST8_;
-#endif /* H5_SIZEOF_UINT_LEAST8_T */
-#if H5_SIZEOF_INT_LEAST16_T != 0
delete NATIVE_INT_LEAST16_;
-#endif /* H5_SIZEOF_INT_LEAST16_T */
-#if H5_SIZEOF_UINT_LEAST16_T != 0
delete NATIVE_UINT_LEAST16_;
-#endif /* H5_SIZEOF_UINT_LEAST16_T */
-#if H5_SIZEOF_INT_LEAST32_T != 0
delete NATIVE_INT_LEAST32_;
-#endif /* H5_SIZEOF_INT_LEAST32_T */
-#if H5_SIZEOF_UINT_LEAST32_T != 0
delete NATIVE_UINT_LEAST32_;
-#endif /* H5_SIZEOF_UINT_LEAST32_T */
-#if H5_SIZEOF_INT_LEAST64_T != 0
delete NATIVE_INT_LEAST64_;
-#endif /* H5_SIZEOF_INT_LEAST64_T */
-#if H5_SIZEOF_UINT_LEAST64_T != 0
delete NATIVE_UINT_LEAST64_;
-#endif /* H5_SIZEOF_UINT_LEAST64_T */
-// FAST types
-#if H5_SIZEOF_INT_FAST8_T != 0
+ // FAST types
delete NATIVE_INT_FAST8_;
-#endif /* H5_SIZEOF_INT_FAST8_T */
-#if H5_SIZEOF_UINT_FAST8_T != 0
delete NATIVE_UINT_FAST8_;
-#endif /* H5_SIZEOF_UINT_FAST8_T */
-#if H5_SIZEOF_INT_FAST16_T != 0
delete NATIVE_INT_FAST16_;
-#endif /* H5_SIZEOF_INT_FAST16_T */
-#if H5_SIZEOF_UINT_FAST16_T != 0
delete NATIVE_UINT_FAST16_;
-#endif /* H5_SIZEOF_UINT_FAST16_T */
-#if H5_SIZEOF_INT_FAST32_T != 0
delete NATIVE_INT_FAST32_;
-#endif /* H5_SIZEOF_INT_FAST32_T */
-#if H5_SIZEOF_UINT_FAST32_T != 0
delete NATIVE_UINT_FAST32_;
-#endif /* H5_SIZEOF_UINT_FAST32_T */
-#if H5_SIZEOF_INT_FAST64_T != 0
delete NATIVE_INT_FAST64_;
-#endif /* H5_SIZEOF_INT_FAST64_T */
-#if H5_SIZEOF_UINT_FAST64_T != 0
delete NATIVE_UINT_FAST64_;
-#endif /* H5_SIZEOF_UINT_FAST64_T */
delete PREDTYPE_CONST_;
PREDTYPE_CONST_ = 0;
@@ -836,62 +753,30 @@ const PredType &PredType::NATIVE_INT64 = *NATIVE_INT64_;
const PredType &PredType::NATIVE_UINT64 = *NATIVE_UINT64_;
// LEAST types
-#if H5_SIZEOF_INT_LEAST8_T != 0
-const PredType &PredType::NATIVE_INT_LEAST8 = *NATIVE_INT_LEAST8_;
-#endif /* H5_SIZEOF_INT_LEAST8_T */
-#if H5_SIZEOF_UINT_LEAST8_T != 0
+const PredType &PredType::NATIVE_INT_LEAST8 = *NATIVE_INT_LEAST8_;
const PredType &PredType::NATIVE_UINT_LEAST8 = *NATIVE_UINT_LEAST8_;
-#endif /* H5_SIZEOF_UINT_LEAST8_T */
-#if H5_SIZEOF_INT_LEAST16_T != 0
-const PredType &PredType::NATIVE_INT_LEAST16 = *NATIVE_INT_LEAST16_;
-#endif /* H5_SIZEOF_INT_LEAST16_T */
-#if H5_SIZEOF_UINT_LEAST16_T != 0
+const PredType &PredType::NATIVE_INT_LEAST16 = *NATIVE_INT_LEAST16_;
const PredType &PredType::NATIVE_UINT_LEAST16 = *NATIVE_UINT_LEAST16_;
-#endif /* H5_SIZEOF_UINT_LEAST16_T */
-#if H5_SIZEOF_INT_LEAST32_T != 0
-const PredType &PredType::NATIVE_INT_LEAST32 = *NATIVE_INT_LEAST32_;
-#endif /* H5_SIZEOF_INT_LEAST32_T */
-#if H5_SIZEOF_UINT_LEAST32_T != 0
+const PredType &PredType::NATIVE_INT_LEAST32 = *NATIVE_INT_LEAST32_;
const PredType &PredType::NATIVE_UINT_LEAST32 = *NATIVE_UINT_LEAST32_;
-#endif /* H5_SIZEOF_UINT_LEAST32_T */
-#if H5_SIZEOF_INT_LEAST64_T != 0
-const PredType &PredType::NATIVE_INT_LEAST64 = *NATIVE_INT_LEAST64_;
-#endif /* H5_SIZEOF_INT_LEAST64_T */
-#if H5_SIZEOF_UINT_LEAST64_T != 0
+const PredType &PredType::NATIVE_INT_LEAST64 = *NATIVE_INT_LEAST64_;
const PredType &PredType::NATIVE_UINT_LEAST64 = *NATIVE_UINT_LEAST64_;
-#endif /* H5_SIZEOF_UINT_LEAST64_T */
// FAST types
-#if H5_SIZEOF_INT_FAST8_T != 0
-const PredType &PredType::NATIVE_INT_FAST8 = *NATIVE_INT_FAST8_;
-#endif /* H5_SIZEOF_INT_FAST8_T */
-#if H5_SIZEOF_UINT_FAST8_T != 0
+const PredType &PredType::NATIVE_INT_FAST8 = *NATIVE_INT_FAST8_;
const PredType &PredType::NATIVE_UINT_FAST8 = *NATIVE_UINT_FAST8_;
-#endif /* H5_SIZEOF_UINT_FAST8_T */
-#if H5_SIZEOF_INT_FAST16_T != 0
-const PredType &PredType::NATIVE_INT_FAST16 = *NATIVE_INT_FAST16_;
-#endif /* H5_SIZEOF_INT_FAST16_T */
-#if H5_SIZEOF_UINT_FAST16_T != 0
+const PredType &PredType::NATIVE_INT_FAST16 = *NATIVE_INT_FAST16_;
const PredType &PredType::NATIVE_UINT_FAST16 = *NATIVE_UINT_FAST16_;
-#endif /* H5_SIZEOF_UINT_FAST16_T */
-#if H5_SIZEOF_INT_FAST32_T != 0
-const PredType &PredType::NATIVE_INT_FAST32 = *NATIVE_INT_FAST32_;
-#endif /* H5_SIZEOF_INT_FAST32_T */
-#if H5_SIZEOF_UINT_FAST32_T != 0
+const PredType &PredType::NATIVE_INT_FAST32 = *NATIVE_INT_FAST32_;
const PredType &PredType::NATIVE_UINT_FAST32 = *NATIVE_UINT_FAST32_;
-#endif /* H5_SIZEOF_UINT_FAST32_T */
-#if H5_SIZEOF_INT_FAST64_T != 0
-const PredType &PredType::NATIVE_INT_FAST64 = *NATIVE_INT_FAST64_;
-#endif /* H5_SIZEOF_INT_FAST64_T */
-#if H5_SIZEOF_UINT_FAST64_T != 0
+const PredType &PredType::NATIVE_INT_FAST64 = *NATIVE_INT_FAST64_;
const PredType &PredType::NATIVE_UINT_FAST64 = *NATIVE_UINT_FAST64_;
-#endif /* H5_SIZEOF_UINT_FAST64_T */
#endif // DOXYGEN_SHOULD_SKIP_THIS
diff --git a/c++/src/H5PredType.h b/c++/src/H5PredType.h
index b40d2b3..45f20ab 100644
--- a/c++/src/H5PredType.h
+++ b/c++/src/H5PredType.h
@@ -29,7 +29,7 @@ class H5_DLLCPP PredType : public AtomType {
public:
///\brief Returns this class name.
virtual H5std_string
- fromClass() const
+ fromClass() const override
{
return ("PredType");
}
@@ -42,7 +42,7 @@ class H5_DLLCPP PredType : public AtomType {
PredType(const PredType &original);
// Noop destructor
- virtual ~PredType();
+ virtual ~PredType() override;
/*! \brief This dummy function do not inherit from DataType - it will
throw a DataTypeIException if invoked.
@@ -176,63 +176,31 @@ class H5_DLLCPP PredType : public AtomType {
static const PredType &NATIVE_INT64;
static const PredType &NATIVE_UINT64;
-// LEAST types
-#if H5_SIZEOF_INT_LEAST8_T != 0
+ // LEAST types
static const PredType &NATIVE_INT_LEAST8;
-#endif /* H5_SIZEOF_INT_LEAST8_T */
-#if H5_SIZEOF_UINT_LEAST8_T != 0
static const PredType &NATIVE_UINT_LEAST8;
-#endif /* H5_SIZEOF_UINT_LEAST8_T */
-#if H5_SIZEOF_INT_LEAST16_T != 0
static const PredType &NATIVE_INT_LEAST16;
-#endif /* H5_SIZEOF_INT_LEAST16_T */
-#if H5_SIZEOF_UINT_LEAST16_T != 0
static const PredType &NATIVE_UINT_LEAST16;
-#endif /* H5_SIZEOF_UINT_LEAST16_T */
-#if H5_SIZEOF_INT_LEAST32_T != 0
static const PredType &NATIVE_INT_LEAST32;
-#endif /* H5_SIZEOF_INT_LEAST32_T */
-#if H5_SIZEOF_UINT_LEAST32_T != 0
static const PredType &NATIVE_UINT_LEAST32;
-#endif /* H5_SIZEOF_UINT_LEAST32_T */
-#if H5_SIZEOF_INT_LEAST64_T != 0
static const PredType &NATIVE_INT_LEAST64;
-#endif /* H5_SIZEOF_INT_LEAST64_T */
-#if H5_SIZEOF_UINT_LEAST64_T != 0
static const PredType &NATIVE_UINT_LEAST64;
-#endif /* H5_SIZEOF_UINT_LEAST64_T */
-// FAST types
-#if H5_SIZEOF_INT_FAST8_T != 0
+ // FAST types
static const PredType &NATIVE_INT_FAST8;
-#endif /* H5_SIZEOF_INT_FAST8_T */
-#if H5_SIZEOF_UINT_FAST8_T != 0
static const PredType &NATIVE_UINT_FAST8;
-#endif /* H5_SIZEOF_UINT_FAST8_T */
-#if H5_SIZEOF_INT_FAST16_T != 0
static const PredType &NATIVE_INT_FAST16;
-#endif /* H5_SIZEOF_INT_FAST16_T */
-#if H5_SIZEOF_UINT_FAST16_T != 0
static const PredType &NATIVE_UINT_FAST16;
-#endif /* H5_SIZEOF_UINT_FAST16_T */
-#if H5_SIZEOF_INT_FAST32_T != 0
static const PredType &NATIVE_INT_FAST32;
-#endif /* H5_SIZEOF_INT_FAST32_T */
-#if H5_SIZEOF_UINT_FAST32_T != 0
static const PredType &NATIVE_UINT_FAST32;
-#endif /* H5_SIZEOF_UINT_FAST32_T */
-#if H5_SIZEOF_INT_FAST64_T != 0
static const PredType &NATIVE_INT_FAST64;
-#endif /* H5_SIZEOF_INT_FAST64_T */
-#if H5_SIZEOF_UINT_FAST64_T != 0
static const PredType &NATIVE_UINT_FAST64;
-#endif /* H5_SIZEOF_UINT_FAST64_T */
#ifndef DOXYGEN_SHOULD_SKIP_THIS
@@ -378,64 +346,31 @@ class H5_DLLCPP PredType : public AtomType {
static PredType *NATIVE_INT64_;
static PredType *NATIVE_UINT64_;
-// LEAST types
-#if H5_SIZEOF_INT_LEAST8_T != 0
+ // LEAST types
static PredType *NATIVE_INT_LEAST8_;
-#endif /* H5_SIZEOF_INT_LEAST8_T */
-#if H5_SIZEOF_UINT_LEAST8_T != 0
static PredType *NATIVE_UINT_LEAST8_;
-#endif /* H5_SIZEOF_UINT_LEAST8_T */
-#if H5_SIZEOF_INT_LEAST16_T != 0
static PredType *NATIVE_INT_LEAST16_;
-#endif /* H5_SIZEOF_INT_LEAST16_T */
-#if H5_SIZEOF_UINT_LEAST16_T != 0
static PredType *NATIVE_UINT_LEAST16_;
-#endif /* H5_SIZEOF_UINT_LEAST16_T */
-#if H5_SIZEOF_INT_LEAST32_T != 0
static PredType *NATIVE_INT_LEAST32_;
-#endif /* H5_SIZEOF_INT_LEAST32_T */
-#if H5_SIZEOF_UINT_LEAST32_T != 0
static PredType *NATIVE_UINT_LEAST32_;
-#endif /* H5_SIZEOF_UINT_LEAST32_T */
-#if H5_SIZEOF_INT_LEAST64_T != 0
static PredType *NATIVE_INT_LEAST64_;
-#endif /* H5_SIZEOF_INT_LEAST64_T */
-#if H5_SIZEOF_UINT_LEAST64_T != 0
static PredType *NATIVE_UINT_LEAST64_;
-#endif /* H5_SIZEOF_UINT_LEAST64_T */
-// FAST types
-#if H5_SIZEOF_INT_FAST8_T != 0
+ // FAST types
static PredType *NATIVE_INT_FAST8_;
-#endif /* H5_SIZEOF_INT_FAST8_T */
-#if H5_SIZEOF_UINT_FAST8_T != 0
static PredType *NATIVE_UINT_FAST8_;
-#endif /* H5_SIZEOF_UINT_FAST8_T */
-#if H5_SIZEOF_INT_FAST16_T != 0
static PredType *NATIVE_INT_FAST16_;
-#endif /* H5_SIZEOF_INT_FAST16_T */
-#if H5_SIZEOF_UINT_FAST16_T != 0
static PredType *NATIVE_UINT_FAST16_;
-#endif /* H5_SIZEOF_UINT_FAST16_T */
-#if H5_SIZEOF_INT_FAST32_T != 0
static PredType *NATIVE_INT_FAST32_;
-#endif /* H5_SIZEOF_INT_FAST32_T */
-#if H5_SIZEOF_UINT_FAST32_T != 0
static PredType *NATIVE_UINT_FAST32_;
-#endif /* H5_SIZEOF_UINT_FAST32_T */
-#if H5_SIZEOF_INT_FAST64_T != 0
static PredType *NATIVE_INT_FAST64_;
-#endif /* H5_SIZEOF_INT_FAST64_T */
-#if H5_SIZEOF_UINT_FAST64_T != 0
static PredType *NATIVE_UINT_FAST64_;
-#endif /* H5_SIZEOF_UINT_FAST64_T */
- // End of Declaration of pointers
#endif // DOXYGEN_SHOULD_SKIP_THIS
diff --git a/c++/src/H5PropList.cpp b/c++/src/H5PropList.cpp
index 3780220..7ee8395 100644
--- a/c++/src/H5PropList.cpp
+++ b/c++/src/H5PropList.cpp
@@ -11,15 +11,10 @@
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#ifdef OLD_HEADER_FILENAME
-#include <iostream.h>
-#else
#include <iostream>
-#endif
#include <string>
-#include "H5private.h" // for HDmemset
#include "H5Include.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
@@ -75,8 +70,7 @@ PropList::getConstant()
void
PropList::deleteConstants()
{
- if (DEFAULT_ != 0)
- delete DEFAULT_;
+ delete DEFAULT_;
}
//--------------------------------------------------------------------------
@@ -91,7 +85,9 @@ const PropList &PropList::DEFAULT = *getConstant();
///\brief Default constructor: creates a stub property list object.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-PropList::PropList() : IdComponent(), id(H5P_DEFAULT) {}
+PropList::PropList() : IdComponent(), id(H5P_DEFAULT)
+{
+}
//--------------------------------------------------------------------------
// Function: PropList copy constructor
@@ -116,11 +112,8 @@ PropList::PropList(const PropList &original) : IdComponent(), id(original.id)
// property's id to H5P_DEFAULT.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-PropList::PropList(const hid_t plist_id) : IdComponent()
+PropList::PropList(const hid_t plist_id) : IdComponent(), id{H5P_DEFAULT}
{
- if (plist_id <= 0)
- id = H5P_DEFAULT;
-
H5I_type_t id_type = H5Iget_type(plist_id);
switch (id_type) {
case H5I_GENPROP_CLS:
@@ -464,8 +457,7 @@ PropList::getProperty(const char *name) const
size_t size = getPropSize(name);
// Allocate buffer then get the property
- char *prop_strg_C = new char[size + 1]; // temporary C-string for C API
- HDmemset(prop_strg_C, 0, size + 1); // clear buffer
+ char *prop_strg_C = new char[size + 1]();
herr_t ret_value = H5Pget(id, name, prop_strg_C); // call C API
@@ -551,7 +543,7 @@ PropList::getPropSize(const H5std_string &name) const
// Function: PropList::getClassName
///\brief Return the name of a generic property list class.
///\return A string containing the class name, if success, otherwise,
-/// a NULL string.
+/// an empty string.
// Programmer: Binh-Minh Ribler - April, 2004
//--------------------------------------------------------------------------
H5std_string
@@ -565,8 +557,9 @@ PropList::getClassName() const
return (class_name);
}
else
- return 0;
+ return "";
}
+
//--------------------------------------------------------------------------
// Function: PropList::getNumProps
///\brief Returns the number of properties in this property list or class.
@@ -636,11 +629,12 @@ PropList::setProperty(const char *name, void *value) const
void
PropList::setProperty(const char *name, const char *charptr) const
{
- herr_t ret_value = H5Pset(id, name, (const void *)charptr);
+ herr_t ret_value = H5Pset(id, name, static_cast<const void *>(charptr));
if (ret_value < 0) {
throw PropListIException(inMemFunc("setProperty"), "H5Pset failed");
}
}
+
//--------------------------------------------------------------------------
// Function: PropList::setProperty
///\brief This is an overloaded member function, provided for convenience.
diff --git a/c++/src/H5PropList.h b/c++/src/H5PropList.h
index 12c8b4b..5320699 100644
--- a/c++/src/H5PropList.h
+++ b/c++/src/H5PropList.h
@@ -38,7 +38,7 @@ class H5_DLLCPP PropList : public IdComponent {
bool operator==(const PropList &rhs) const;
// Close this property list.
- virtual void close();
+ virtual void close() override;
// Close a property list class.
void closeClass() const;
@@ -102,7 +102,7 @@ class H5_DLLCPP PropList : public IdComponent {
///\brief Returns this class name.
virtual H5std_string
- fromClass() const
+ fromClass() const override
{
return ("PropList");
}
@@ -114,10 +114,10 @@ class H5_DLLCPP PropList : public IdComponent {
PropList(const PropList &original);
// Gets the property list id.
- virtual hid_t getId() const;
+ virtual hid_t getId() const override;
// Destructor: properly terminates access to this property list.
- virtual ~PropList();
+ virtual ~PropList() override;
#ifndef DOXYGEN_SHOULD_SKIP_THIS
@@ -128,7 +128,7 @@ class H5_DLLCPP PropList : public IdComponent {
hid_t id; // HDF5 property list id
// Sets the property list id.
- virtual void p_setId(const hid_t new_id);
+ virtual void p_setId(const hid_t new_id) override;
private:
static PropList *DEFAULT_;
diff --git a/c++/src/H5StrType.cpp b/c++/src/H5StrType.cpp
index 473cab3..57bb2c9 100644
--- a/c++/src/H5StrType.cpp
+++ b/c++/src/H5StrType.cpp
@@ -32,7 +32,6 @@
#include "H5StrType.h"
#include "H5DataSet.h"
#include "H5PredType.h"
-#include "H5private.h"
namespace H5 {
@@ -41,7 +40,9 @@ namespace H5 {
///\brief Default constructor: Creates a stub string datatype
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-StrType::StrType() : AtomType() {}
+StrType::StrType() : AtomType()
+{
+}
//--------------------------------------------------------------------------
// Function: StrType overloaded constructor
@@ -103,8 +104,11 @@ StrType::StrType(const PredType &pred_type, const size_t &size) : AtomType()
// This constructor replaced the previous one.
// Programmer Binh-Minh Ribler - Nov 28, 2005
//--------------------------------------------------------------------------
-StrType::StrType(H5_ATTR_UNUSED const int dummy, const size_t &size) : AtomType()
+StrType::StrType(const int dummy, const size_t &size) : AtomType()
{
+ // Unused
+ (void)dummy;
+
// use DataType::copy to make a copy of the string predefined type
// then set its length
copy(PredType::C_S1);
@@ -118,14 +122,18 @@ StrType::StrType(H5_ATTR_UNUSED const int dummy, const size_t &size) : AtomType(
///\exception H5::DataTypeIException
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-StrType::StrType(const hid_t existing_id) : AtomType(existing_id) {}
+StrType::StrType(const hid_t existing_id) : AtomType(existing_id)
+{
+}
//--------------------------------------------------------------------------
// Function: StrType copy constructor
///\brief Copy constructor: same HDF5 object as \a original
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-StrType::StrType(const StrType &original) : AtomType(original) {}
+StrType::StrType(const StrType &original) : AtomType(original)
+{
+}
//--------------------------------------------------------------------------
// Function: StrType overloaded constructor
@@ -302,6 +310,8 @@ StrType::setStrpad(H5T_str_t strpad) const
///\brief Properly terminates access to this string datatype.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
-StrType::~StrType() {}
+StrType::~StrType()
+{
+}
} // namespace H5
diff --git a/c++/src/H5StrType.h b/c++/src/H5StrType.h
index d272c53..2dc3bdc 100644
--- a/c++/src/H5StrType.h
+++ b/c++/src/H5StrType.h
@@ -42,7 +42,7 @@ class H5_DLLCPP StrType : public AtomType {
// Returns an StrType object via DataType* by decoding the
// binary object description of this type.
- virtual DataType *decode() const;
+ virtual DataType *decode() const override;
// Retrieves the character set type of this string datatype.
H5T_cset_t getCset() const;
@@ -58,7 +58,7 @@ class H5_DLLCPP StrType : public AtomType {
///\brief Returns this class name.
virtual H5std_string
- fromClass() const
+ fromClass() const override
{
return ("StrType");
}
@@ -73,7 +73,7 @@ class H5_DLLCPP StrType : public AtomType {
StrType(const StrType &original);
// Noop destructor.
- virtual ~StrType();
+ virtual ~StrType() override;
}; // end of StrType
} // namespace H5
diff --git a/c++/src/H5VarLenType.cpp b/c++/src/H5VarLenType.cpp
index 2851cc0..0270feb 100644
--- a/c++/src/H5VarLenType.cpp
+++ b/c++/src/H5VarLenType.cpp
@@ -33,7 +33,9 @@ namespace H5 {
// Function: VarLenType default constructor
///\brief Default constructor: Creates a stub variable-length datatype.
//--------------------------------------------------------------------------
-VarLenType::VarLenType() : DataType() {}
+VarLenType::VarLenType() : DataType()
+{
+}
//--------------------------------------------------------------------------
// Function: VarLenType overloaded constructor
@@ -42,14 +44,18 @@ VarLenType::VarLenType() : DataType() {}
///\exception H5::DataTypeIException
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
-VarLenType::VarLenType(const hid_t existing_id) : DataType(existing_id) {}
+VarLenType::VarLenType(const hid_t existing_id) : DataType(existing_id)
+{
+}
//--------------------------------------------------------------------------
// Function: VarLenType copy constructor
///\brief Copy constructor: same HDF5 object as \a original
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
-VarLenType::VarLenType(const VarLenType &original) : DataType(original) {}
+VarLenType::VarLenType(const VarLenType &original) : DataType(original)
+{
+}
//--------------------------------------------------------------------------
// Function: VarLenType overloaded constructor
@@ -153,6 +159,8 @@ VarLenType::decode() const
///\brief Properly terminates access to this datatype.
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
-VarLenType::~VarLenType() {}
+VarLenType::~VarLenType()
+{
+}
} // namespace H5
diff --git a/c++/src/H5VarLenType.h b/c++/src/H5VarLenType.h
index f767e0e..a8d0504 100644
--- a/c++/src/H5VarLenType.h
+++ b/c++/src/H5VarLenType.h
@@ -33,11 +33,11 @@ class H5_DLLCPP VarLenType : public DataType {
// Returns an VarLenType object via DataType* by decoding the
// binary object description of this type.
- virtual DataType *decode() const;
+ virtual DataType *decode() const override;
///\brief Returns this class name.
virtual H5std_string
- fromClass() const
+ fromClass() const override
{
return ("VarLenType");
}
@@ -53,7 +53,7 @@ class H5_DLLCPP VarLenType : public DataType {
VarLenType(const H5Location &loc, const H5std_string &name);
// Noop destructor
- virtual ~VarLenType();
+ virtual ~VarLenType() override;
// Default constructor
VarLenType();
diff --git a/c++/src/cpp_doc_config b/c++/src/cpp_doc_config
index 71db7f6..002db5d 100644
--- a/c++/src/cpp_doc_config
+++ b/c++/src/cpp_doc_config
@@ -38,7 +38,7 @@ PROJECT_NAME =
# could be handy for archiving the generated documentation or if some version
# control system is used.
-PROJECT_NUMBER = "1.13.0"
+PROJECT_NUMBER = "1.13.0-7, currently under development"
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
diff --git a/c++/src/h5c++.in b/c++/src/h5c++.in
index cf993b9..573d20d 100644
--- a/c++/src/h5c++.in
+++ b/c++/src/h5c++.in
@@ -35,10 +35,10 @@ HL="@HL@"
## (Advanced usage - know what you're doing - you're on your own here.) ##
## The four variables below can be used to insert paths and flags in ##
## CPPFLAGS, CXXFLAGS, LDFLAGS, or LIBS in the h5cc compile line: ##
-## $CLINKER $H5BLD_CPPFLAGS $CPPFLAGS $H5BLD_CXXFLAGS $CXXFLAGS ##
+## $CXXLINKER $H5BLD_CPPFLAGS $CPPFLAGS $H5BLD_CXXFLAGS $CXXFLAGS ##
## $LDFLAGS $LIBS $clibpath $link_objs $link_args $shared_link ##
## ##
-## These settings can be overridden by setting HDF5_CXXFLAGS, ##
+## These settings can be overridden by setting HDF5_CXXFLAGS, ##
## HDF5_CPPFLAGS, HDF5_LDFLAGS, or HDF5_LIBS in the environment. ##
## ##
############################################################################
@@ -93,7 +93,7 @@ H5BLD_LDFLAGS="@AM_LDFLAGS@ @LDFLAGS@"
H5BLD_LIBS="@LIBS@"
CXX="${HDF5_CXX:-$CXXBASE}"
-CXXLINKER="${HDF5_CLINKER:-$CXXLINKERBASE}"
+CXXLINKER="${HDF5_CXXLINKER:-$CXXLINKERBASE}"
CXXFLAGS="${HDF5_CXXFLAGS:-$CXXFLAGSBASE}"
CPPFLAGS="${HDF5_CPPFLAGS:-$CPPFLAGSBASE}"
LDFLAGS="${HDF5_LDFLAGS:-$LDFLAGSBASE}"