timer Class Reference

Used as a stopwatch. More...

#include <timer.h>

List of all members.

Public Types

typedef time_t value_type
typedef double duration_type

Public Member Functions

 timer ()
 C'tor.
 timer (const timer &a_timer)
 C'tor.
 timer (const value_type a_start)
 C'tor.
 timer (const value_type a_start, const value_type a_stop)
 C'tor.
void clear (void)
 Clear the timer.
void start (void)
 Start (or restart) the timer.
void stop (void)
 Stop the timer.
const value_type start_value (void) const
 Return the timer start value.
const value_type stop_value (void) const
 Return the timer stop value.
void assign (const timer &a_timer)
 Assign timer values from another timer instance.
void assign (const value_type a_start)
 Assign timer from a start value.
void assign (const value_type a_start, const value_type a_stop)
 Assign timer from start and stop values.
timeroperator= (const timer &a_timer)
 Assignment.
void use_localtime (const bool a_switch)
 Set whether to use localtime or GMT when constructing strings.
const bool use_localtime (void) const
 Return whether to use localtime or GMT.
const std::string started_at (void) const
 Generate a started-at string.
const std::string stopped_at (void) const
 Generate a stopped-at string.
const std::string duration (void) const
 Generate a duration string.
const std::string eta (unsigned int a_percent_complete) const
 Given a percent-complete for some unknown task, estimate a time to completion.
const std::string eta (unsigned int a_complete, unsigned int a_total) const
 Given a step number complete out of some total number of steps for some unknown task, estimate a time to completion.
const std::string bps (uint64 a_bytes) const
 Given a number of bytes, estimate the BPS.
const bool is_started (void) const
 Return whether or not the timer has been started.
const bool is_stopped (void) const
 Return whether or not the timer has been stopped.
const duration_type duration_secs (void) const
 Reutrn the duration in seconds.
const duration_type duration_mins (void) const
 Return the duration in minutes.
const duration_type duration_hours (void) const
 Return the duration in hours.
const duration_type duration_days (void) const
 Return the duration in days.
const duration_type duration_years (void) const
 Return the duration in years.

Private Member Functions

void mf_start_value (const value_type a_t)
 Set the timer start value.
void mf_stop_value (const value_type a_t)
 Set the timer stop value.
const duration_type mf_calculate_duration (const value_type a_start, const value_type a_stop) const
 Calculate the duration between start and stop.
const std::string mf_make_timer_string (const value_type a_t) const
 Generate a string in a regular human-readable format.
const std::string mf_make_string (const value_type a_t) const
 Generate a string in a timestamp format.
const std::string mf_make_string (const duration_type a_d) const
 Generate a duration string.

Private Attributes

value_type m_start
value_type m_stop
bool m_started
bool m_stopped
duration_type m_duration
bool m_use_localtime

Detailed Description

Used as a stopwatch.

Definition at line 29 of file timer.h.


Member Typedef Documentation

typedef double timer::duration_type

Definition at line 33 of file timer.h.

typedef time_t timer::value_type

Definition at line 32 of file timer.h.


Constructor & Destructor Documentation

timer::timer (  ) 

C'tor.

Definition at line 73 of file timer.cc.

References clear(), and start().

Here is the call graph for this function:

timer::timer ( const timer a_timer  ) 

C'tor.

Definition at line 80 of file timer.cc.

References assign().

Here is the call graph for this function:

timer::timer ( const value_type  a_start  ) 

C'tor.

Definition at line 86 of file timer.cc.

References assign().

Here is the call graph for this function:

timer::timer ( const value_type  a_start,
const value_type  a_stop 
)

C'tor.

Definition at line 92 of file timer.cc.

References assign().

Here is the call graph for this function:


Member Function Documentation

void timer::assign ( const value_type  a_start,
const value_type  a_stop 
)

Assign timer from start and stop values.

Definition at line 181 of file timer.cc.

