Template Class Data

Inheritance Relationships

Base Type

  • public IData< Data< T >, ParentType >

Class Documentation

template<typename T>
class Data : public IData<Data<T>, ParentType>

Public Types

using BaseClass = IData<Data<T>, ParentType>

Public Functions

inline Data(const std::vector<std::string> &labels, size_t nsamples)

Data constructor with the labels for each column and the number of samples.

Parameters
  • labels – give a label for each column

  • nsamples – give the number of samples

inline Data(const Parameters &parameters)

Data constructor from the parameters object.

Parameters

parameters

inline void ClearData() override

ClearData - clear the data.

inline Parameters parameters() const
inline size_t ncolumns() const
inline size_t nsamples() const
inline std::vector<std::string> labels() const
inline void set_data_column(std::string column, const std::vector<T> &data)

set_data_column set all samples for one column based on the name of the column

Parameters
  • column – - selected column name

  • data – - vector containing data for all samples

inline void set_data_column(size_t column, const std::vector<T> &data)

set_data_column set all samples for one column based on the column index

Parameters
  • column – - selected column index

  • data – - vector containing data for all samples

inline void set_data_sample(size_t sample, const std::vector<T> &data)

set_data_sample set column data for one sample

Parameters
  • sample – - selected sample index

  • data – - vector containing data for all columns

inline void set_data_sample(size_t sample, size_t column, T data)

set_data_sample set one data for one column index and one sample index

Parameters
  • sample – - selected sample index

  • column – - selected column index

  • data

inline void set_data_sample(size_t sample, std::string column, T data)

set_data_sample set one data for one column label and one sample index

Parameters
  • sample – - selected sample index

  • column – - selected column label

  • data

inline std::vector<T> &data()

data - return full data with this format [c1s1, c1s2.., c1sn, c2s1, c2s2 …, cns1,…cnsn]

Returns

inline const std::vector<T> &data() const
inline const T &data_sample(size_t sample, size_t column = 0) const

data_sample - return the data for one sample index and one column index

Parameters
  • sample – - selected sample index

  • column – - selected column index

Returns

inline const T &data_sample(size_t sample, std::string column) const

data_sample - return the data for one sample index and one column label

Parameters
  • sample – - selected sample index

  • column – - selected column label

Returns

inline T &operator()(size_t sample, size_t column = 0)
inline const T &operator()(size_t sample, size_t column = 0) const
inline T &operator()(size_t sample, std::string column)
inline const T &operator()(size_t sample, std::string column) const
inline T &operator()(size_t index)
inline const T &operator()(size_t index) const
inline T *begin_sample(size_t sample)

begin_sample iterator at the start of a sample index

Parameters

sample

Returns

inline T *end_sample(size_t sample)

end_sample iterator at the end of a sample index

Parameters

sample

Returns

inline const T *begin_sample(size_t sample) const
inline const T *end_sample(size_t sample) const
inline stride_iter<T*> begin_column(size_t column)

begin_column iterator at the start of the column based on the location in the dataset

Parameters

column – - column index

Returns

inline stride_iter<T*> end_column(size_t column)

end_column - iterator at the end of the column based on the location in the dataset

Parameters

column – - column index

Returns

inline stride_iter<T*> begin_column(std::string column)

begin_column - iterator at the start of the column based on name of the column

Parameters

column – - column label

Returns

inline stride_iter<T*> end_column(std::string column)

end_column - iterator at the end of the column based on name of the column

Parameters

column – - column label

Returns

inline void SerializeBinary(std::ostream &stream, Serialization::Format format = Serialization::Format::FULL) const override

SerializeBinary - add to the binary stream the data [columnxsample].

Parameters
  • stream

  • format

inline void SerializeFlatBuffer(flexbuffers::Builder &flex_builder) override

SerializeFlatBuffer - add to the flexbuffer the data labeled [label0:nsamples, label1:nsamples…], the number of columns and the number of samples.

Parameters

flex_builder

inline void SerializeYAML(YAML::Node &node, Serialization::Format format = Serialization::Format::FULL) const override

SerializeYAML - add to the yaml node the data [columnxsample].

Parameters
  • node

  • format

inline void YAMLDescription(YAML::Node &node, Serialization::Format format = Serialization::Format::FULL) const override

YAMLDescription - this datatype add to the metadata describing the data format the signal, number of columns and samples format.

Parameters

format

inline T sum_column(std::string column, bool absolute = false) const

sum_column - compute the (absolute) sum of all samples in the same column

Parameters
  • column – - column label

  • absolute – - absolute sum or not

Returns

(absolute) sum

inline T sum_column(size_t column, bool absolute = false) const

sum_column - compute the (absolute) sum of all samples in the same column

Parameters
  • column – - column index

  • absolute – - absolute sum or not

Returns

(absolute) sum

inline T mean_column(std::string column, bool absolute = false) const

mean_column - compute the mean of the (absolute) sum of all samples in the same column

Parameters
  • column – - column label

  • absolute – - absolute sum or not

Returns

mean of the (absolute) sum

inline T mean_column(size_t column, bool absolute = false) const

mean_column - compute the mean of the (absolute) sum of all samples in the same column

Parameters
  • column – - column index

  • absolute – - absolute sum or not

Returns

mean of the (absolute) sum

inline T sum_sample(size_t sample, bool absolute = false) const

sum_sample - compute the (absolute) sum of all column data for the same sample index

Parameters
  • sample – - sample index

  • absolute – - absolute sum or not

Returns

(absolute) sum

inline T mean_sample(size_t sample, bool absolute = false) const

mean_sample - compute the mean of the (absolute) sum of all column data for the same sample index

Parameters
  • sample – - sample index

  • absolute – - absolute sum or not

Returns

the mean of the (absolute) sum

Public Static Functions

static inline const std::string static_datatype()
static inline const std::string static_dataname()

Protected Functions

inline size_t flat_index(size_t sample, size_t channel) const
inline size_t flat_index(size_t sample) const

Protected Attributes

size_t ncolumns_
size_t nsamples_
std::vector<std::string> labels_
std::vector<T> data_