| #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(); |