Classes | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
benchmark::internal::Benchmark Class Referenceabstract

#include <benchmark.h>

Inheritance diagram for benchmark::internal::Benchmark:
Inheritance graph
[legend]

Classes

struct  Instance
 

Public Member Functions

BenchmarkApply (void(*func)(Benchmark *benchmark))
 
BenchmarkArg (int x)
 
BenchmarkArgName (const std::string &name)
 
BenchmarkArgNames (const std::vector< std::string > &names)
 
BenchmarkArgPair (int x, int y)
 
BenchmarkArgs (const std::vector< int > &args)
 
BenchmarkComplexity (BigO complexity=benchmark::oAuto)
 
BenchmarkComplexity (BigOFunc *complexity)
 
BenchmarkDenseRange (int start, int limit, int step=1)
 
BenchmarkDenseThreadRange (int min_threads, int max_threads, int stride=1)
 
BenchmarkIterations (size_t n)
 
BenchmarkMinTime (double t)
 
BenchmarkRange (int start, int limit)
 
BenchmarkRangeMultiplier (int multiplier)
 
BenchmarkRangePair (int lo1, int hi1, int lo2, int hi2)
 
BenchmarkRanges (const std::vector< std::pair< int, int > > &ranges)
 
BenchmarkRepetitions (int n)
 
BenchmarkReportAggregatesOnly (bool value=true)
 
virtual void Run (State &state)=0
 
BenchmarkThreadPerCpu ()
 
BenchmarkThreadRange (int min_threads, int max_threads)
 
BenchmarkThreads (int t)
 
BenchmarkUnit (TimeUnit unit)
 
BenchmarkUseManualTime ()
 
BenchmarkUseRealTime ()
 
virtual ~Benchmark ()
 

Protected Member Functions

int ArgsCnt () const
 
 Benchmark (Benchmark const &)
 
 Benchmark (const char *name)
 
void SetName (const char *name)
 

Static Protected Member Functions

static void AddRange (std::vector< int > *dst, int lo, int hi, int mult)
 

Private Member Functions

Benchmarkoperator= (Benchmark const &)
 

Private Attributes

std::vector< std::stringarg_names_
 
std::vector< std::vector< int > > args_
 
BigO complexity_
 
BigOFunccomplexity_lambda_
 
size_t iterations_
 
double min_time_
 
std::string name_
 
int range_multiplier_
 
int repetitions_
 
ReportMode report_mode_
 
std::vector< int > thread_counts_
 
TimeUnit time_unit_
 
bool use_manual_time_
 
bool use_real_time_
 

Friends

class BenchmarkFamilies
 

Detailed Description

Definition at line 583 of file benchmark.h.

Constructor & Destructor Documentation

◆ ~Benchmark()

benchmark::internal::Benchmark::~Benchmark ( )
virtual

Definition at line 241 of file benchmark_register.cc.

◆ Benchmark() [1/2]

benchmark::internal::Benchmark::Benchmark ( const char *  name)
explicitprotected

Definition at line 228 of file benchmark_register.cc.

◆ Benchmark() [2/2]

benchmark::internal::Benchmark::Benchmark ( Benchmark const &  )
protected

Member Function Documentation

◆ AddRange()

void benchmark::internal::Benchmark::AddRange ( std::vector< int > *  dst,
int  lo,
int  hi,
int  mult 
)
staticprotected

Definition at line 243 of file benchmark_register.cc.

◆ Apply()

Benchmark * benchmark::internal::Benchmark::Apply ( void(*)(Benchmark *benchmark)  func)

Definition at line 349 of file benchmark_register.cc.

◆ Arg()

Benchmark * benchmark::internal::Benchmark::Arg ( int  x)

Definition at line 266 of file benchmark_register.cc.

◆ ArgName()

Benchmark * benchmark::internal::Benchmark::ArgName ( const std::string name)

Definition at line 321 of file benchmark_register.cc.

◆ ArgNames()

Benchmark * benchmark::internal::Benchmark::ArgNames ( const std::vector< std::string > &  names)

Definition at line 327 of file benchmark_register.cc.

◆ ArgPair()

Benchmark* benchmark::internal::Benchmark::ArgPair ( int  x,
int  y 
)
inline

Definition at line 616 of file benchmark.h.

◆ Args()

Benchmark * benchmark::internal::Benchmark::Args ( const std::vector< int > &  args)

Definition at line 343 of file benchmark_register.cc.

◆ ArgsCnt()

int benchmark::internal::Benchmark::ArgsCnt ( ) const
protected

Definition at line 447 of file benchmark_register.cc.

◆ Complexity() [1/2]

Benchmark * benchmark::internal::Benchmark::Complexity ( BigO  complexity = benchmark::oAuto)

Definition at line 401 of file benchmark_register.cc.

◆ Complexity() [2/2]

Benchmark * benchmark::internal::Benchmark::Complexity ( BigOFunc complexity)

Definition at line 406 of file benchmark_register.cc.

◆ DenseRange()

Benchmark * benchmark::internal::Benchmark::DenseRange ( int  start,
int  limit,
int  step = 1 
)

Definition at line 333 of file benchmark_register.cc.

