ACE
6.1.4

Operations on "timeval" structures, which express time in seconds (secs) and microseconds (usecs). More...
#include <Time_Value_T.h>
Public Member Functions  
ACE_Time_Value (void)  
Default Constructor.  
ACE_Time_Value (time_t sec, suseconds_t usec=0)  
Constructor.  
ACE_Time_Value (const struct timeval &t)  
Construct the ACE_Time_Value from a timeval.  
ACE_Time_Value (const timespec_t &t)  
Construct the ACE_Time_Value object from a timespec_t.  
virtual  ~ACE_Time_Value () 
Destructor.  
ACE_Time_Value (const FILETIME &ft)  
Construct the ACE_Time_Value object from a Win32 FILETIME.  
void  set (time_t sec, suseconds_t usec) 
Initializes the ACE_Time_Value from seconds and useconds.  
void  set (double d) 
void  set (const timeval &t) 
Initializes the ACE_Time_Value from a timeval.  
void  set (const timespec_t &t) 
Initializes the ACE_Time_Value object from a timespec_t.  
void  set (const FILETIME &ft) 
Initializes the ACE_Time_Value object from a Win32 FILETIME.  
unsigned long  msec (void) const 
Converts from ACE_Time_Value format into milliseconds format.  
ACE_UINT64  get_msec () const 
Converts from ACE_Time_Value format into milliseconds format.  
void  msec (ACE_UINT64 &ms) const 
Converts from ACE_Time_Value format into milliseconds format.  
void  msec (ACE_UINT64 &ms) 
Converts from ACE_Time_Value format into milliseconds format.  
void  set_msec (const ACE_UINT64 &ms) 
Converts from milliseconds format into ACE_Time_Value format.  
void  msec (long) 
Converts from milliseconds format into ACE_Time_Value format.  
void  msec (int) 
Converts from milliseconds format into ACE_Time_Value format.  
operator timespec_t () const  
Returns the value of the object as a timespec_t.  
operator timeval () const  
Returns the value of the object as a timeval.  
operator const timeval * () const  
Returns a pointer to the object as a timeval.  
operator FILETIME () const  
Returns the value of the object as a Win32 FILETIME.  
time_t  sec (void) const 
Get seconds.  
void  sec (time_t sec) 
Set seconds.  
suseconds_t  usec (void) const 
Get microseconds.  
void  usec (suseconds_t usec) 
Set microseconds.  
void  to_usec (ACE_UINT64 &usec) const 
ACE_Time_Value &  operator+= (const ACE_Time_Value &tv) 
Add tv to this.  
ACE_Time_Value &  operator+= (time_t tv) 
Add tv to this.  
ACE_Time_Value &  operator= (const ACE_Time_Value &tv) 
Assign @ tv to this.  
ACE_Time_Value &  operator= (time_t tv) 
Assign @ tv to this.  
ACE_Time_Value &  operator= (const ACE_Time_Value &tv) 
Subtract tv to this.  
ACE_Time_Value &  operator= (time_t tv) 
Subtract tv to this.  
ACE_Time_Value &  operator*= (double d) 
Multiply the time value by the d factor.  
ACE_Time_Value  operator++ (int) 
Increment microseconds as postfix.  
ACE_Time_Value &  operator++ (void) 
Increment microseconds as prefix.  
ACE_Time_Value  operator (int) 
Decrement microseconds as postfix.  
ACE_Time_Value &  operator (void) 
Decrement microseconds as prefix.  
virtual ACE_Time_Value  now () const 
Get current time of day.  
virtual ACE_Time_Value  to_relative_time () const 
Converts absolute time value to time value relative to current time of day.  
virtual ACE_Time_Value  to_absolute_time () const 
Converts relative time value to absolute time value based on current time of day.  
virtual ACE_Time_Value *  duplicate () const 
Duplicates this time value (incl. time policy).  
void  dump (void) const 
Dump is a noop.  
Static Public Attributes  
static const ACE_Time_Value  zero 
Constant "0".  
static const ACE_Time_Value  max_time 
static const DWORDLONG  FILETIME_to_timval_skew 
Const time difference between FILETIME and POSIX time.  
Private Member Functions  
void  normalize (bool saturate=false) 
Put the timevalue into a canonical form.  
Private Attributes  
timeval  tv_ 
Store the values as a timeval.  
Friends  
ACE_Time_Value  operator+ (const ACE_Time_Value &tv1, const ACE_Time_Value &tv2) 
Adds two ACE_Time_Value objects together, returns the sum.  
ACE_Time_Value  operator (const ACE_Time_Value &tv1, const ACE_Time_Value &tv2) 
Subtracts two ACE_Time_Value objects, returns the difference.  
bool  operator< (const ACE_Time_Value &tv1, const ACE_Time_Value &tv2) 
True if tv1 < tv2.  
bool  operator> (const ACE_Time_Value &tv1, const ACE_Time_Value &tv2) 
True if tv1 > tv2.  
bool  operator<= (const ACE_Time_Value &tv1, const ACE_Time_Value &tv2) 
True if tv1 <= tv2.  
bool  operator>= (const ACE_Time_Value &tv1, const ACE_Time_Value &tv2) 
True if tv1 >= tv2.  
bool  operator== (const ACE_Time_Value &tv1, const ACE_Time_Value &tv2) 
True if tv1 == tv2.  
bool  operator!= (const ACE_Time_Value &tv1, const ACE_Time_Value &tv2) 
True if tv1 != tv2.  
ACE_Time_Value  operator* (double d, const ACE_Time_Value &tv) 
Multiplies the time value by d.  
ACE_Time_Value  operator* (const ACE_Time_Value &tv, double d) 
Multiplies the time value by d.  
Operations on "timeval" structures, which express time in seconds (secs) and microseconds (usecs).
This class centralizes all the time related processing in ACE. These time values are typically used in conjunction with OS mechanisms like <select>, <poll>, or <cond_timedwait>.

