Starboard Module Reference: time.h

Provides access to system time and timers.

Macros

kSbTimeDay

One day in SbTime units (microseconds).

kSbTimeHour

One hour in SbTime units (microseconds).

kSbTimeMax

The maximum value of an SbTime.

kSbTimeMillisecond

One millisecond in SbTime units (microseconds).

kSbTimeMinute

One minute in SbTime units (microseconds).

kSbTimeNanosecondsPerMicrosecond

How many nanoseconds in one SbTime unit (microseconds).

kSbTimeSecond

One second in SbTime units (microseconds).

kSbTimeToPosixDelta

A term that can be added to an SbTime to convert it into the number of microseconds since the POSIX epoch.

Typedefs

SbTime

The number of microseconds since the epoch of January 1, 1601 UTC, or the number of microseconds between two times. Always microseconds, ALWAYS UTC.

Definition

typedef int64_t SbTime

SbTimeMonotonic

A number of microseconds from some point. The main property of this time is that it increases monotonically. It should also be as high-resolution a timer as we can get on a platform. So, it is good for measuring the time between two calls without worrying about a system clock adjustment. It's not good for getting the wall clock time.

Definition

typedef int64_t SbTimeMonotonic

Functions

SbTimeFromPosix

Converts microseconds from the POSIX epoch into an SbTime.

time: A time that measures the number of microseconds since January 1, 1970, 00:00:00, UTC.

Declaration

static SbTime SbTimeFromPosix(int64_t time)

SbTimeGetMonotonicNow

Gets a monotonically increasing time representing right now.

Declaration

SbTimeMonotonic SbTimeGetMonotonicNow()

SbTimeGetMonotonicThreadNow

Gets a monotonically increasing time representing how long the current thread has been in the executing state (i.e. not pre-empted nor waiting on an event). This is not necessarily total time and is intended to allow measuring thread execution time between two timestamps. If this is not available then SbTimeGetMonotonicNow() should be used.

Declaration

SbTimeMonotonic SbTimeGetMonotonicThreadNow()

SbTimeGetNow

Gets the current system time as an SbTime.

Declaration

SbTime SbTimeGetNow()

SbTimeIsTimeThreadNowSupported

Returns whether the current platform supports time thread now

Declaration

bool SbTimeIsTimeThreadNowSupported()

SbTimeNarrow

Safely narrows a number from a more precise unit to a less precise one. This function rounds negative values toward negative infinity.

Declaration

static int64_t SbTimeNarrow(int64_t time, int64_t divisor)

SbTimeToPosix

Converts SbTime into microseconds from the POSIX epoch.

time: A time that is either measured in microseconds since the epoch of January 1, 1601, UTC, or that measures the number of microseconds between two times.

Declaration

static int64_t SbTimeToPosix(SbTime time)