◆ DenseThreadRange()

Benchmark * benchmark::internal::Benchmark::DenseThreadRange ( int  min_threads,
int  max_threads,
int  stride = 1 
)

Definition at line 426 of file benchmark_register.cc.

◆ Iterations()

Benchmark * benchmark::internal::Benchmark::Iterations ( size_t  n)

Definition at line 369 of file benchmark_register.cc.

◆ MinTime()

Benchmark * benchmark::internal::Benchmark::MinTime ( double  t)

Definition at line 361 of file benchmark_register.cc.

◆ operator=()

Benchmark& benchmark::internal::Benchmark::operator= ( Benchmark const &  )
private

◆ Range()

Benchmark * benchmark::internal::Benchmark::Range ( int  start,
int  limit 
)

Definition at line 277 of file benchmark_register.cc.

◆ RangeMultiplier()

Benchmark * benchmark::internal::Benchmark::RangeMultiplier ( int  multiplier)

Definition at line 354 of file benchmark_register.cc.

◆ RangePair()

Benchmark* benchmark::internal::Benchmark::RangePair ( int  lo1,
int  hi1,
int  lo2,
int  hi2 
)
inline

Definition at line 638 of file benchmark.h.

◆ Ranges()

Benchmark * benchmark::internal::Benchmark::Ranges ( const std::vector< std::pair< int, int > > &  ranges)

Definition at line 288 of file benchmark_register.cc.

◆ Repetitions()

Benchmark * benchmark::internal::Benchmark::Repetitions ( int  n)

Definition at line 376 of file benchmark_register.cc.

◆ ReportAggregatesOnly()

Benchmark * benchmark::internal::Benchmark::ReportAggregatesOnly ( bool  value = true)

Definition at line 382 of file benchmark_register.cc.

◆ Run()

virtual void benchmark::internal::Benchmark::Run ( State state)
pure virtual

◆ SetName()

void benchmark::internal::Benchmark::SetName ( const char *  name)
protected

Definition at line 445 of file benchmark_register.cc.

◆ ThreadPerCpu()

Benchmark * benchmark::internal::Benchmark::ThreadPerCpu ( )

Definition at line 439 of file benchmark_register.cc.

◆ ThreadRange()

Benchmark * benchmark::internal::Benchmark::ThreadRange ( int  min_threads,
int  max_threads 
)

Definition at line 418 of file benchmark_register.cc.

◆ Threads()

Benchmark * benchmark::internal::Benchmark::Threads ( int  t)

Definition at line 412 of file benchmark_register.cc.

◆ Unit()

Benchmark * benchmark::internal::Benchmark::Unit ( TimeUnit  unit)

Definition at line 272 of file benchmark_register.cc.

◆ UseManualTime()

Benchmark * benchmark::internal::Benchmark::UseManualTime ( )

Definition at line 394 of file benchmark_register.cc.

◆ UseRealTime()

Benchmark * benchmark::internal::Benchmark::UseRealTime ( )

Definition at line 387 of file benchmark_register.cc.

Friends And Related Function Documentation

◆ BenchmarkFamilies

friend class BenchmarkFamilies
friend

Definition at line 746 of file benchmark.h.

Member Data Documentation

◆ arg_names_

std::vector<std::string> benchmark::internal::Benchmark::arg_names_
private

Definition at line 750 of file benchmark.h.

◆ args_

std::vector<std::vector<int> > benchmark::internal::Benchmark::args_
private

Definition at line 751 of file benchmark.h.

◆ complexity_

BigO benchmark::internal::Benchmark::complexity_
private

Definition at line 759 of file benchmark.h.

◆ complexity_lambda_

BigOFunc* benchmark::internal::Benchmark::complexity_lambda_
private

Definition at line 760 of file benchmark.h.

◆ iterations_

size_t benchmark::internal::Benchmark::iterations_
private

Definition at line 755 of file benchmark.h.

◆ min_time_

double benchmark::internal::Benchmark::min_time_
private

Definition at line 754 of file benchmark.h.

◆ name_

std::string benchmark::internal::Benchmark::name_
private

Definition at line 748 of file benchmark.h.

◆ range_multiplier_

int benchmark::internal::Benchmark::range_multiplier_
private

Definition at line 753 of file benchmark.h.

◆ repetitions_

int benchmark::internal::Benchmark::repetitions_
private

Definition at line 756 of file benchmark.h.

◆ report_mode_

ReportMode benchmark::internal::Benchmark::report_mode_
private

Definition at line 749 of file benchmark.h.

◆ thread_counts_

std::vector<int> benchmark::internal::Benchmark::thread_counts_
private

Definition at line 761 of file benchmark.h.

◆ time_unit_

TimeUnit benchmark::internal::Benchmark::time_unit_
private

Definition at line 752 of file benchmark.h.

◆ use_manual_time_

bool benchmark::internal::Benchmark::use_manual_time_
private

Definition at line 758 of file benchmark.h.

◆ use_real_time_

bool benchmark::internal::Benchmark::use_real_time_
private

Definition at line 757 of file benchmark.h.


The documentation for this class was generated from the following files:


libaditof
Author(s):
autogenerated on Wed May 21 2025 02:07:06