References clear(), m_duration, m_start, m_stop, mf_calculate_duration(), mf_start_value(), and mf_stop_value().

Here is the call graph for this function:

void timer::assign ( const value_type  a_start  ) 

Assign timer from a start value.

Definition at line 174 of file timer.cc.

References clear(), and mf_start_value().

Here is the call graph for this function:

void timer::assign ( const timer a_timer  ) 

Assign timer values from another timer instance.

Definition at line 162 of file timer.cc.

References clear(), is_started(), is_stopped(), m_duration, m_start, m_started, m_stop, m_stopped, mf_calculate_duration(), mf_start_value(), mf_stop_value(), start_value(), and stop_value().

Referenced by operator=(), test3(), and timer().

Here is the call graph for this function:

const std::string timer::bps ( uint64  a_bytes  )  const

Given a number of bytes, estimate the BPS.

Definition at line 522 of file timer.cc.

References INTERNAL_ERROR, is_started(), is_stopped(), m_duration, throughput_to_string(), and TRY_nomem.

Here is the call graph for this function:

void timer::clear ( void   ) 

Clear the timer.

Definition at line 98 of file timer.cc.

References m_duration, m_start, m_started, m_stop, m_stopped, and m_use_localtime.

Referenced by assign(), report_manager::clear(), job_path_report::clear(), and timer().

const std::string timer::duration ( void   )  const
const timer::duration_type timer::duration_days ( void   )  const

Return the duration in days.

Definition at line 442 of file timer.cc.

References duration_hours().

Referenced by duration_years(), and test2().

Here is the call graph for this function:

const timer::duration_type timer::duration_hours ( void   )  const

Return the duration in hours.

Definition at line 432 of file timer.cc.

References duration_mins().

Referenced by duration_days(), and test2().

Here is the call graph for this function:

const timer::duration_type timer::duration_mins ( void   )  const

Return the duration in minutes.

Definition at line 422 of file timer.cc.

References duration_secs().

Referenced by duration_hours(), archive_manager::mf_log_status(), and test2().

Here is the call graph for this function:

const timer::duration_type timer::duration_secs ( void   )  const

Reutrn the duration in seconds.

Definition at line 411 of file timer.cc.

References INTERNAL_ERROR, is_started(), is_stopped(), and m_duration.

Referenced by duration_mins(), job_archiver::mf_process_rsync_io(), and test2().

Here is the call graph for this function:

const timer::duration_type timer::duration_years ( void   )  const

Return the duration in years.

Definition at line 452 of file timer.cc.

References duration_days().

Referenced by test2().

Here is the call graph for this function:

const std::string timer::eta ( unsigned int  a_complete,
unsigned int  a_total 
) const

Given a step number complete out of some total number of steps for some unknown task, estimate a time to completion.

Definition at line 493 of file timer.cc.

References eta(), INTERNAL_ERROR, is_started(), is_stopped(), TRY, and TRY_nomem.

Here is the call graph for this function:

const std::string timer::eta ( unsigned int  a_percent_complete  )  const

Given a percent-complete for some unknown task, estimate a time to completion.

Definition at line 463 of file timer.cc.

References INTERNAL_ERROR, is_started(), is_stopped(), m_duration, mf_make_string(), TRY, TRY_nomem, and safe_num< T >::value().

Referenced by eta(), test(), and test3().

Here is the call graph for this function:

const bool timer::is_started ( void   )  const

Return whether or not the timer has been started.

Definition at line 399 of file timer.cc.

References m_started.

Referenced by assign(), bps(), duration(), duration_secs(), eta(), archive_manager::mf_log_status(), started_at(), and stopped_at().

const bool timer::is_stopped ( void   )  const

Return whether or not the timer has been stopped.

Definition at line 405 of file timer.cc.

References m_stopped.

Referenced by assign(), bps(), duration(), duration_secs(), eta(), and stopped_at().

const timer::duration_type timer::mf_calculate_duration ( const value_type  a_start,
const value_type  a_stop 
) const [private]

