11 using Clock = std::chrono::high_resolution_clock;
14 explicit Timer(std::size_t num_iterations = 0,
15 double auto_print = -1.,
16 bool erase_lines =
false);
17 Timer(std::size_t num_iterations,
18 std::chrono::duration<double> auto_print,
19 bool erase_lines =
false);
20 explicit Timer(
const std::string &label,
21 std::size_t num_iterations = 0,
22 double auto_print = -1.,
23 bool erase_lines =
false);
24 Timer(
const std::string &label,
25 std::size_t num_iterations,
26 std::chrono::duration<double> auto_print,
27 bool erase_lines =
false);
37 void Restart(std::size_t num_iterations);
42 friend std::ostream &
operator<<(std::ostream &stream,
const Timer &timer);
54 const std::string &
Label()
const;
std::chrono::duration< double > AutoPrintTime() const
std::chrono::high_resolution_clock Clock
std::size_t Iteration() const
Timer & operator=(const Timer &)=default
std::chrono::duration< double > auto_print_
std::size_t num_iterations_
Timer(std::size_t num_iterations=0, double auto_print=-1., bool erase_lines=false)
std::chrono::duration< double > RemainingTime() const
const std::string & Label() const
std::chrono::duration< double > ElapsedTime() const
std::size_t NumIterations() const
Clock::time_point TimeType
friend std::ostream & operator<<(std::ostream &stream, const Timer &timer)