13#ifndef ML_TIME_COUNTER_H
14#define ML_TIME_COUNTER_H
Class to measure precise time intervals.
ML_UTILS_EXPORT void reset()
Reinitializes TimeCounter with the current time count as the start time.
ML_UTILS_EXPORT TimeCounter()
Constructs a time counter object and saves the current time count as a start value.
ML_UTILS_EXPORT MLdouble getCurrentValueInSeconds() const
Returns the current state of the time counter in seconds since an unknown start time base.
ML_UTILS_EXPORT MLdouble getStartValueInSeconds() const
Returns the start value of the time counter in seconds since an unknown start time base.
MLint64 _start
Counter value in counts on construction/reset time of first TimeCounter object.
ML_UTILS_EXPORT TimeCounter & operator=(const TimeCounter &originalCount)
Assigns the value from the TimeCounter originalCount to *this.
static ML_UTILS_EXPORT MLdouble getCountResolutionInSeconds()
Returns the time interval between two timer counts in seconds.
ML_UTILS_EXPORT MLint64 getRunningTimeInCounts() const
Returns the difference between current and start time in counts.
ML_UTILS_EXPORT MLint64 getStartValueInCounts() const
Returns the start (=reset, =construction) time of the counter in counts.
static ML_UTILS_EXPORT MLdouble getCountResolutionInNanoSeconds()
Returns the time interval between two timer counts in nano-seconds.
ML_UTILS_EXPORT MLdouble getRunningTimeInSeconds() const
Returns time difference between current and start time in seconds.
ML_UTILS_EXPORT MLint64 getCurrentValueInCounts() const
Returns the current state of the time counter in counts.
ML_UTILS_EXPORT TimeCounter(const TimeCounter &originalCount)
Constructs a new time counter with the time count of originalCount.
ML_UTILS_EXPORT MLdouble getRunningTimeInNanoSeconds() const
Returns time difference between current and start time in seconds.
Target mlrange_cast(Source arg)
Generic version of checked ML casts.
INT64 MLint64
Include 64 bit integer support for Windows or Unix.
#define ML_UTILS_EXPORT
Defines platform dependent DLL export macro for mlUtils.