@@ -116,7 +116,7 @@ void UseCharPointer(char const volatile*) {}
116116namespace {
117117
118118BenchmarkReporter::Run CreateRunReport (
119- const benchmark::internal::Benchmark::Instance & b,
119+ const benchmark::internal::BenchmarkInstance & b,
120120 const internal::ThreadManager::Result& results, size_t memory_iterations,
121121 const MemoryManager::Result& memory_result, double seconds) {
122122 // Create report about this benchmark run.
@@ -170,31 +170,29 @@ BenchmarkReporter::Run CreateRunReport(
170170
171171// Execute one thread of benchmark b for the specified number of iterations.
172172// Adds the stats collected for the thread into *total.
173- void RunInThread (const benchmark::internal::Benchmark::Instance* b,
174- size_t iters, int thread_id,
175- internal::ThreadManager* manager) {
173+ void RunInThread (const internal::BenchmarkInstance* b, size_t iters,
174+ int thread_id, internal::ThreadManager* manager) {
176175 internal::ThreadTimer timer;
177- State st (iters, b->arg , thread_id, b->threads , &timer, manager);
178- b->benchmark ->Run (st);
179- CHECK (st.iterations () >= st.max_iterations )
176+ std::unique_ptr<State> st = b->Run (iters, thread_id, &timer, manager);
177+ CHECK (st->iterations () >= st->max_iterations )
180178 << " Benchmark returned before State::KeepRunning() returned false!" ;
181179 {
182180 MutexLock l (manager->GetBenchmarkMutex ());
183181 internal::ThreadManager::Result& results = manager->results ;
184- results.iterations += st. iterations ();
182+ results.iterations += st-> iterations ();
185183 results.cpu_time_used += timer.cpu_time_used ();
186184 results.real_time_used += timer.real_time_used ();
187185 results.manual_time_used += timer.manual_time_used ();
188- results.bytes_processed += st. bytes_processed ();
189- results.items_processed += st. items_processed ();
190- results.complexity_n += st. complexity_length_n ();
191- internal::Increment (&results.counters , st. counters );
186+ results.bytes_processed += st-> bytes_processed ();
187+ results.items_processed += st-> items_processed ();
188+ results.complexity_n += st-> complexity_length_n ();
189+ internal::Increment (&results.counters , st-> counters );
192190 }
193191 manager->NotifyThreadComplete ();
194192}
195193
196194std::vector<BenchmarkReporter::Run> RunBenchmark (
197- const benchmark::internal::Benchmark::Instance & b,
195+ const benchmark::internal::BenchmarkInstance & b,
198196 std::vector<BenchmarkReporter::Run>* complexity_reports) {
199197 std::vector<BenchmarkReporter::Run> reports; // return value
200198
@@ -423,7 +421,7 @@ void State::FinishKeepRunning() {
423421namespace internal {
424422namespace {
425423
426- void RunBenchmarks (const std::vector<Benchmark::Instance >& benchmarks,
424+ void RunBenchmarks (const std::vector<BenchmarkInstance >& benchmarks,
427425 BenchmarkReporter* console_reporter,
428426 BenchmarkReporter* file_reporter) {
429427 // Note the file_reporter can be null.
@@ -433,7 +431,7 @@ void RunBenchmarks(const std::vector<Benchmark::Instance>& benchmarks,
433431 bool has_repetitions = FLAGS_benchmark_repetitions > 1 ;
434432 size_t name_field_width = 10 ;
435433 size_t stat_field_width = 0 ;
436- for (const Benchmark::Instance & benchmark : benchmarks) {
434+ for (const BenchmarkInstance & benchmark : benchmarks) {
437435 name_field_width =
438436 std::max<size_t >(name_field_width, benchmark.name .size ());
439437 has_repetitions |= benchmark.repetitions > 1 ;
@@ -567,7 +565,7 @@ size_t RunSpecifiedBenchmarks(BenchmarkReporter* console_reporter,
567565 file_reporter->SetErrorStream (&output_file);
568566 }
569567
570- std::vector<internal::Benchmark::Instance > benchmarks;
568+ std::vector<internal::BenchmarkInstance > benchmarks;
571569 if (!FindBenchmarksInternal (spec, &benchmarks, &Err)) return 0 ;
572570
573571 if (benchmarks.empty ()) {
0 commit comments