AuroraRuntime/Include/Aurora/Time/StaticClocks.hpp
Jamie Reece Wilson 83fad7c538 [+] AuTime::Clock<T>::GetCurrentTimeNS();
[+] AuTime::Clock<T>::GetFrequency();
where T =
[+] AuTime::ClockWall
[+] AuTime::ClockSteady
[+] AuTime::ClockProcessTime
[+] AuTime::ClockProcessKernelTime
[+] AuTime::ClockProcessUserTime
[+] AuTime::ClockThreadTime
[+] AuTime::ClockThreadKernelTime
[+] AuTime::ClockThreadUserTime
2023-07-08 17:28:24 +01:00

66 lines
1.2 KiB
C++

/***
Copyright (C) 2023 J Reece Wilson (a/k/a "Reece"). All rights reserved.
File: StaticClocks.hpp
Date: 2023-tbd (<6)
Author: Reece
***/
#pragma once
namespace Aurora::Time
{
/**
* @brief
* @return
*/
AUKN_SYM AuSPtr<IClock> GetWallClock();
/**
* @brief
* @return
*/
AUKN_SYM AuSPtr<IClock> GetSteadyClock();
/**
* @brief kernel + userland cycles used
* @return
*/
AUKN_SYM AuSPtr<IClock> GetProcessClock();
/**
* @brief user time used
* @return
*/
AUKN_SYM AuSPtr<IClock> GetProcessUserClock();
/**
* @brief kernel (if known) cycles used
* @return
*/
AUKN_SYM AuSPtr<IClock> GetProcessKernelClock();
/**
* @brief kernel + userland cycles used
* @return
*/
AUKN_SYM AuSPtr<IClock> GetThreadClock();
/**
* @brief user time used
* @return
*/
AUKN_SYM AuSPtr<IClock> GetThreadUserClock();
/**
* @brief kernel (if known) cycles used
* @return
*/
AUKN_SYM AuSPtr<IClock> GetThreadKernelClock();
/**
* @brief
* @param clock
* @return
*/
AUKN_SYM AuSPtr<IClock> GetClockFromEnum(EClock clock);
}