#include "benchmark/benchmark.h" | |
#include <cassert> | |
#include <memory> | |
template <typename T> | |
class MyFixture : public ::benchmark::Fixture { | |
public: | |
MyFixture() : data(0) {} | |
T data; | |
}; | |
BENCHMARK_TEMPLATE_F(MyFixture, Foo, int)(benchmark::State& st) { | |
for (auto _ : st) { | |
data += 1; | |
} | |
} | |
BENCHMARK_TEMPLATE_DEFINE_F(MyFixture, Bar, double)(benchmark::State& st) { | |
for (auto _ : st) { | |
data += 1.0; | |
} | |
} | |
BENCHMARK_REGISTER_F(MyFixture, Bar); | |
BENCHMARK_MAIN(); |