62257d7d24
cwTime.h: Added elaspsedMs() cwObject.h: Added getv_opt(). cwCommon.h: Added kInvalidStateRC Makefile: Added use of cwWEBSOCK build variable. cwAudioFileOps.h : Initial commit. cwAudioFile.h : Moved some operations so cwAudioFileOps.h cwCommonImpl.h : Removed is_int<> because has a std library implementation.
71 lines
1.6 KiB
C++
71 lines
1.6 KiB
C++
|
|
//( { file_desc:"Time cand clock related functions." kw: [ time system ] }
|
|
//
|
|
//
|
|
// This interface is used to read the systems high resolution timer and
|
|
// calculate elapsed time.
|
|
//)
|
|
|
|
|
|
#ifndef cwTime_H
|
|
#define cwTime_H
|
|
|
|
namespace cw
|
|
{
|
|
namespace time
|
|
{
|
|
|
|
//(
|
|
typedef struct timespec spec_t;
|
|
|
|
// Get the time
|
|
void get( spec_t& tRef );
|
|
|
|
// Return the elapsed time (t1 - t0) in microseconds
|
|
// t1 is assumed to be at a later time than t0.
|
|
unsigned elapsedMicros( const spec_t& t0, const spec_t& t1 );
|
|
unsigned elapsedMicros( const spec_t& t0 );
|
|
|
|
// Wrapper on elapsedMicros()
|
|
unsigned elapsedMs( const spec_t& t0, const spec_t& t1 );
|
|
unsigned elapsedMs( const spec_t& t0 );
|
|
|
|
// Same as elapsedMicros() but the times are not assumed to be ordered.
|
|
// The function therefore begins by swapping t1 and t0 if t0 is after t1.
|
|
unsigned absElapsedMicros( const spec_t& t0, const spec_t& t1 );
|
|
|
|
|
|
// Same as elapsedMicros() but returns a negative value if t0 is after t1.
|
|
int diffMicros( const spec_t& t0, const spec_t& t1 );
|
|
|
|
|
|
// Returns true if t0 <= t1.
|
|
bool isLTE( const spec_t& t0, const spec_t& t1 );
|
|
|
|
// Return true if t0 >= t1.
|
|
bool isGTE( const spec_t& t0, const spec_t& t1 );
|
|
|
|
bool isEqual( const spec_t& t0, const spec_t& t1 );
|
|
|
|
bool isZero( const spec_t& t0 );
|
|
|
|
void setZero( spec_t& t0 );
|
|
|
|
rc_t now( spec_t& ts );
|
|
|
|
// Advance 'ts' by 'ms' milliseconds.
|
|
void advanceMs( spec_t& ts, unsigned ms );
|
|
|
|
// Advance the current time by 'ms' milliseconds;
|
|
rc_t futureMs( spec_t& ts, unsigned ms );
|
|
|
|
rc_t test();
|
|
|
|
//)
|
|
|
|
}
|
|
}
|
|
|
|
#endif
|
|
|