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>
73 boost::multi_array<T, 2> cache;
74 boost::multi_array<char, 3> cacheFixedSizeStr;
75 std::vector<char> bufChar;
77 void writeToHDF5(
size_t nrRows,
size_t cacheSize,
const std::conditional_t<std::is_same_v<T,std::string>,
char,T>* data);
78 void openIDandFileDataSpaceID();
83 void close()
override;
84 void refresh()
override;
85 void flush()
override;
86 void enableSWMR()
override;
100 void append(
const T data[],
size_t size);
106 template<
class DataType>
108 append(&data[0], data.size());
121 void getRow(
int row,
size_t size, T data[]);
127 template<
class DataType>
128 void getRow(
const int row, DataType &data) {
129 getRow(row, data.size(), &data[0]);
135 std::vector<T> data(dims[1]);
136 getRow(row, dims[1], &data[0]);
144 void getColumn(
int column,
size_t size, T data[]);
150 template<
class DataType>
152 getColumn(column, data.size(), &data[0]);
159 std::vector<T> data(rows);
170 void setColumnLabel(
const std::vector<std::string> &columnLabel);
186 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:171
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:216
void append(const DataType &data)
Definition: vectorserie.h:107
int getRows()
Returns the number of rows in the dataset.
Definition: vectorserie.h:185
void getColumn(int column, size_t size, T data[])
Returns the data vector at column column.
Definition: vectorserie.cc:236
std::string getDescription()
Return the description for the dataset.
Definition: vectorserie.cc:250
void append(const T data[], size_t size)
Append a data vector.
Definition: vectorserie.cc:198
std::vector< T > getColumn(const int row)
Definition: vectorserie.h:157
unsigned int getColumns()
Returns the number of columns(=number of data elements) in the dataset.
Definition: vectorserie.h:191
void getColumn(const int column, DataType &data)
Definition: vectorserie.h:151
std::vector< std::string > getColumnLabel()
Returns the column labels.
Definition: vectorserie.cc:264
void getRow(const int row, DataType &data)
Definition: vectorserie.h:128
std::vector< T > getRow(const int row)
Definition: vectorserie.h:134