27 lines
484 B
C++
27 lines
484 B
C++
|
|
#include <cassert>
|
|
#include <memory>
|
|
|
|
#include "benchmark/benchmark.h"
|
|
|
|
template <typename T>
|
|
class MyFixture : public ::benchmark::Fixture {
|
|
public:
|
|
MyFixture() : data(0) {}
|
|
|
|
T data;
|
|
|
|
using type = T;
|
|
};
|
|
|
|
BENCHMARK_TEMPLATE_METHOD_F(MyFixture, Foo)(benchmark::State& st) {
|
|
for (auto _ : st) {
|
|
this->data += typename Base::type(1);
|
|
}
|
|
}
|
|
|
|
BENCHMARK_TEMPLATE_INSTANTIATE_F(MyFixture, Foo, int);
|
|
BENCHMARK_TEMPLATE_INSTANTIATE_F(MyFixture, Foo, double);
|
|
|
|
BENCHMARK_MAIN();
|