aqnwb 0.1.0
Loading...
Searching...
No Matches
HDF5RecordingData.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "io/BaseIO.hpp"
4
5namespace H5
6{
7class DataSet;
8class DataSpace;
9} // namespace H5
10
11namespace AQNWB::IO::HDF5
12{
21{
22public:
27 HDF5RecordingData(std::unique_ptr<H5::DataSet> data);
28
33
38
43
52 Status writeDataBlock(const std::vector<SizeType>& dataShape,
53 const std::vector<SizeType>& positionOffset,
54 const AQNWB::IO::BaseDataType& type,
55 const void* data);
56
67 Status writeDataBlock(const std::vector<SizeType>& dataShape,
68 const std::vector<SizeType>& positionOffset,
69 const AQNWB::IO::BaseDataType& type,
70 const std::vector<std::string>& data);
71
76 inline const H5::DataSet* getDataSet() const { return m_dataset.get(); }
77
78private:
87 Status writeDataBlockHelper(const std::vector<SizeType>& dataShape,
88 const std::vector<SizeType>& positionOffset,
89 H5::DataSpace& mSpace,
90 H5::DataSpace& fSpace);
91
95 Status checkStatus(int status);
96
100 std::unique_ptr<H5::DataSet> m_dataset;
101};
102} // namespace AQNWB::IO::HDF5
AQNWB::Types::Status Status
Definition BaseIO.hpp:20
Represents a base data type.
Definition BaseIO.hpp:41
The base class to represent recording data that can be extended.
Definition BaseIO.hpp:504
Status checkStatus(int status)
Return status of HDF5 operations.
Status writeDataBlockHelper(const std::vector< SizeType > &dataShape, const std::vector< SizeType > &positionOffset, H5::DataSpace &mSpace, H5::DataSpace &fSpace)
Allocate space and validate parameters.
Definition HDF5RecordingData.cpp:167
const H5::DataSet * getDataSet() const
Gets a const pointer to the HDF5 dataset.
Definition HDF5RecordingData.hpp:76
Status writeDataBlock(const std::vector< SizeType > &dataShape, const std::vector< SizeType > &positionOffset, const AQNWB::IO::BaseDataType &type, const void *data)
Writes a block of data to the HDF5 dataset.
Definition HDF5RecordingData.cpp:44
~HDF5RecordingData()
Destroys the HDF5RecordingData object.
Definition HDF5RecordingData.cpp:38
HDF5RecordingData & operator=(const HDF5RecordingData &)=delete
Deleted copy assignment operator to prevent copying.
HDF5RecordingData(const HDF5RecordingData &)=delete
Deleted copy constructor to prevent construction-copying.
HDF5RecordingData(std::unique_ptr< H5::DataSet > data)
Constructs an HDF5RecordingData object.
Definition HDF5RecordingData.cpp:17
std::unique_ptr< H5::DataSet > m_dataset
Pointer to an extendable HDF5 dataset.
Definition HDF5RecordingData.hpp:100
Definition HDF5IO.hpp:30
Definition HDF5IO.hpp:14