AuroraRuntime/Include/Aurora/Time/StaticClocks.hpp

66 lines
1.2 KiB
C++
Raw Normal View History

/***
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);
}