9 #ifndef H5EASY_BITS_PUBLIC_HPP
10 #define H5EASY_BITS_PUBLIC_HPP
12 #include "../H5Easy.hpp"
19 m_compression_level = 9;
21 m_compression_level = 0;
32 return m_compression_level;
37 m_overwrite =
static_cast<bool>(mode);
42 m_flush =
static_cast<bool>(mode);
47 m_compression_level = level.
get();
50 template <
class T,
class... Args>
60 m_chunk_size = std::vector<hsize_t>(shape.begin(), shape.end());
65 m_chunk_size = std::vector<hsize_t>(shape.begin(), shape.end());
80 return m_compression_level > 0;
85 return m_compression_level;
90 return m_chunk_size.size() > 0;
98 inline size_t getSize(
const File& file,
const std::string& path) {
102 inline std::vector<size_t>
getShape(
const File& file,
const std::string& path) {
108 const std::string& path,
116 const std::string& path,
124 const std::string& path,
126 const std::vector<size_t>& idx,
128 return detail::io_impl<T>::dump_extend(file, path, data, idx, options);
133 const std::string& path,
135 const std::initializer_list<size_t>& idx,
137 return detail::io_impl<T>::dump_extend(file, path, data, idx, options);
142 const std::string& path,
144 const std::vector<size_t>& idx) {
145 return detail::io_impl<T>::dump_extend(file, path, data, idx,
DumpOptions());
150 const std::string& path,
152 const std::initializer_list<size_t>& idx) {
153 return detail::io_impl<T>::dump_extend(file, path, data, idx,
DumpOptions());
157 inline T
load(
const File& file,
const std::string& path,
const std::vector<size_t>& idx) {
158 return detail::io_impl<T>::load_part(file, path, idx);
162 inline T
load(
const File& file,
const std::string& path) {
168 const std::string& path,
169 const std::string& key,
177 const std::string& path,
178 const std::string& key,
Set compression level for written DataSets.
Definition: H5Easy.hpp:83
unsigned get() const
Definition: H5Easy_public.hpp:30
Compression(bool enable=true)
Definition: H5Easy_public.hpp:16
Options for dumping data.
Definition: H5Easy.hpp:113
bool flush() const
Check to flush.
Definition: H5Easy_public.hpp:73
bool isChunked() const
Check if chunk-size is manually set (or should be computed automatically).
Definition: H5Easy_public.hpp:88
std::vector< hsize_t > getChunkSize() const
Get chunk size.
Definition: H5Easy_public.hpp:93
unsigned getCompressionLevel() const
Get compression level.
Definition: H5Easy_public.hpp:83
bool overwrite() const
Check to overwrite.
Definition: H5Easy_public.hpp:68
void set(DumpMode mode)
Overwrite setting.
Definition: H5Easy_public.hpp:35
bool compress() const
Check to compress.
Definition: H5Easy_public.hpp:78
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:58
Class representing an attribute of a dataset or group.
Definition: H5Attribute.hpp:23
Class representing a dataset.
Definition: H5DataSet.hpp:29
size_t getElementCount() const
Get the total number of elements in the current dataset. E.g. 2x2x2 matrix has size 8....
Definition: H5DataSet.hpp:92
std::vector< size_t > getDimensions() const
Get the dimensions of the whole DataSet. This is a shorthand for getSpace().getDimensions()
Definition: H5DataSet.hpp:83
File class.
Definition: H5File.hpp:26
DataSet getDataSet(const std::string &dataset_name, const DataSetAccessProps &accessProps=DataSetAccessProps()) const
get an existing dataset in the current file
Definition: H5Node_traits_misc.hpp:95
Definition: H5Easy.hpp:51
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:98
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:115
DumpMode
Write mode for DataSets.
Definition: H5Easy.hpp:67
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:185
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:167
T load(const File &file, const std::string &path, const std::vector< size_t > &idx)
Load entry "(i,j)" from a rank-two DataSet in an open HDF5 file to a scalar.
Definition: H5Easy_public.hpp:157
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:102
Flush
Enable/disable automatic flushing after write operations.
Definition: H5Easy.hpp:75