UFO 1.0.0
An Efficient Probabilistic 3D Mapping Framework That Embraces the Unknown
Loading...
Searching...
No Matches
ufo::Timer Class Reference

Public Member Functions

template<class Period = std::chrono::seconds::period>
double current () const
 
double currentMicroseconds () const
 
double currentMilliseconds () const
 
double currentNanoseconds () const
 
double currentSeconds () const
 
template<class Period = std::chrono::seconds::period>
double last () const
 
double lastMicroseconds () const
 
double lastMilliseconds () const
 
double lastNanoseconds () const
 
double lastSeconds () const
 
template<class Period = std::chrono::seconds::period>
double max () const
 
double maxMicroseconds () const
 
double maxMilliseconds () const
 
double maxNanoseconds () const
 
double maxSeconds () const
 
template<class Period = std::chrono::seconds::period>
double mean () const
 
double meanMicroseconds () const
 
double meanMilliseconds () const
 
double meanNanoseconds () const
 
double meanSeconds () const
 
template<class Period = std::chrono::seconds::period>
double min () const
 
double minMicroseconds () const
 
double minMilliseconds () const
 
double minNanoseconds () const
 
double minSeconds () const
 
int numSamples () const
 
Timeroperator+= (Timer rhs)
 
Timeroperator-= (Timer rhs)
 
void pause ()
 
bool paused () const
 
template<class Period = std::chrono::seconds::period>
double populationVariance () const
 
double populationVarianceMicroseconds () const
 
double populationVarianceMilliseconds () const
 
double populationVarianceNanoseconds () const
 
double populationVarianceSeconds () const
 
void reset ()
 
void resetCurrent ()
 
void resume ()
 
bool running () const
 
template<class Period = std::chrono::seconds::period>
double sampleVariance () const
 
double sampleVarianceMicroseconds () const
 
double sampleVarianceMilliseconds () const
 
double sampleVarianceNanoseconds () const
 
double sampleVarianceSeconds () const
 
void start ()
 
template<class Period = std::chrono::seconds::period>
double std () const
 
double stdMicroseconds () const
 
double stdMilliseconds () const
 
double stdNanoseconds () const
 
double stdSeconds () const
 
void stop ()
 
template<class Period = std::chrono::seconds::period>
double total () const
 
double totalMicroseconds () const
 
double totalMilliseconds () const
 
double totalNanoseconds () const
 
double totalSeconds () const
 
template<class Period = std::chrono::seconds::period>
double variance () const
 
double varianceMicroseconds () const
 
double varianceMilliseconds () const
 
double varianceNanoseconds () const
 
double varianceSeconds () const
 

Protected Member Functions

void addSample (std::chrono::time_point< std::chrono::high_resolution_clock > start, std::chrono::time_point< std::chrono::high_resolution_clock > stop)
 
void start (std::chrono::time_point< std::chrono::high_resolution_clock > time)
 
void stop (std::chrono::time_point< std::chrono::high_resolution_clock > time)
 

Protected Attributes

std::chrono::high_resolution_clock::duration current_
 
std::chrono::time_point< std::chrono::high_resolution_clock > start_ = {}
 

Friends

Timer operator+ (Timer lhs, Timer rhs)
 
Timer operator- (Timer lhs, Timer rhs)
 
class Timing
 

Detailed Description

Definition at line 51 of file timer.hpp.

Member Function Documentation

◆ addSample()

void ufo::Timer::addSample ( std::chrono::time_point< std::chrono::high_resolution_clock >  start,
std::chrono::time_point< std::chrono::high_resolution_clock >  stop 
)
protected

Definition at line 300 of file timer.cpp.

◆ current()

template<class Period = std::chrono::seconds::period>
double ufo::Timer::current ( ) const
inline

Definition at line 114 of file timer.hpp.

◆ currentMicroseconds()

double ufo::Timer::currentMicroseconds ( ) const

Definition at line 131 of file timer.cpp.

◆ currentMilliseconds()

double ufo::Timer::currentMilliseconds ( ) const

Definition at line 126 of file timer.cpp.

◆ currentNanoseconds()

double ufo::Timer::currentNanoseconds ( ) const

Definition at line 136 of file timer.cpp.

◆ currentSeconds()

double ufo::Timer::currentSeconds ( ) const

Definition at line 124 of file timer.cpp.

◆ last()

template<class Period = std::chrono::seconds::period>
double ufo::Timer::last ( ) const
inline

Definition at line 130 of file timer.hpp.

◆ lastMicroseconds()

double ufo::Timer::lastMicroseconds ( ) const

