BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Private Attributes | Static Private Attributes | List of all members
BALL::Timer Class Reference

#include <BALL/SYSTEM/timer.h>

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

Definition at line 30 of file timer.h.

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.

Definition at line 20 of file timer.h.

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

Definition at line 14 of file timer.h.

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

Test if the instance is valid. Allways returns true.

Definition at line 8 of file timer.h.

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
timerthe timer to compare with
Returns
bool true on inequality, false otherwise

Definition at line 26 of file timer.h.

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
timerthe timer to compare with
Returns
bool true if all times are lesser

Definition at line 32 of file timer.h.

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
timerthe timer to compare with
Returns
bool true if all times are lesser or equal

Definition at line 44 of file timer.h.

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
timerthe 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
timerthe timer to compare with
Returns
bool true if all times are greater

Definition at line 38 of file timer.h.

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
timerthe timer to compare with
Returns
bool true if all times are greater or equal

Definition at line 50 of file timer.h.

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_
staticprivate

Definition at line 205 of file timer.h.

LongSize BALL::Timer::current_secs_
private

Definition at line 227 of file timer.h.

clock_t BALL::Timer::current_system_time_
private

Definition at line 236 of file timer.h.

LongSize BALL::Timer::current_usecs_
private

Definition at line 230 of file timer.h.

clock_t BALL::Timer::current_user_time_
private

Definition at line 233 of file timer.h.

bool BALL::Timer::is_running_
private

Definition at line 212 of file timer.h.

LongSize BALL::Timer::last_secs_
private

Definition at line 215 of file timer.h.

clock_t BALL::Timer::last_system_time_
private

Definition at line 224 of file timer.h.

LongSize BALL::Timer::last_usecs_
private

Definition at line 218 of file timer.h.

clock_t BALL::Timer::last_user_time_
private

Definition at line 221 of file timer.h.