22#ifndef _HDF5SERIE_VECTORSERIE_H_
23#define _HDF5SERIE_VECTORSERIE_H_
25#include <hdf5serie/interface.h>
26#include <hdf5serie/file.h>
27#include "hdf5serie/options.h"
29#include <boost/multi_array.hpp>
74 boost::multi_array<T, 2> cache;
75 boost::multi_array<char, 3> cacheFixedSizeStr;
76 std::vector<char> bufChar;
78 void writeToHDF5(
size_t nrRows,
size_t cacheSize,
const std::conditional_t<std::is_same_v<T,std::string>,
char,T>* data);
79 void openIDandFileDataSpaceID();
84 void close()
override;
85 void refresh()
override;
86 void flush()
override;
87 void enableSWMR()
override;
101 void append(
const T data[],
size_t size);
107 template<
class DataType>
109 append(&data[0], data.size());
122 void getRow(
int row,
size_t size, T data[]);
128 template<
class DataType>
129 void getRow(
const int row, DataType &data) {
130 getRow(row, data.size(), &data[0]);
136 std::vector<T> data(dims[1]);
137 getRow(row, dims[1], &data[0]);
145 void getColumn(
int column,
size_t size, T data[]);
151 template<
class DataType>
153 getColumn(column, data.size(), &data[0]);
160 std::vector<T> data(rows);
171 void setColumnLabel(
const std::vector<std::string> &columnLabel);
187 checkCall(H5Sget_simple_extent_dims(fileDataSpaceID, dims,
nullptr));
Definition: interface.h:177
Definition: interface.h:331
Definition: interface.h:270
Definition: interface.h:78
Serie of vectors.
Definition: vectorserie.h:65
void setDescription(const std::string &description)
Sets a description for the dataset.
Definition: vectorserie.cc:189
void getRow(int row, size_t size, T data[])
Returns the data vector at row row The first row is 0. The last avaliable row ist getRows()-1....
Definition: vectorserie.cc:234
void append(const DataType &data)
Definition: vectorserie.h:108
int getRows()
Returns the number of rows in the dataset.
Definition: vectorserie.h:186
void getColumn(int column, size_t size, T data[])
Returns the data vector at column column.
Definition: vectorserie.cc:254
std::string getDescription()
Return the description for the dataset.
Definition: vectorserie.cc:268
void append(const T data[], size_t size)
Append a data vector.
Definition: vectorserie.cc:216
std::vector< T > getColumn(const int row)
Definition: vectorserie.h:158
unsigned int getColumns()
Returns the number of columns(=number of data elements) in the dataset.
Definition: vectorserie.h:192
void getColumn(const int column, DataType &data)
Definition: vectorserie.h:152
std::vector< std::string > getColumnLabel()
Returns the column labels.
Definition: vectorserie.cc:282
void getRow(const int row, DataType &data)
Definition: vectorserie.h:129
std::vector< T > getRow(const int row)
Definition: vectorserie.h:135