5#ifndef HDF5Utils_Merger_H
6#define HDF5Utils_Merger_H
39 hsize_t mergeAxis = 0,
41 bool requireSameFormat =
true,
42 std::size_t bufferSize = -1,
43 bool bufferInRows =
false);
52 void merge(H5::Group& target,
const H5::Group& source);
59 void merge(H5::DataSet& target,
const H5::DataSet& source);
67 H5::H5Location& targetLocation,
68 const H5::Group& source);
76 H5::H5Location& targetLocation,
77 const H5::DataSet& source);
83 void flush(H5::Group& dst);
Merger(hsize_t mergeAxis=0, int chunkSize=-1, bool requireSameFormat=true, std::size_t bufferSize=-1, bool bufferInRows=false)
Create the merger.
int m_chunkSize
The chunk size to apply.
bool m_measureBufferInRows
Whether to measure the buffer in bytes or rows.
std::unique_ptr< H5Utils::hist::HistogramMerger > m_histMerger
Accumulator for UHI histogram groups.
void flush(H5::Group &dst)
Write all accumulated histogram data to the output.
hsize_t m_mergeAxis
The axis to merge along.
std::size_t m_bufferSize
The size of the buffer.
H5::Group createFrom(H5::H5Location &targetLocation, const H5::Group &source)
Make a new group from information in a source group.
bool m_requireSameFormat
Whether to require the same group structure.
Accumulates UHI histogram groups from multiple source files and writes the merged result once all inp...