Calculate the duration between start and stop.

Definition at line 124 of file timer.cc.

References duration().

Referenced by assign(), and stop().

Here is the call graph for this function:

const std::string timer::mf_make_string ( const duration_type  a_d  )  const [private]

Generate a duration string.

Definition at line 283 of file timer.cc.

References estring::right, TRY, and TRY_nomem.

const std::string timer::mf_make_string ( const value_type  a_t  )  const [private]

Generate a string in a timestamp format.

Definition at line 273 of file timer.cc.

References mf_make_timer_string(), and TRY_nomem.

Referenced by duration(), eta(), started_at(), and stopped_at().

Here is the call graph for this function:

const std::string timer::mf_make_timer_string ( const value_type  a_t  )  const [private]

Generate a string in a regular human-readable format.

Definition at line 212 of file timer.cc.

References ERROR, m_use_localtime, estring::right, TRY, and TRY_nomem.

Referenced by mf_make_string().

void timer::mf_start_value ( const value_type  a_t  )  [private]

Set the timer start value.

Definition at line 109 of file timer.cc.

References m_start, and m_started.

Referenced by assign(), and start().

void timer::mf_stop_value ( const value_type  a_t  )  [private]

Set the timer stop value.

Definition at line 116 of file timer.cc.

References m_stop, and m_stopped.

Referenced by assign(), and stop().

timer & timer::operator= ( const timer a_timer  ) 

Assignment.

Definition at line 192 of file timer.cc.

References assign().

Here is the call graph for this function:

void timer::start ( void   ) 
const timer::value_type timer::start_value ( void   )  const

Return the timer start value.

Definition at line 150 of file timer.cc.

References m_start.

Referenced by assign(), test3(), and reportio::write_report().

const std::string timer::started_at ( void   )  const

Generate a started-at string.

Definition at line 359 of file timer.cc.

References INTERNAL_ERROR, is_started(), m_start, mf_make_string(), and TRY_nomem.

Referenced by report_manager::format_synopsis(), and test3().

Here is the call graph for this function:

void timer::stop ( void   ) 
const timer::value_type timer::stop_value ( void   )  const

Return the timer stop value.

Definition at line 156 of file timer.cc.

References m_stop.

Referenced by assign(), test3(), and reportio::write_report().

const std::string timer::stopped_at ( void   )  const

Generate a stopped-at string.

Definition at line 371 of file timer.cc.

References INTERNAL_ERROR, is_started(), is_stopped(), m_stop, mf_make_string(), and TRY_nomem.

Referenced by report_manager::format_synopsis(), and test3().

Here is the call graph for this function:

const bool timer::use_localtime ( void   )  const

Return whether to use localtime or GMT.

Definition at line 206 of file timer.cc.

References m_use_localtime.

void timer::use_localtime ( const bool  a_switch  ) 

Set whether to use localtime or GMT when constructing strings.

Definition at line 200 of file timer.cc.

References m_use_localtime.

Referenced by test3().


Member Data Documentation

Definition at line 77 of file timer.h.

Referenced by assign(), bps(), clear(), duration(), duration_secs(), eta(), and stop().

Definition at line 73 of file timer.h.

Referenced by assign(), clear(), mf_start_value(), start_value(), started_at(), and stop().

bool timer::m_started [private]

Definition at line 75 of file timer.h.

Referenced by assign(), clear(), is_started(), and mf_start_value().

Definition at line 74 of file timer.h.

Referenced by assign(), clear(), mf_stop_value(), stop(), stop_value(), and stopped_at().

bool timer::m_stopped [private]

Definition at line 76 of file timer.h.

Referenced by assign(), clear(), is_stopped(), and mf_stop_value().

bool timer::m_use_localtime [private]

Definition at line 78 of file timer.h.

Referenced by clear(), mf_make_timer_string(), and use_localtime().


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Thu Sep 30 14:09:55 2010 for rvm by  doxygen 1.6.1