inlib  1.2.0
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes
inlib::atime Class Reference

List of all members.

Public Types

typedef uint64 num_t

Public Member Functions

 atime (num_t a_secs, num_t a_micro_secs)
virtual ~atime ()
 atime (const atime &a_from)
atimeoperator= (const atime &a_from)
num_t seconds () const
num_t micro_seconds () const
double value () const
std::string time_string () const

Static Public Member Functions

static atime now ()
static atime elapsed (const atime &a_from)

Protected Attributes

num_t m_secs
num_t m_micro_secs

Detailed Description

Definition at line 18 of file atime.


Member Typedef Documentation

Definition at line 20 of file atime.


Constructor & Destructor Documentation

inlib::atime::atime ( num_t  a_secs,
num_t  a_micro_secs 
) [inline]

Definition at line 47 of file atime.

  :m_secs(a_secs),m_micro_secs(a_micro_secs){}
virtual inlib::atime::~atime ( ) [inline, virtual]

Definition at line 49 of file atime.

{}
inlib::atime::atime ( const atime a_from) [inline]

Definition at line 51 of file atime.

  :m_secs(a_from.m_secs),m_micro_secs(a_from.m_micro_secs){}

Member Function Documentation

static atime inlib::atime::elapsed ( const atime a_from) [inline, static]

Definition at line 33 of file atime.

                                           {
    atime n = now();

    num_t f_all_mcs = a_from.m_secs * 1000000 + a_from.m_micro_secs;
    num_t n_all_mcs = n.m_secs * 1000000 + n.m_micro_secs;

    num_t d_all_mcs = n_all_mcs-f_all_mcs;

    num_t d_s = d_all_mcs/1000000;
    num_t d_mcs = d_all_mcs-d_s*1000000;

    return atime(d_s,d_mcs);
  }
num_t inlib::atime::micro_seconds ( ) const [inline]

Definition at line 60 of file atime.

{return m_micro_secs;}
static atime inlib::atime::now ( ) [inline, static]

Definition at line 22 of file atime.

                     {
#ifdef WIN32
    struct timeb tb;
    ::ftime(&tb);
    return atime((num_t)tb.time,(num_t)(tb.millitm * 1000));
#else
    struct timeval tval;
    ::gettimeofday(&tval,0);
    return atime((num_t)tval.tv_sec,(num_t)tval.tv_usec);
#endif
  }
atime& inlib::atime::operator= ( const atime a_from) [inline]

Definition at line 53 of file atime.

                                       {
    m_secs = a_from.m_secs;
    m_micro_secs = a_from.m_micro_secs;
    return *this;
  }
num_t inlib::atime::seconds ( ) const [inline]

Definition at line 59 of file atime.

{return m_secs;}
std::string inlib::atime::time_string ( ) const [inline]

Definition at line 64 of file atime.

                                { 
    std::ostringstream strm;
    strm << m_secs;
    strm << " secs ";
    strm << m_micro_secs;
    strm << " micro_secs";
    return strm.str();
  }
double inlib::atime::value ( ) const [inline]

Definition at line 61 of file atime.

                       {
    return ((double)m_secs) + ((double)m_micro_secs)/1000000.0; 
  }

Member Data Documentation

Definition at line 74 of file atime.

Definition at line 73 of file atime.


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