#include <TimingProfile.h>


struct  Timer

Public Member Functions

 TimingProfile ()
virtual ~TimingProfile ()
void Clear ()
void Reset (const std::string &label)
void Start (const std::string &label)
void Stop (const std::string &label)
double GetElapsedTime_s (const std::string &label)
template<typename Duration >
Duration::rep GetElapsedTime (const std::string &label)

Private Types

enum  State { State::Ready, State::Running, State::Ran }
using Clock = std::chrono::high_resolution_clock

Private Attributes

std::map< std::string, Timerm_timers

Member Typedef Documentation

◆ Clock

using TimingProfile::Clock = std::chrono::high_resolution_clock

Member Enumeration Documentation

◆ State

enum TimingProfile::State

Constructor & Destructor Documentation

◆ TimingProfile()

TimingProfile::TimingProfile ( )

◆ ~TimingProfile()

virtual TimingProfile::~TimingProfile ( )

Member Function Documentation

◆ Clear()

void TimingProfile::Clear ( )

◆ GetElapsedTime()

template<typename Duration >
Duration::rep TimingProfile::GetElapsedTime ( const std::string &  label)

Returns the elapsed time for a particular timer

◆ GetElapsedTime_s()

double TimingProfile::GetElapsedTime_s ( const std::string &  label)

Returns the total elapsed time in seconds to three decimal places. If the timer is running, this function returns the elapsed time up until now. If the timer has been stopped, this function returns the elapsed time between the start and stop. If the timer hasn't been run yet (Ready state), this function returns 0.

◆ Reset()

void TimingProfile::Reset ( const std::string &  label)

Resets the timer, this can have different effects based on the state of the timer: 1) Ready - No effect 2) Running - Resets the elapsed time to zero and continues running 3) Ran - Resets the elapsed time to zero and places the timer back into the Ready state

◆ Start()

void TimingProfile::Start ( const std::string &  label)

Starts the timer. Calling Start while the timer is running will reset its elapsed time. Calling Start after the timer has been started and stopped will reset its elapsed time, it does not pause and unpause the running elapsed time.

◆ Stop()

void TimingProfile::Stop ( const std::string &  label)

Stops the timer, elapsed time will remain constant until calling Reset or Start

Member Data Documentation

◆ m_timers

std::map<std::string, Timer> TimingProfile::m_timers

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.