9#ifndef H5EASY_BITS_PUBLIC_HPP
10#define H5EASY_BITS_PUBLIC_HPP
12#include "../H5Easy.hpp"
16inline Compression::Compression(
bool enable)
19 m_compression_level = 9;
21 m_compression_level = 0;
26inline Compression::Compression(T level) : m_compression_level(static_cast<unsigned>(level))
30inline unsigned Compression::get()
const
32 return m_compression_level;
35inline void DumpOptions::set(DumpMode mode)
37 m_overwrite =
static_cast<bool>(mode);
40inline void DumpOptions::set(Flush mode)
42 m_flush =
static_cast<bool>(mode);
47 m_compression_level = level.get();
50template <
class T,
class... Args>
51inline void DumpOptions::set(T arg, Args... args)
58inline void DumpOptions::setChunkSize(
const std::vector<T>& shape)
60 m_chunk_size = std::vector<hsize_t>(shape.begin(), shape.end());
63inline void DumpOptions::setChunkSize(std::initializer_list<size_t> shape)
65 m_chunk_size = std::vector<hsize_t>(shape.begin(), shape.end());
68inline bool DumpOptions::overwrite()
const
73inline bool DumpOptions::flush()
const
78inline bool DumpOptions::compress()
const
80 return m_compression_level > 0;
83inline unsigned DumpOptions::getCompressionLevel()
const
85 return m_compression_level;
88inline bool DumpOptions::isChunked()
const
90 return m_chunk_size.size() > 0;
93inline std::vector<hsize_t> DumpOptions::getChunkSize()
const
98inline size_t getSize(
const File& file,
const std::string& path) {
102inline std::vector<size_t> getShape(
const File& file,
const std::string& path) {
103 return file.getDataSet(path).getDimensions();
107inline DataSet dump(File& file,
108 const std::string& path,
110 const DumpOptions& options) {
111 return detail::io_impl<T>::dump(file, path, data, options);
115inline DataSet dump(File& file,
116 const std::string& path,
119 return detail::io_impl<T>::dump(file, path, data, DumpOptions(mode));
123inline DataSet dump(File& file,
124 const std::string& path,
126 const std::vector<size_t>& idx,
127 const DumpOptions& options) {
128 return detail::io_impl<T>::dump_extend(file, path, data, idx, options);
132inline DataSet dump(File& file,
133 const std::string& path,
135 const std::initializer_list<size_t>& idx,
136 const DumpOptions& options) {
137 return detail::io_impl<T>::dump_extend(file, path, data, idx, options);
141inline DataSet dump(File& file,
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());
149inline DataSet dump(File& file,
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());
157inline 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);
162inline T load(
const File& file,
const std::string& path) {
163 return detail::io_impl<T>::load(file, path);
167inline Attribute dumpAttribute(File& file,
168 const std::string& path,
169 const std::string& key,
172 return detail::io_impl<T>::dumpAttribute(file, path, key, data, DumpOptions(mode));
176inline Attribute dumpAttribute(File& file,
177 const std::string& path,
178 const std::string& key,
180 const DumpOptions& options) {
181 return detail::io_impl<T>::dumpAttribute(file, path, key, data, options);
185inline T loadAttribute(
const File& file,
const std::string& path,
const std::string& key) {
186 return detail::io_impl<T>::loadAttribute(file, path, key);
Set compression level for written DataSets.
Definition H5Easy.hpp:82
size_t getElementCount() const
Get the total number of elements in the current dataset. E.g. 2x2x2 matrix has size 8....
Definition H5DataSet.hpp:113
File class.
Definition H5File.hpp:25
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:102