Added Time class

This commit is contained in:
Robert 2021-04-24 00:12:34 +02:00
parent 2c17d5d533
commit 4b1ed7da1e
4 changed files with 110 additions and 0 deletions

62
src/structures/Time.cpp Normal file
View file

@ -0,0 +1,62 @@
#include "structures/Time.hpp"
#include "..\..\include\structures\Time.hpp"
SDLU_BEGIN
Time::Time() :
microseconds(0)
{
}
float Time::AsSeconds() const
{
return AsValue<float>();
}
Int32 Time::AsMilliseconds() const
{
return AsValue<Int32, std::milli>();
}
Int64 Time::AsMicroseconds() const
{
return AsValue<Int64, std::micro>();
}
std::chrono::seconds Time::AsChronoSeconds() const
{
return AsChrono<std::chrono::seconds>();
}
std::chrono::milliseconds Time::AsChronoMilliseconds() const
{
return AsChrono<std::chrono::milliseconds>();
}
std::chrono::microseconds Time::AsChronoMicroseconds() const
{
return AsChrono<std::chrono::microseconds>();
}
Time Seconds(float seconds)
{
Time newTime;
newTime.microseconds = std::chrono::duration_cast<std::chrono::duration<Int64, std::micro>>(std::chrono::duration<float>(seconds));
return newTime;
}
Time Milliseconds(Int32 milliseconds)
{
Time newTime;
newTime.microseconds = std::chrono::duration_cast<std::chrono::duration<Int64, std::micro>>(std::chrono::duration<Int32, std::milli>(milliseconds));
return newTime;
}
Time Microseconds(Int64 microseconds)
{
Time newTime;
newTime.microseconds = std::chrono::duration<Int64, std::micro>(microseconds);
return newTime;
}
SDLU_END