Cbc  2.9.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
CoinTimer Class Reference

This class implements a timer that also implements a tracing functionality. More...

#include <CoinTime.hpp>

Public Member Functions

 CoinTimer ()
 Default constructor creates a timer with no time limit and no tracing. More...
 
 CoinTimer (double lim)
 Create a timer with the given time limit and with no tracing. More...
 
void restart ()
 Restart the timer (keeping the same time limit) More...
 
void reset ()
 An alternate name for restart() More...
 
void reset (double lim)
 Reset (and restart) the timer and change its time limit. More...
 
bool isPastPercent (double pct) const
 Return whether the given percentage of the time limit has elapsed since the timer was started. More...
 
bool isPast (double lim) const
 Return whether the given amount of time has elapsed since the timer was started. More...
 
bool isExpired () const
 Return whether the originally specified time limit has passed since the timer was started. More...
 
double timeLeft () const
 Return how much time is left on the timer. More...
 
double timeElapsed () const
 Return how much time has elapsed. More...
 
void setLimit (double l)
 

Private Member Functions

bool evaluate (const bool b_tmp) const
 
double evaluate (const double d_tmp) const
 

Private Attributes

double start
 When the timer was initialized/reset/restarted. More...
 
double limit
 
double end
 

Detailed Description

This class implements a timer that also implements a tracing functionality.

The timer stores the start time of the timer, for how much time it was set to and when does it expire (start + limit = end). Queries can be made that tell whether the timer is expired, is past an absolute time, is past a percentage of the length of the timer. All times are given in seconds, but as double numbers, so there can be fractional values.

The timer can also be initialized with a stream and a specification whether to write to or read from the stream. In the former case the result of every query is written into the stream, in the latter case timing is not tested at all, rather the supposed result is read out from the stream. This makes it possible to exactly retrace time sensitive program execution.

Definition at line 197 of file CoinTime.hpp.

Constructor & Destructor Documentation

CoinTimer::CoinTimer ( )
inline

Default constructor creates a timer with no time limit and no tracing.

Definition at line 242 of file CoinTime.hpp.

CoinTimer::CoinTimer ( double  lim)
inline

Create a timer with the given time limit and with no tracing.

Definition at line 250 of file CoinTime.hpp.

Member Function Documentation

bool CoinTimer::evaluate ( const bool  b_tmp) const
inlineprivate

Definition at line 232 of file CoinTime.hpp.

double CoinTimer::evaluate ( const double  d_tmp) const
inlineprivate

Definition at line 235 of file CoinTime.hpp.

void CoinTimer::restart ( )
inline

Restart the timer (keeping the same time limit)

Definition at line 272 of file CoinTime.hpp.

void CoinTimer::reset ( )
inline

An alternate name for restart()

Definition at line 274 of file CoinTime.hpp.

void CoinTimer::reset ( double  lim)
inline

Reset (and restart) the timer and change its time limit.

Definition at line 276 of file CoinTime.hpp.

bool CoinTimer::isPastPercent ( double  pct) const
inline

Return whether the given percentage of the time limit has elapsed since the timer was started.

Definition at line 280 of file CoinTime.hpp.

bool CoinTimer::isPast ( double  lim) const
inline

Return whether the given amount of time has elapsed since the timer was started.

Definition at line 285 of file CoinTime.hpp.

bool CoinTimer::isExpired ( ) const
inline

Return whether the originally specified time limit has passed since the timer was started.

Definition at line 290 of file CoinTime.hpp.

double CoinTimer::timeLeft ( ) const
inline

Return how much time is left on the timer.

Definition at line 295 of file CoinTime.hpp.

double CoinTimer::timeElapsed ( ) const
inline

Return how much time has elapsed.

Definition at line 300 of file CoinTime.hpp.

void CoinTimer::setLimit ( double  l)
inline

Definition at line 304 of file CoinTime.hpp.

Member Data Documentation

double CoinTimer::start
private

When the timer was initialized/reset/restarted.

Definition at line 201 of file CoinTime.hpp.

double CoinTimer::limit
private

Definition at line 203 of file CoinTime.hpp.

double CoinTimer::end
private

Definition at line 204 of file CoinTime.hpp.


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