# TrueClock¶

class TrueClock

An interface to whatever real-time clock we might have available in the current environment. There is only one TrueClock in existence, and it constructs itself.

The TrueClock returns elapsed real time in seconds since some undefined epoch. Since it is not defined at what time precisely the clock indicates zero, this value can only be meaningfully used to measure elapsed time, by sampling it at two different times and subtracting.

Inheritance diagram

int get_error_count(void) const

Returns the number of clock errors that have been detected. Each time a clock error is detected, in which the value returned by either of the above methods is suspect, the value returned by this method will be incremented. Applications can monitor this value and react, for instance, by resynchronizing their clocks each time this value changes.

TrueClock *get_global_ptr(void)

Returns a pointer to the one TrueClock object in the world.

double get_long_time(void)

get_long_time() returns the most accurate timer we have over a long interval. It may not be very precise for measuring short intervals, but it should not drift substantially over the long haul.

get_long_time() returns the most accurate timer we have over a long interval. It may not be very precise for measuring short intervals, but it should not drift substantially over the long haul.

double get_short_raw_time(void)

get_short_raw_time() is like get_short_time(), but does not apply any corrections (e.g. paranoid-clock) to the result returned by the OS.

get_short_raw_time() is like get_short_time(), but does not apply any corrections (e.g. paranoid-clock) to the result returned by the OS.

double get_short_time(void)

get_short_time() returns the most precise timer we have over a short interval. It may tend to drift over the long haul, but it should have lots of digits to measure short intervals very precisely.

get_short_time() returns the most precise timer we have over a short interval. It may tend to drift over the long haul, but it should have lots of digits to measure short intervals very precisely.

bool set_cpu_affinity(uint32_t mask) const