Template Class RecordableData

Inheritance Relationships

Base Type

Class Documentation

template<typename ...Args>
class RecordableData : public RecordableDataInterface

Data container class with sequential recording API.

Template Parameters:

...Args – Trace point data types.

Public Types

using FuncT = void(Args...)
using StdFuncT = std::function<void(Args...)>

Public Functions

inline explicit RecordableData(std::string trace_point)

Construct an instance.

Parameters:

trace_point – Trace point name for this instance.

inline explicit RecordableData(char *trace_point)

Construct an instance.

Parameters:

trace_point – Trace point name for this instance.

inline ~RecordableData() override
inline void assign(StdFuncT function)

Assign recording function.

Parameters:

function – recording function.

inline virtual void start() override

Move on to recording state.

inline bool store(Args... args)

Store new data.

Parameters:

data – to store.

Returns:

True, data was stored to pending set.

Returns:

False, data was stored to set.

inline virtual void reset() override

Reset recording status.

inline bool is_assigned() const

Check whether recording function is assigned.

Returns:

True if recording function is assigned, false otherwise.

inline virtual size_t size() const override

Get size.

Returns:

data size.

inline virtual size_t pending_size() const override

Get pending data size.

Returns:

pending data size.

inline virtual bool finished() const override

Check whether recording is finished.

Returns:

True if recording is finished, false otherwise.

inline virtual bool is_recording() const override

Check whether recording is ongoing.

Returns:

True if recording is ongoing, false otherwise.

inline virtual void record_next_one() override

Record next data.

inline const KeyT &get() const

Det iterating data.

Returns:

Current iterating data.

inline virtual const std::string &trace_point() const override

Get trace point name.

Returns:

trace point name.