|
template<typename number > |
std::shared_ptr< hid_t > | get_hdf5_datatype () |
|
template<typename number > |
std::vector< hsize_t > | get_container_dimensions (const std::vector< number > &data) |
|
template<typename number > |
std::vector< hsize_t > | get_container_dimensions (const Vector< number > &data) |
|
template<typename number > |
std::vector< hsize_t > | get_container_dimensions (const FullMatrix< number > &data) |
|
template<typename number > |
unsigned int | get_container_size (const std::vector< number > &data) |
|
template<typename number > |
unsigned int | get_container_size (const Vector< number > &data) |
|
template<typename number > |
unsigned int | get_container_size (const FullMatrix< number > &data) |
|
template<typename Container > |
std::enable_if_t< std::is_same_v< Container, std::vector< typename Container::value_type > >, Container > | initialize_container (const std::vector< hsize_t > &dimensions) |
|
template<typename Container > |
std::enable_if_t< std::is_same_v< Container, Vector< typename Container::value_type > >, Container > | initialize_container (const std::vector< hsize_t > &dimensions) |
|
template<typename Container > |
std::enable_if_t< std::is_same_v< Container, FullMatrix< typename Container::value_type > >, Container > | initialize_container (const std::vector< hsize_t > &dimensions) |
|
void | set_plist (hid_t &plist, const bool mpi) |
|
void | release_plist (hid_t &plist, H5D_mpio_actual_io_mode_t &io_mode, std::uint32_t &local_no_collective_cause, std::uint32_t &global_no_collective_cause, const bool mpi, const bool query_io_mode) |
|
std::string | no_collective_cause_to_string (const std::uint32_t no_collective_cause) |
|
template<typename number >
std::shared_ptr< hid_t > HDF5::internal::get_hdf5_datatype |
( |
| ) |
|
This function returns the HDF5 datatype corresponding to the C++ type. In the case of std::complex types the HDF5 handlers are automatically freed using the destructor of std::shared_ptr
. std::shared_ptr
is used instead of std::unique_ptr
because the destructor of std::shared_ptr
doesn't have to be defined in the template argument. In the other hand, the destructor of std::unique
has to be defined in the template argument. Native types such as H5T_NATIVE_DOUBLE
do not require a destructor, but compound types such as std::complex<double> require a destructor to free the HDF5 resources.
Definition at line 1275 of file hdf5.h.
template<typename Container >
std::enable_if_t< std::is_same_v< Container, std::vector< typename Container::value_type > >, Container > HDF5::internal::initialize_container |
( |
const std::vector< hsize_t > & | dimensions | ) |
|
This function initializes and returns a container of type std::vector, Vector or FullMatrix. The function does not set the values of the elements of the container. The container can store data of a HDF5 dataset or a HDF5 selection. The dimensions parameter holds the dimensions of the HDF5 dataset or selection.
In the case of a std::vector, the size of the vector will be the total size given by dimensions. For example in the case of a dataset of rank 3, the dimensions are std::vector<hsize_t>{dim_0,dim_1,dim_2}
. The size of the returned std::vector will be dim_0*dim_1*dim_2
.
In the case of a Vector, the size of the returned Vector will be as well dim_0*dim_1*dim_2
.
A FullMatrix can store only data of HDF5 datasets with rank 2. The size of the FullMatrix will be FullMatrix(dim_0,dim_2)
Definition at line 1421 of file hdf5.h.