Chapter 3.1 : Classic Usage



Let's use this configuration TableVertex.ph5 :
1
2
3
4
5
6
7
8
9
10
11
///Table of values
TableVertex{
	///Event id
	size_t eventId;
	///Timestamp
	double timestamp;
	///Image
	Tensor(float, nbPixel) image;
	///Float value
	Tensor(float, nbValue, 2) matValue;
}


We can generate files with :
phoenix_hdf5 -i TableVertex.ph5


It will create :
  • TableVertex.h : header of class TableVertex
  • TableVertex.cpp : source of class TableVertex
  • TableVertex_hdf5.h : header of HDF5 backend (TableVertexH5) for class TableVertex
  • TableVertex_hdf5.cpp : source of HDF5 backend (TableVertexH5) for class TableVertex
  • TableVertex_test.cpp : Unit Tests to check if generated class is well used and this gives also an example of how to use it


Storage class (here TableVertex) has no dependency. HDF5 backend (TableVertexH5) can be compiled separately and depends on HDF5 library.

HDF5 backend can be disabled with --tmponly or -t to use generated class as temporary.

If you are using class with multi-dimensions columns, make sure to use setAllDim method before calling resize, otherwise multi-dimensions columns will be empty