#ifndef BENCHMARK_API_INTERNAL_H #define BENCHMARK_API_INTERNAL_H #include "benchmark/benchmark.h" #include "commandlineflags.h" #include #include #include #include #include #include namespace benchmark { namespace internal { // Information kept per benchmark we may want to run struct BenchmarkInstance { std::string name; Benchmark* benchmark; AggregationReportMode aggregation_report_mode; std::vector arg; TimeUnit time_unit; int range_multiplier; bool use_real_time; bool use_manual_time; BigO complexity; BigOFunc* complexity_lambda; UserCounters counters; const std::vector* statistics; bool last_benchmark_instance; int repetitions; double min_time; size_t iterations; int threads; // Number of concurrent threads to us State Run(size_t iters, int thread_id, internal::ThreadTimer* timer, internal::ThreadManager* manager) const; }; bool FindBenchmarksInternal(const std::string& re, std::vector* benchmarks, std::ostream* Err); bool IsZero(double n); ConsoleReporter::OutputOptions GetOutputOptions(bool force_no_color = false); } // end namespace internal } // end namespace benchmark #endif // BENCHMARK_API_INTERNAL_H