27 #ifndef CLASSES_TIMER_H_
28 #define CLASSES_TIMER_H_
51 _start{std::chrono::steady_clock::now()}, _end{_start}
62 _start = _end = std::chrono::steady_clock::now();
74 _end = std::chrono::steady_clock::now();
86 return std::chrono::duration_cast<std::chrono::duration<double>>(
113 virtual ~Timer() =
default;
123 std::ostream&
display(std::ostream& os)
const override
const Timer & toc() noexcept
Stops the chronometer.
Definition: timer.h:72
Timer() noexcept
Constructs an instance with the current time as the starting point.
Definition: timer.h:50
std::chrono::steady_clock::time_point _end
Definition: timer.h:43
Quantum++ main namespace.
Definition: codes.h:30
virtual ~Timer()=default
Default virtual destructor.
Chronometer.
Definition: timer.h:40
Timer & operator=(const Timer &)=default
Default copy assignment operator.
Abstract class (interface) that mandates the definition of virtual std::ostream& display(std::ostream...
Definition: idisplay.h:43
std::chrono::steady_clock::time_point _start
Definition: timer.h:43
double seconds() const noexcept
Time passed in seconds.
Definition: timer.h:84
std::ostream & display(std::ostream &os) const override
qpp::IDisplay::display() override
Definition: timer.h:123
void tic() noexcept
Resets the chronometer.
Definition: timer.h:60