inline 
Default Constructor.

inlineexplicit 
Constructor.

inlineexplicit 
Construct the ACE_Time_Value from a timeval.

inlineexplicit 
Construct the ACE_Time_Value object from a timespec_t.
Initializes the ACE_Time_Value object from a timespec_t.

virtual 
Destructor.

explicit 
Construct the ACE_Time_Value object from a Win32 FILETIME.
Initializes the ACE_Time_Value object from a Win32 FILETIME.
void ACE_Time_Value::dump  (  void  )  const 
Dump is a noop.
The dump() method is a noop. It's here for backwards compatibility only, but does not dump anything. Invoking logging methods here violates layering restrictions in ACE because this class is part of the OS layer and ACE_Log_Msg
is at a higher level.

virtual 
Duplicates this time value (incl. time policy).
Reimplemented in ACE_Time_Value_T< TIME_POLICY >.

inline 
Converts from ACE_Time_Value format into milliseconds format.

inline 
Converts from ACE_Time_Value format into milliseconds format.
Converts from Time_Value format into milliseconds format.

inline 
Converts from ACE_Time_Value format into milliseconds format.
ms  parameter. 

inline 
Converts from ACE_Time_Value format into milliseconds format.
ms  parameter. 

inline 
Converts from milliseconds format into ACE_Time_Value format.
Converts from milliseconds format into Time_Value format.

inline 
Converts from milliseconds format into ACE_Time_Value format.
Converts from milliseconds format into Time_Value format.

private 

virtual 
Get current time of day.
Reimplemented in ACE_Time_Value_T< TIME_POLICY >.

inline 
Returns a pointer to the object as a timeval.
ACE_Time_Value::operator FILETIME  (  )  const 
Returns the value of the object as a Win32 FILETIME.

inline 
Returns the value of the object as a timespec_t.

inline 
Returns the value of the object as a timeval.
ACE_Time_Value & ACE_Time_Value::operator*=  (  double  d  ) 
Multiply the time value by the d factor.
ACE_Time_Value ACE_Time_Value::operator++  (  int  ) 
Increment microseconds as postfix.
Increment microseconds (the only reason this is here is to allow the use of ACE_Atomic_Op with ACE_Time_Value).
ACE_Time_Value & ACE_Time_Value::operator++  (  void  ) 
Increment microseconds as prefix.

inline 
Add tv to this.
Add TV to this.

inline 
Add tv to this.
ACE_Time_Value ACE_Time_Value::operator  (  int  ) 
Decrement microseconds as postfix.
Decrement microseconds (the only reason this is here is / to allow the use of ACE_Atomic_Op with ACE_Time_Value).
ACE_Time_Value & ACE_Time_Value::operator  (  void  ) 
Decrement microseconds as prefix.

inline 
Subtract tv to this.
Subtract TV to this.

inline 
Subtract tv to this.

inline 
Assign @ tv to this.

inline 
Assign @ tv to this.

inline 
Get seconds.
Returns number of seconds.

inline 
Set seconds.
Sets the number of seconds.

inline 
Initializes the ACE_Time_Value from seconds and useconds.

inline 
Initializes the ACE_Time_Value from a double, which is assumed to be in second format, with any remainder treated as microseconds.

inline 
Initializes the ACE_Time_Value from a timeval.

inline 
Initializes the ACE_Time_Value object from a timespec_t.
Initializes a timespec_t. Note that this approach loses precision since it converts the nanoseconds into microseconds. But then again, do any real systems have nanosecond timer precision?!
void ACE_Time_Value::set  (  const FILETIME &  ft  ) 
Initializes the ACE_Time_Value object from a Win32 FILETIME.

inline 
Converts from milliseconds format into ACE_Time_Value format.

virtual 
Converts relative time value to absolute time value based on current time of day.
Reimplemented in ACE_Time_Value_T< TIME_POLICY >.

virtual 
Converts absolute time value to time value relative to current time of day.
Reimplemented in ACE_Time_Value_T< TIME_POLICY >.

inline 
usec  parameter. 

inline 
Get microseconds.
Returns number of microseconds.

inline 
Set microseconds.
Sets the number of microseconds.

friend 
True if tv1 != tv2.

friend 
Multiplies the time value by d.

friend 
Multiplies the time value by d.

friend 
Adds two ACE_Time_Value objects together, returns the sum.

friend 
Subtracts two ACE_Time_Value objects, returns the difference.

friend 
True if tv1 < tv2.

friend 
True if tv1 <= tv2.

friend 
True if tv1 == tv2.

friend 
True if tv1 > tv2.

friend 
True if tv1 >= tv2.

static 
Const time difference between FILETIME and POSIX time.
Static constant to remove time skew between FILETIME and POSIX time. POSIX and Win32 use different epochs (Jan. 1, 1970 v.s. Jan. 1, 1601). The following constant defines the difference in 100ns ticks.
In the beginning (Jan. 1, 1601), there was no time and no computer. And Bill said: "Let there be time," and there was time....

static 
Constant for maximum time representable. Note that this time is not intended for use with <select> or other calls that may have their own implementationspecific maximum time representations. Its primary use is in time computations such as those used by the dynamic subpriority strategies in the ACE_Dynamic_Message_Queue class.
Constant for maximum time representable. Note that this time is not intended for use with select () or other calls that may have their own implementationspecific maximum time representations. Its primary use is in time computations such as those used by the dynamic subpriority strategies in the ACE_Dynamic_Message_Queue class. Note: this object requires static construction.

private 
Store the values as a timeval.

static 
Constant "0".
Static constant representing `zerotime'. Note: this object requires static construction.