BALL::Timer Class Reference
[Operating system support]

#include <BALL/SYSTEM/timer.h>

List of all members.


Public Member Functions

Constructors and Destructors
 Timer ()
 Timer (Timer &timer)
virtual ~Timer ()
void clear ()
bool start ()
bool stop ()
void reset ()
Readout of the Timer
double getClockTime () const
double getUserTime () const
double getSystemTime () const
double getCPUTime () const
Assignment
Timeroperator= (const Timer &timer)
Predicates
bool isRunning () const
bool operator== (const Timer &timer) const
bool operator!= (const Timer &timer) const
bool operator< (const Timer &timer) const
bool operator<= (const Timer &timer) const
bool operator>= (const Timer &timer) const
bool operator> (const Timer &timer) const
Debugging and Diagnostics
bool isValid () const
void dump (::std::ostream &s=::std::cout, Size depth=0L) const

Private Attributes

bool is_running_
LongSize last_secs_
LongSize last_usecs_
clock_t last_user_time_
clock_t last_system_time_
LongSize current_secs_
LongSize current_usecs_
clock_t current_user_time_
clock_t current_system_time_

Static Private Attributes

static LongSize cpu_speed_

Detailed Description

Timer Class


Constructor & Destructor Documentation

BALL::Timer::Timer (  ) 

Default constructor. Create a new timer. The timer is stopped.

BALL::Timer::Timer ( Timer timer  ) 

Copy constructor. Create a new timer from an existing timer.

virtual BALL::Timer::~Timer (  )  [virtual]

Destructor. Destructs a timer object.


Member Function Documentation

void BALL::Timer::clear (  ) 

Starting, Stopping and Resetting the timer Clear and stop the timer. This sets the timer to zero and stops it when running.

See also:
reset
void BALL::Timer::dump ( ::std::ostream &  s = ::std::cout,
Size  depth = 0L 
) const

Dump the timer's contents.

double BALL::Timer::getClockTime (  )  const

Get clock time. Return the accumulated clock (real) time in seconds.

BALL_INLINE double BALL::Timer::getCPUTime (  )  const

Get CPU time. Return the accumulated CPU time in seconds. CPU time is the sum of user time and system time.

double BALL::Timer::getSystemTime (  )  const

Get user time. Return the accumulated system time in seconds.

double BALL::Timer::getUserTime (  )  const

Get user time. Return the accumulated user time in seconds.

BALL_INLINE bool BALL::Timer::isRunning (  )  const

Return true if the timer is running.

Returns:
bool true if the timer is running, false otherwise
BALL_INLINE bool BALL::Timer::isValid (  )  const

Test if the instance is valid. Allways returns true.

BALL_INLINE bool BALL::Timer::operator!= ( const Timer timer  )  const

Inequality operator. Return false if two timers differ in any way, i.e. they differ in either the clock, user, or system time or have a different running status.

Parameters:
timer the timer to compare with
Returns:
bool true on inequality, false otherwise
BALL_INLINE bool BALL::Timer::operator< ( const Timer timer  )  const

Lesser than operator. Return true, if the timer is in all timings lesser than the timer to be compared with (clock, user and system time).

Parameters:
timer the timer to compare with
Returns:
bool true if all times are lesser
BALL_INLINE bool BALL::Timer::operator<= ( const Timer timer  )  const

Lesser or equal operator. Return true, if the timer is in all timings lesser or equal than the timer to be compared with (clock, user and system time).

Parameters:
timer the timer to compare with
Returns:
bool true if all times are lesser or equal
Timer& BALL::Timer::operator= ( const Timer timer  ) 

Assignment operator. Assigns a timer from another. The two timer will then run synchronously.

Returns:
Timer *this
bool BALL::Timer::operator== ( const Timer timer  )  const

Equality operator. Return true if two timers are equal, i.e. they contain exactly the same time intervals for clock, user and system time and have the same running status.

Parameters:
timer the timer to compare with
Returns:
bool true on equality, false otherwise
BALL_INLINE bool BALL::Timer::operator> ( const Timer timer  )  const

Greater operator. Return true, if the timer is in all timings greater than the timer to be compared with (clock, user and system time).

Parameters:
timer the timer to compare with
Returns:
bool true if all times are greater
BALL_INLINE bool BALL::Timer::operator>= ( const Timer timer  )  const

Greater or equal operator. Return true, if the timer is in all timings greater or equal than the timer to be compared with (clock, user and system time).

Parameters:
timer the timer to compare with
Returns:
bool true if all times are greater or equal
void BALL::Timer::reset (  ) 

Clear the timer without stopping. The timer is cleared, but not stopped (if running).

See also:
clear
bool BALL::Timer::start (  ) 

Start the timer. The timer is started. If the timer is already running, false is returned.

Returns:
bool false if the timer was already running, true otherwise
bool BALL::Timer::stop (  ) 

Stop the timer. The timer is stopped. If the timer was not running, false is returned.

Returns:
bool false if the was not running, true otherwise

Member Data Documentation

LongSize BALL::Timer::cpu_speed_ [static, private]
clock_t BALL::Timer::last_system_time_ [private]
clock_t BALL::Timer::last_user_time_ [private]