Definition at line 148 of file timer.cpp.

◆ lastMilliseconds()

double ufo::Timer::lastMilliseconds ( ) const

Definition at line 143 of file timer.cpp.

◆ lastNanoseconds()

double ufo::Timer::lastNanoseconds ( ) const

Definition at line 153 of file timer.cpp.

◆ lastSeconds()

double ufo::Timer::lastSeconds ( ) const

Definition at line 141 of file timer.cpp.

◆ max()

template<class Period = std::chrono::seconds::period>
double ufo::Timer::max ( ) const
inline

Definition at line 173 of file timer.hpp.

◆ maxMicroseconds()

double ufo::Timer::maxMicroseconds ( ) const

Definition at line 184 of file timer.cpp.

◆ maxMilliseconds()

double ufo::Timer::maxMilliseconds ( ) const

Definition at line 182 of file timer.cpp.

◆ maxNanoseconds()

double ufo::Timer::maxNanoseconds ( ) const

Definition at line 186 of file timer.cpp.

◆ maxSeconds()

double ufo::Timer::maxSeconds ( ) const

Definition at line 180 of file timer.cpp.

◆ mean()

template<class Period = std::chrono::seconds::period>
double ufo::Timer::mean ( ) const
inline

Definition at line 188 of file timer.hpp.

◆ meanMicroseconds()

double ufo::Timer::meanMicroseconds ( ) const

Definition at line 195 of file timer.cpp.

◆ meanMilliseconds()

double ufo::Timer::meanMilliseconds ( ) const

Definition at line 190 of file timer.cpp.

◆ meanNanoseconds()

double ufo::Timer::meanNanoseconds ( ) const

Definition at line 200 of file timer.cpp.

◆ meanSeconds()

double ufo::Timer::meanSeconds ( ) const

Definition at line 188 of file timer.cpp.

◆ min()

template<class Period = std::chrono::seconds::period>
double ufo::Timer::min ( ) const
inline

Definition at line 158 of file timer.hpp.

◆ minMicroseconds()

double ufo::Timer::minMicroseconds ( ) const

Definition at line 176 of file timer.cpp.

◆ minMilliseconds()

double ufo::Timer::minMilliseconds ( ) const

Definition at line 174 of file timer.cpp.

◆ minNanoseconds()

double ufo::Timer::minNanoseconds ( ) const

Definition at line 178 of file timer.cpp.

◆ minSeconds()

double ufo::Timer::minSeconds ( ) const

Definition at line 172 of file timer.cpp.

◆ numSamples()

int ufo::Timer::numSamples ( ) const

Definition at line 267 of file timer.cpp.

◆ operator+=()

Timer & ufo::Timer::operator+= ( Timer  rhs)
Note
This will stop rhs (if it is running or paused) to add another sample.
Parameters
rhs
Returns
Timer&

Definition at line 43 of file timer.cpp.

◆ operator-=()

Timer & ufo::Timer::operator-= ( Timer  rhs)
Note
This will stop the rhs timer (if it is running or paused) to add another sample.
Parameters
rhs
Returns
Timer&

Definition at line 83 of file timer.cpp.

◆ pause()

void ufo::Timer::pause ( )

Definition at line 12 of file timer.cpp.

◆ paused()

bool ufo::Timer::paused ( ) const

Definition at line 119 of file timer.cpp.

◆ populationVariance()

template<class Period = std::chrono::seconds::period>
double ufo::Timer::populationVariance ( ) const
inline

Definition at line 248 of file timer.hpp.

◆ populationVarianceMicroseconds()

double ufo::Timer::populationVarianceMicroseconds ( ) const

Definition at line 257 of file timer.cpp.

◆ populationVarianceMilliseconds()

double ufo::Timer::populationVarianceMilliseconds ( ) const

Definition at line 252 of file timer.cpp.

◆ populationVarianceNanoseconds()

double ufo::Timer::populationVarianceNanoseconds ( ) const

Definition at line 262 of file timer.cpp.

◆ populationVarianceSeconds()

double ufo::Timer::populationVarianceSeconds ( ) const

Definition at line 247 of file timer.cpp.

◆ reset()

void ufo::Timer::reset ( )

Definition at line 20 of file timer.cpp.

◆ resetCurrent()

void ufo::Timer::resetCurrent ( )

Definition at line 35 of file timer.cpp.

◆ resume()

void ufo::Timer::resume ( )

Definition at line 18 of file timer.cpp.

◆ running()

bool ufo::Timer::running ( ) const

Definition at line 114 of file timer.cpp.

