11 #if defined(AJA_USE_CPLUSPLUS11) && !defined(AJA_BAREMETAL)
13 #ifndef AJA_SLEEP_USE_STL
14 #define AJA_SLEEP_USE_STL // Sleep... functions use STL chrono/thread; comment this out to use native impl
19 #endif // AJA_USE_CPLUSPLUS11
23 #if defined(AJA_COLLECT_SLEEP_STATS)
25 #endif // defined(AJA_COLLECT_SLEEP_STATS)
39 static int64_t GetSystemTime (
void);
45 static int64_t GetSystemCounter (
void);
51 static int64_t GetSystemFrequency (
void);
57 static double GetSystemSeconds (
void);
63 static uint64_t GetSystemMilliseconds (
void);
69 static uint64_t GetSystemMicroseconds (
void);
75 static uint64_t GetSystemNanoseconds (
void);
81 static void Sleep (
const int32_t inMilliseconds);
87 static void SleepInMicroseconds (
const int32_t inMicroseconds);
93 static void SleepInNanoseconds (
const uint64_t inNanoseconds);
95 #if defined(AJA_COLLECT_SLEEP_STATS)
96 static bool CollectSleepStats (
const bool inEnable =
true);
97 static std::string GetSleepStats (
void);
98 #endif // AJA_COLLECT_SLEEP_STATS