Your assessment is correct.
```
static void BM_Interpret(benchmark::State& state, const char* input) {
for (auto _ : state) {
Interpret(input);
}
st.SetLabel(input)
}
int main(int argc, char** argv) {
std::array<std::pair<const char*, const char*>> cases = {
{"test1", "1+1"},
{"test2", "1+2"},
{"test3", "1*1"}};
for (auto const& c : cases) {
benchmark::RegisterBenchmark(c.first, BM_Interpret, c.second);
}
benchmark::Initialize(&argc, argv);
size_t num_ran = benchmark::RunSpecifiedBenchmarks();
assert(num_ran == cases.size());
return 0;
}
```
Dominic Hamon | Google
There are no bad ideas; only good ideas that go horribly wrong.