◆ sampleVariance()

template<class Period = std::chrono::seconds::period>
double ufo::Timer::sampleVariance ( ) const
inline

Definition at line 230 of file timer.hpp.

◆ sampleVarianceMicroseconds()

double ufo::Timer::sampleVarianceMicroseconds ( ) const

Definition at line 237 of file timer.cpp.

◆ sampleVarianceMilliseconds()

double ufo::Timer::sampleVarianceMilliseconds ( ) const

Definition at line 232 of file timer.cpp.

◆ sampleVarianceNanoseconds()

double ufo::Timer::sampleVarianceNanoseconds ( ) const

Definition at line 242 of file timer.cpp.

◆ sampleVarianceSeconds()

double ufo::Timer::sampleVarianceSeconds ( ) const

Definition at line 227 of file timer.cpp.

◆ start() [1/2]

void ufo::Timer::start ( )

Definition at line 10 of file timer.cpp.

◆ start() [2/2]

void ufo::Timer::start ( std::chrono::time_point< std::chrono::high_resolution_clock >  time)
protected

Definition at line 273 of file timer.cpp.

◆ std()

template<class Period = std::chrono::seconds::period>
double ufo::Timer::std ( ) const
inline

Definition at line 216 of file timer.hpp.

◆ stdMicroseconds()

double ufo::Timer::stdMicroseconds ( ) const

Definition at line 223 of file timer.cpp.

◆ stdMilliseconds()

double ufo::Timer::stdMilliseconds ( ) const

Definition at line 221 of file timer.cpp.

◆ stdNanoseconds()

double ufo::Timer::stdNanoseconds ( ) const

Definition at line 225 of file timer.cpp.

◆ stdSeconds()

double ufo::Timer::stdSeconds ( ) const

Definition at line 219 of file timer.cpp.

◆ stop() [1/2]

void ufo::Timer::stop ( )

Definition at line 41 of file timer.cpp.

◆ stop() [2/2]

void ufo::Timer::stop ( std::chrono::time_point< std::chrono::high_resolution_clock >  time)
protected

Definition at line 278 of file timer.cpp.

◆ total()

template<class Period = std::chrono::seconds::period>
double ufo::Timer::total ( ) const
inline

Definition at line 144 of file timer.hpp.

◆ totalMicroseconds()

double ufo::Timer::totalMicroseconds ( ) const

Definition at line 162 of file timer.cpp.

◆ totalMilliseconds()

double ufo::Timer::totalMilliseconds ( ) const

Definition at line 157 of file timer.cpp.

◆ totalNanoseconds()

double ufo::Timer::totalNanoseconds ( ) const

Definition at line 167 of file timer.cpp.

◆ totalSeconds()

double ufo::Timer::totalSeconds ( ) const

Definition at line 155 of file timer.cpp.

◆ variance()

template<class Period = std::chrono::seconds::period>
double ufo::Timer::variance ( ) const
inline

Definition at line 202 of file timer.hpp.

◆ varianceMicroseconds()

double ufo::Timer::varianceMicroseconds ( ) const

Definition at line 209 of file timer.cpp.

◆ varianceMilliseconds()

double ufo::Timer::varianceMilliseconds ( ) const

Definition at line 204 of file timer.cpp.

◆ varianceNanoseconds()

double ufo::Timer::varianceNanoseconds ( ) const

Definition at line 214 of file timer.cpp.

◆ varianceSeconds()

double ufo::Timer::varianceSeconds ( ) const

Definition at line 202 of file timer.cpp.

Friends And Related Symbol Documentation

◆ operator+

Timer operator+ ( Timer  lhs,
Timer  rhs 
)
friend
Note
This will stop both lhs and rhs (if running or paused) to add another sample.
Parameters
rhs
Returns
Timer&

Definition at line 69 of file timer.cpp.

◆ operator-

Timer operator- ( Timer  lhs,
Timer  rhs 
)
friend
Note
This will stop both lhs and rhs (if running or paused) to add another sample.
Parameters
rhs
Returns
Timer&

Definition at line 100 of file timer.cpp.

◆ Timing

friend class Timing
friend

Definition at line 303 of file timer.hpp.

Member Data Documentation

◆ current_

std::chrono::high_resolution_clock::duration ufo::Timer::current_
protected
Initial value:
=
std::chrono::high_resolution_clock::duration::zero()

Definition at line 285 of file timer.hpp.

◆ start_

std::chrono::time_point<std::chrono::high_resolution_clock> ufo::Timer::start_ = {}
protected

Definition at line 283 of file timer.hpp.


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