29 lines · plain
1 2#include <cassert>3#include <memory>4 5#include "benchmark/benchmark.h"6 7template <typename T>8class MyFixture : public ::benchmark::Fixture {9 public:10 MyFixture() : data(0) {}11 12 T data;13};14 15BENCHMARK_TEMPLATE_F(MyFixture, Foo, int)(benchmark::State& st) {16 for (auto _ : st) {17 data += 1;18 }19}20 21BENCHMARK_TEMPLATE_DEFINE_F(MyFixture, Bar, double)(benchmark::State& st) {22 for (auto _ : st) {23 data += 1.0;24 }25}26BENCHMARK_REGISTER_F(MyFixture, Bar);27 28BENCHMARK_MAIN();29