Provides time interval measurements. More...
#include <StopWatch.h>
Classes | |
| struct | makeDurationTrait |
| Trait whose type member is a std::chrono::duration type. More... | |
| struct | makeDurationTrait< std::chrono::duration< Rep, Duration > > |
| struct | makeDurationTrait< std::ratio< Num, Den > > |
Public Types | |
| using | Clock_t = Clock |
| type of clock used to extract current time More... | |
| using | DefaultUnit_t = DefaultUnit |
| default unit for time report More... | |
| using | ElapsedTime_t = typename DefaultUnit_t::rep |
| Type representing the reported time. More... | |
Public Member Functions | |
| StopWatch (bool start=true) | |
| Initializes and starts the timer. More... | |
| template<typename Unit > | |
| StopWatch (Unit prev, bool start=true) | |
| Initializes and starts the timer. More... | |
| template<typename Unit > | |
| testing::StopWatch < DefaultUnit, Clock > ::ElapsedTime_t | elapsed () const |
| template<typename Unit > | |
| testing::StopWatch < DefaultUnit, Clock > ::ElapsedTime_t | partial () const |
| template<typename Unit > | |
| testing::StopWatch < DefaultUnit, Clock > ::ElapsedTime_t | previous () const |
Watch control | |
| void | restart () |
| Restarts the watch; previous time is forgotten. More... | |
| void | resume () |
| Resumes the run of the watch; previous time is preserved. More... | |
| void | stop () |
| Pauses the watch. More... | |
| template<typename Unit = DefaultUnit_t> | |
| void | setPrevious (Unit dur) |
| Changes the amount of time accumulated before this run. More... | |
Query | |
| template<typename Unit = DefaultUnit_t> | |
| ElapsedTime_t | elapsed () const |
| Returns the total time spent running since the last restart. More... | |
| template<typename Unit = DefaultUnit_t> | |
| ElapsedTime_t | partial () const |
| Returns the time spent running since the last resume. More... | |
| template<typename Unit = DefaultUnit_t> | |
| ElapsedTime_t | previous () const |
| Returns the time accumulated before the current run. More... | |
| bool | running () const |
| Returns whether the watch is tracking time right now. More... | |
Protected Types | |
| using | TimePoint_t = decltype(Clock_t::now()) |
| type to store start time More... | |
| template<typename Unit > | |
| using | makeDuration_t = typename makeDurationTrait< Unit >::type |
| Type of std::chrono::duration type constructed from makeDurationTrait. More... | |
Protected Member Functions | |
| DefaultUnit_t | partialDur () const |
| Returns partial time as a duration. More... | |
Static Protected Member Functions | |
| static TimePoint_t | now () |
| Returns the current time point from our clock. More... | |
| template<typename Unit , typename From > | |
| static auto | durationTo (From const &dur) |
| Convert a duration into a unit (may be a ratio or a duration) More... | |
Protected Attributes | |
| TimePoint_t | lastStart |
| time of the last start More... | |
| DefaultUnit_t | previousTime |
| time accumulated from previous runs More... | |
| bool | isRunning |
| whether we are measuring time now More... | |
Provides time interval measurements.
| DefaultUnit | unit reported by default (seconds, floating point) |
| Clock | type of clock object used (default: high_resolution_clock) |
The stopwatch keeps track of the clock and can return the time elapsed from a previous time mark. Example of use:
The time from all methods returning a value are in the DefaultUnit_t unit.
On DefaultUnit type:
On Clock type:
now() static function returning std::chrono::time_point Definition at line 79 of file StopWatch.h.
| using testing::StopWatch< DefaultUnit, Clock >::Clock_t = Clock |
type of clock used to extract current time
Definition at line 84 of file StopWatch.h.
| using testing::StopWatch< DefaultUnit, Clock >::DefaultUnit_t = DefaultUnit |
default unit for time report
Definition at line 85 of file StopWatch.h.
| using testing::StopWatch< DefaultUnit, Clock >::ElapsedTime_t = typename DefaultUnit_t::rep |
Type representing the reported time.
Definition at line 88 of file StopWatch.h.
|
protected |
Type of std::chrono::duration type constructed from makeDurationTrait.
Definition at line 164 of file StopWatch.h.
|
protected |
type to store start time
Definition at line 145 of file StopWatch.h.
| testing::StopWatch< DefaultUnit, Clock >::StopWatch | ( | bool | start = true | ) |
Initializes and starts the timer.
| start | whether to start immediately (default: true) |
Definition at line 199 of file StopWatch.h.
| testing::StopWatch< DefaultUnit, Clock >::StopWatch | ( | Unit | prev, |
| bool | start = true |
||
| ) |
Initializes and starts the timer.
| prev | time already accumulated on start |
| start | whether to start immediately (default: true) |
Definition at line 209 of file StopWatch.h.
|
staticprotected |
Convert a duration into a unit (may be a ratio or a duration)
Definition at line 326 of file StopWatch.h.
| ElapsedTime_t testing::StopWatch< DefaultUnit, Clock >::elapsed | ( | ) | const |
Returns the total time spent running since the last restart.
| testing::StopWatch<DefaultUnit, Clock>::ElapsedTime_t testing::StopWatch< DefaultUnit, Clock >::elapsed | ( | ) | const |
Definition at line 254 of file StopWatch.h.
|
staticprotected |
| ElapsedTime_t testing::StopWatch< DefaultUnit, Clock >::partial | ( | ) | const |
Returns the time spent running since the last resume.
| testing::StopWatch<DefaultUnit, Clock>::ElapsedTime_t testing::StopWatch< DefaultUnit, Clock >::partial | ( | ) | const |
Definition at line 264 of file StopWatch.h.
|
protected |
Returns partial time as a duration.
Definition at line 294 of file StopWatch.h.
| ElapsedTime_t testing::StopWatch< DefaultUnit, Clock >::previous | ( | ) | const |
Returns the time accumulated before the current run.
| testing::StopWatch<DefaultUnit, Clock>::ElapsedTime_t testing::StopWatch< DefaultUnit, Clock >::previous | ( | ) | const |
Definition at line 273 of file StopWatch.h.
| void testing::StopWatch< DefaultUnit, Clock >::restart | ( | ) |
Restarts the watch; previous time is forgotten.
Definition at line 218 of file StopWatch.h.
| void testing::StopWatch< DefaultUnit, Clock >::resume | ( | ) |
Resumes the run of the watch; previous time is preserved.
Definition at line 227 of file StopWatch.h.
| bool testing::StopWatch< DefaultUnit, Clock >::running | ( | ) | const |
Returns whether the watch is tracking time right now.
Definition at line 280 of file StopWatch.h.
| void testing::StopWatch< DefaultUnit, Clock >::setPrevious | ( | Unit | dur | ) |
Changes the amount of time accumulated before this run.
Definition at line 245 of file StopWatch.h.
| void testing::StopWatch< DefaultUnit, Clock >::stop | ( | ) |
Pauses the watch.
Definition at line 236 of file StopWatch.h.
|
protected |
whether we are measuring time now
Definition at line 149 of file StopWatch.h.
|
protected |
time of the last start
Definition at line 147 of file StopWatch.h.
|
protected |
time accumulated from previous runs
Definition at line 148 of file StopWatch.h.
1.8.5