17 m_compression_level = 9;
19 m_compression_level = 0;
25 : m_compression_level(static_cast<unsigned>(level)) {}
28 return m_compression_level;
32 m_overwrite =
static_cast<bool>(mode);
36 m_flush =
static_cast<bool>(mode);
40 m_compression_level = level.
get();
43template <
class T,
class... Args>
51 m_chunk_size = std::vector<hsize_t>(shape.begin(), shape.end());
55 m_chunk_size = std::vector<hsize_t>(shape.begin(), shape.end());
67 return m_compression_level > 0;
71 return m_compression_level;
75 return m_chunk_size.size() > 0;
82inline size_t getSize(
const File& file,
const std::string& path) {
86inline std::vector<size_t>
getShape(
const File& file,
const std::string& path) {
92 const std::string& path,
95 return detail::io_impl<T>::dump(file, path, data, options);
100 return detail::io_impl<T>::dump(file, path, data,
DumpOptions(mode));
105 const std::string& path,
107 const std::vector<size_t>& idx,
109 return detail::io_impl<T>::dump_extend(file, path, data, idx, options);
114 const std::string& path,
116 const std::initializer_list<size_t>& idx,
118 return detail::io_impl<T>::dump_extend(file, path, data, idx, options);
123 const std::string& path,
125 const std::vector<size_t>& idx) {
126 return detail::io_impl<T>::dump_extend(file, path, data, idx,
DumpOptions());
131 const std::string& path,
133 const std::initializer_list<size_t>& idx) {
134 return detail::io_impl<T>::dump_extend(file, path, data, idx,
DumpOptions());
138inline T
load(
const File& file,
const std::string& path,
const std::vector<size_t>& idx) {
139 return detail::io_impl<T>::load_part(file, path, idx);
143inline T
load(
const File& file,
const std::string& path) {
144 return detail::io_impl<T>::load(file, path);
149 const std::string& path,
150 const std::string& key,
153 return detail::io_impl<T>::dumpAttribute(file, path, key, data,
DumpOptions(mode));
158 const std::string& path,
159 const std::string& key,
162 return detail::io_impl<T>::dumpAttribute(file, path, key, data, options);
167 return detail::io_impl<T>::loadAttribute(file, path, key);
Signal to set compression level for written DataSets.
Definition H5Easy.hpp:89
unsigned get() const
Return compression level.
Definition H5Easy_public.hpp:27
Compression(bool enable=true)
Enable compression with the highest compression level (9). or disable compression (set compression le...
Definition H5Easy_public.hpp:15
Define options for dumping data.
Definition H5Easy.hpp:121
bool flush() const
Get flush-mode.
Definition H5Easy_public.hpp:62
bool isChunked() const
Get chunking mode: true is manually set, false if chunk-size should be computed automatically.
Definition H5Easy_public.hpp:74
std::vector< hsize_t > getChunkSize() const
Get chunk size. Use DumpOptions::getChunkSize to check if chunk-size should be automatically computed...
Definition H5Easy_public.hpp:78
unsigned getCompressionLevel() const
Get compression level.
Definition H5Easy_public.hpp:70
bool overwrite() const
Get overwrite-mode.
Definition H5Easy_public.hpp:58
void set(DumpMode mode)
Overwrite H5Easy::DumpMode setting.
Definition H5Easy_public.hpp:31
bool compress() const
Get compress-mode.
Definition H5Easy_public.hpp:66
void setChunkSize(const std::vector< T > &shape)
Set chunk-size. If the input is rank (size) zero, automatic chunking is enabled.
Definition H5Easy_public.hpp:50
Class representing an Attribute of a DataSet or Group.
Definition H5Attribute.hpp:46
Class representing a dataset.
Definition H5DataSet.hpp:30
size_t getElementCount() const
Get the total number of elements in the current dataset. E.g. 2x2x2 matrix has size 8....
Definition H5DataSet.hpp:87
std::vector< size_t > getDimensions() const
Get the dimensions of the whole DataSet. This is a shorthand for getSpace().getDimensions()
Definition H5DataSet.hpp:78
File class.
Definition H5File.hpp:24
DataSet getDataSet(const std::string &dataset_name, const DataSetAccessProps &accessProps=DataSetAccessProps::Default()) const
get an existing dataset in the current file
Definition H5Node_traits_misc.hpp:97
Read/dump DataSets or Attribute using a minimalistic syntax. To this end, the functions are templated...
Definition H5Easy.hpp:59
size_t getSize(const File &file, const std::string &path)
Get the size of an existing DataSet in an open HDF5 file.
Definition H5Easy_public.hpp:82
DataSet dump(File &file, const std::string &path, const T &data, DumpMode mode=DumpMode::Create)
Write object (templated) to a (new) DataSet in an open HDF5 file.
Definition H5Easy_public.hpp:99
DumpMode
Write mode for DataSets.
Definition H5Easy.hpp:75
T loadAttribute(const File &file, const std::string &path, const std::string &key)
Load a Attribute in an open HDF5 file to an object (templated).
Definition H5Easy_public.hpp:166
Attribute dumpAttribute(File &file, const std::string &path, const std::string &key, const T &data, DumpMode mode=DumpMode::Create)
Write object (templated) to a (new) Attribute in an open HDF5 file.
Definition H5Easy_public.hpp:148
T load(const File &file, const std::string &path, const std::vector< size_t > &idx)
Load entry {i, j, ...} from a DataSet in an open HDF5 file to a scalar.
Definition H5Easy_public.hpp:138
std::vector< size_t > getShape(const File &file, const std::string &path)
Get the shape of an existing DataSet in an readable file.
Definition H5Easy_public.hpp:86
Flush
Signal to enable/disable automatic flushing after write operations.
Definition H5Easy.hpp:82