CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
Chrono.hpp
Go to the documentation of this file.
1//
2// CeresEngine - A game development framework
3//
4// Created by Rogiel Sulzbach.
5// Copyright (c) 2018-2022 Rogiel Sulzbach. All rights reserved.
6//
7
8#pragma once
9
12
13#include <chrono>
14#include <ratio>
15
16namespace CeresEngine {
17
29 template<typename Representation, typename Period = std::ratio<1>> using TTimeInterval = std::chrono::duration<Representation, Period>;
30
33
36
39
42
45
48
51
54
57
60
63
64 // ---------------------------------------------------------------------------------------------
65
66 using SystemClock = std::chrono::system_clock;
67 using SteadyClock = std::chrono::steady_clock;
68 using HighResolutionClock = std::chrono::high_resolution_clock;
69 // using UTCClock = std::chrono::utc_clock;
70 // using FileClock = std::chrono::file_clock;
71
72 // using TimeZone = std::chrono::time_zone;
73
74 // ---------------------------------------------------------------------------------------------
75
80 template<typename Clock, typename Duration = typename Clock::duration> using TDate = std::chrono::time_point<Clock, Duration>;
81
84
87
88} // namespace CeresEngine
Definition Application.hpp:19
std::chrono::high_resolution_clock HighResolutionClock
Definition Chrono.hpp:68
TDate< SystemClock, TimeInterval > Date
Represents a point in time.
Definition Chrono.hpp:83
TDate< SteadyClock, TimeInterval > SteadyClockDate
Represents a point in time.
Definition Chrono.hpp:86
TTimeInterval< TimeInterval::rep, std::ratio< 60 > > Minutes
A time duration with minutes.
Definition Chrono.hpp:47
TTimeInterval< TimeInterval::rep, std::micro > Microseconds
A time duration with microseconds.
Definition Chrono.hpp:38
TTimeInterval< TimeInterval::rep, std::ratio< 86400 > > Days
A time duration with days.
Definition Chrono.hpp:53
std::chrono::time_point< Clock, Duration > TDate
Represents a point in time.
Definition Chrono.hpp:80
TTimeInterval< double > TimeInterval
Represents a time interval.
Definition Chrono.hpp:32
TTimeInterval< TimeInterval::rep, std::ratio< 604800 > > Weeks
A time duration with weeks.
Definition Chrono.hpp:56
TTimeInterval< TimeInterval::rep > Seconds
A time duration with seconds.
Definition Chrono.hpp:44
TTimeInterval< TimeInterval::rep, std::nano > Nanoseconds
A time duration with nanoseconds.
Definition Chrono.hpp:35
TTimeInterval< TimeInterval::rep, std::ratio< 31556952 > > Years
A time duration with years.
Definition Chrono.hpp:62
TTimeInterval< TimeInterval::rep, std::milli > Milliseconds
A time duration with milliseconds.
Definition Chrono.hpp:41
std::chrono::steady_clock SteadyClock
Definition Chrono.hpp:67
std::chrono::duration< Representation, Period > TTimeInterval
Represents a time interval.
Definition Chrono.hpp:29
TTimeInterval< TimeInterval::rep, std::ratio< 2629746 > > Months
A time duration with months.
Definition Chrono.hpp:59
std::chrono::system_clock SystemClock
Definition Chrono.hpp:66
TTimeInterval< TimeInterval::rep, std::ratio< 3600 > > Hours
A time duration with hours.
Definition Chrono.hpp:50