1
Fork 0
turbonss/cxxmph/benchmark.h

33 lines
547 B
C
Raw Normal View History

2011-02-19 00:15:24 +02:00
#ifndef __CXXMPH_BENCHMARK_H__
#define __CXXMPH_BENCHMARK_H__
#include <string>
#include <typeinfo>
namespace cxxmph {
class Benchmark {
public:
Benchmark() {}
virtual ~Benchmark() {}
2011-02-19 00:15:24 +02:00
const std::string& name() { return name_; }
void set_name(const std::string& name) { name_ = name; }
static void Register(Benchmark* bm);
static void RunAll();
protected:
virtual bool SetUp() {};
virtual void Run() = 0;
virtual bool TearDown() {};
2011-02-19 00:15:24 +02:00
private:
std::string name_;
void MeasureRun();
};
} // namespace cxxmph
#endif