#pragma once #include #include #include #include class TimingsDatabase { public: struct instance { time_t t; size_t npoints; double min, max, mean, median, stddev, npskew; std::vector deciles; }; public: TimingsDatabase(); TimingsDatabase(const std::string &filename); ~TimingsDatabase(); std::vector get(const char *name) const; void add(const char *name, const instance &data); private: bool load(); bool save(); private: std::string filename; std::multimap instances; };