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