Scippy

SoPlex

Sequential object-oriented simPlex

UserTimer Class Reference

#include <usertimer.h>

Inheritance diagram for UserTimer:

Public Member Functions

Construction / destruction
 UserTimer ()
 default constructor
 
 UserTimer (const UserTimer &old)
 copy constructor
 
UserTimeroperator= (const UserTimer &old)
 assignment operator
 
virtual ~UserTimer ()
 
Control
virtual void reset ()
 initialize timer, set timing accounts to zero.
 
virtual void start ()
 start timer, resume accounting user, system and real time.
 
virtual Real stop ()
 stop timer, return accounted user time.
 
virtual TYPE type ()
 return type of timer
 
Access
virtual Real time () const
 
virtual Real lastTime () const
 
- Public Member Functions inherited from Timer
 Timer ()
 default constructor
 
 Timer (const Timer &old)
 copy constructor
 
Timeroperator= (const Timer &old)
 assignment operator
 
virtual ~Timer ()
 
void getLastTimes (Real *userTime, Real *systemTime, Real *realTime) const
 return accounted time. get accounted user, system, or real time when ticks were updated last
 
Real realTimeLast () const
 return accounted real time without rechecking the clock
 

Private Member Functions

Internal helpers
Real ticks2sec (long ticks) const
 convert ticks to secounds.
 
void updateTicks () const
 get actual user ticks from the system.
 

Private Attributes

Data
long uAccount
 user time
 
long uTicks
 user ticks
 
Real lasttime
 

Static Private Attributes

number of ticks per second
static const long ticks_per_sec = long(TIMES_TICKS_PER_SEC)
 ticks per secound, should be constant
 

Additional Inherited Members

- Public Types inherited from Timer
enum  TYPE { OFF = 0, USER_TIME = 1, WALLCLOCK_TIME = 2 }
 types of timers More...
 
- Protected Types inherited from Timer
enum  { RESET, STOPPED, RUNNING }
 status of the timer More...
 
- Protected Attributes inherited from Timer
enum soplex::Timer::{ RESET, STOPPED, RUNNINGstatus
 timer status
 

Detailed Description

Definition at line 29 of file usertimer.h.

Constructor & Destructor Documentation

UserTimer ( )

default constructor

Definition at line 68 of file usertimer.h.

References UserTimer::ticks_per_sec.

UserTimer ( const UserTimer old)

copy constructor

Definition at line 74 of file usertimer.h.

References UserTimer::ticks_per_sec.

virtual ~UserTimer ( )
virtual

Definition at line 89 of file usertimer.h.

Member Function Documentation

Real lastTime ( ) const
virtual

Implements Timer.

Definition at line 114 of file usertimer.cpp.

References UserTimer::lasttime.

UserTimer& operator= ( const UserTimer old)

assignment operator

Definition at line 80 of file usertimer.h.

References UserTimer::lasttime, UserTimer::ticks_per_sec, UserTimer::uAccount, and UserTimer::uTicks.

virtual void reset ( )
virtual

initialize timer, set timing accounts to zero.

Implements Timer.

Definition at line 97 of file usertimer.h.

References UserTimer::lasttime, Timer::RESET, Timer::status, and UserTimer::uAccount.

void start ( )
virtual

start timer, resume accounting user, system and real time.

Implements Timer.

Definition at line 72 of file usertimer.cpp.

References UserTimer::lasttime, Timer::RUNNING, Timer::status, UserTimer::uAccount, UserTimer::updateTicks(), and UserTimer::uTicks.

Referenced by main().

Real stop ( )
virtual

stop timer, return accounted user time.

Implements Timer.

Definition at line 86 of file usertimer.cpp.

References Timer::RUNNING, Timer::status, Timer::STOPPED, UserTimer::ticks2sec(), UserTimer::uAccount, UserTimer::updateTicks(), and UserTimer::uTicks.

Referenced by main().

Real ticks2sec ( long  ticks) const
private

convert ticks to secounds.

Definition at line 52 of file usertimer.h.

References UserTimer::ticks_per_sec.

Referenced by UserTimer::stop(), and UserTimer::time().

Real time ( ) const
virtual
virtual TYPE type ( )
virtual

return type of timer

Implements Timer.

Definition at line 111 of file usertimer.h.

References Timer::USER_TIME.

void updateTicks ( ) const
private

get actual user ticks from the system.

Definition at line 52 of file usertimer.cpp.

References UserTimer::uTicks.

Referenced by UserTimer::start(), UserTimer::stop(), and UserTimer::time().

Member Data Documentation

Real lasttime
mutableprivate
const long ticks_per_sec = long(TIMES_TICKS_PER_SEC)
staticprivate

ticks per secound, should be constant

Definition at line 36 of file usertimer.h.

Referenced by UserTimer::operator=(), UserTimer::ticks2sec(), and UserTimer::UserTimer().

long uAccount
mutableprivate
long uTicks
mutableprivate