107 void write(
void* buffer,
const std::size_t& startIdx,
108 const std::size_t& endIdx) {
112 std::stringstream message;
113 message <<
"Checkpoint table uninitialized." << std::endl;
114 throw std::runtime_error(message.str());
117 hsize_t s = (hsize_t)(startIdx);
118 hsize_t
e = (hsize_t)(endIdx);
121 hsize_t fStart[2] = {s, 0};
122 hsize_t fCount[2] = {l, 1};
124 hsize_t mStart[2] = {s, 0};
125 hsize_t mCount[2] = {l, 1};
127 hsize_t mDim[2] = {l, 1};
129 H5::DataSpace mspace(2, mDim);
131 dp_.selectHyperslab(H5S_SELECT_SET, fCount, fStart);
132 mspace.selectHyperslab(H5S_SELECT_SET, mCount, mStart);
135 }
catch (H5::Exception&) {
136 std::stringstream message;
137 message <<
"Could not write " <<
name_ <<
" from " <<
loc_.getFileName();
138 throw std::runtime_error(message.str());
151 void read(
void* buffer,
const std::size_t& startIdx,
152 const std::size_t& endIdx) {
156 std::stringstream message;
157 message <<
"Checkpoint table uninitialized." << std::endl;
158 throw std::runtime_error(message.str());
161 hsize_t s = (hsize_t)(startIdx);
162 hsize_t
e = (hsize_t)(endIdx);
165 hsize_t fStart[2] = {s, 0};
166 hsize_t fCount[2] = {l, 1};
168 hsize_t mStart[2] = {s, 0};
169 hsize_t mCount[2] = {l, 1};
171 hsize_t mDim[2] = {l, 1};
173 H5::DataSpace mspace(2, mDim);
175 dp_.selectHyperslab(H5S_SELECT_SET, fCount, fStart);
176 mspace.selectHyperslab(H5S_SELECT_SET, mCount, mStart);
179 }
catch (H5::Exception&) {
180 std::stringstream message;
181 message <<
"Could not read " <<
name_ <<
" from " <<
loc_.getFileName();
182 throw std::runtime_error(message.str());