-
Notifications
You must be signed in to change notification settings - Fork 0
/
example.cpp
38 lines (32 loc) · 1.03 KB
/
example.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include "h5stream.hpp"
#include "testfn.hpp"
#include <array>
#include <iostream>
#include <string>
#include <vector>
int main() {
// Create File
h5stream::h5stream file("sample.h5", "tr");
// Create a vector
std::vector<double> matrix{1, 2, 3282, 932};
// Write to the file
file.create_group("/data");
file.write<double>("/data/matrix", matrix);
file.write<double>("/data/matrix2 ", matrix.data(),
matrix.size()); // Save raw pointer storage
testfn();
// Write Attributes( Metadata) to the to the same data space
auto dspace = file.get_dataspace("/data/matrix");
dspace.write_atr<double>(1.2, "Units");
// Read data from the file into an std::vector or std::array
std::vector<double> xx;
file.read<double>(xx, "/data/matrix");
// OR
// file.read<double, std::vector>(xx, "matrix");
// Read Attribute
double x = 0;
dspace.read_atr<double>(x, "Units");
std::cout << "Attribute : " << x << std::endl;
std::cout << "HDF file size (MB): " << file.file_size() << std::endl;
return 0;
}