#ifndef DDS_TIMERGROUP_H
#define DDS_TIMERGROUP_H
#include <string>
#include <vector>
#include <system/timer.hpp>
class TimerGroup
{
private:
std::vector<Timer> timers;
std::string bname;
public:
TimerGroup();
~TimerGroup();
void Reset();
void SetNames(const std::string& baseName);
void Start(const unsigned no);
void End(const unsigned no);
bool Used() const;
void Differentiate();
void Sum(Timer& sum) const;
void operator -= (const TimerGroup& deduct);
std::string Header() const;
std::string DetailHeader() const;
std::string SumLine(const Timer& sumTotal) const;
std::string TimerLines(const Timer& sumTotal) const;
std::string DetailLines() const;
std::string DashLine() const;
};
#endif