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

source code of third-party/benchmark/test/templated_fixture_test.cc