Faro Engine 0.0.0.b519570 (main)
Loading...
Searching...
No Matches
Time.hpp
Go to the documentation of this file.
1#pragma once
2#include <chrono>
3#include "../Primitives.hpp"
4
5namespace Faro
6{
7 class Duration
8 {
9 public:
10 static Duration FromHours(int16 hours) { return Duration(std::chrono::system_clock::duration(std::chrono::hours(hours))); }
11 static Duration FromMinutes(int16 minutes) { return Duration(std::chrono::system_clock::duration(std::chrono::minutes(minutes))); }
12 static Duration FromSeconds(int16 seconds) { return Duration(std::chrono::system_clock::duration(std::chrono::seconds(seconds))); }
13 static Duration FromMilliseconds(int16 milliseconds) { return Duration(std::chrono::system_clock::duration(std::chrono::milliseconds(milliseconds))); }
14 static Duration FromMicroseconds(int16 microseconds) { return Duration(std::chrono::system_clock::duration(std::chrono::microseconds(microseconds))); }
15
16 Duration(std::chrono::steady_clock::duration duration) : duration(duration){}
17
18 int32 TotalHours() const;
19 int32 TotalMinutes() const;
20 int64 TotalSeconds() const;
23
24 int8 Hours() const;
25 int8 Minutes() const;
26 int8 Seconds() const;
27 int16 Milliseconds() const;
28 int16 Microseconds() const;
29
30 private:
31 std::chrono::steady_clock::duration duration;
32 };
33
35 {
36 public:
37 static TimePoint Now();
38
39 Duration operator- (TimePoint& other) const { return point - other.point; }
40
41 private:
42 std::chrono::steady_clock::time_point point;
43 };
44}
Definition Time.hpp:8
int32 TotalMinutes() const
Definition Time.cpp:18
static Duration FromSeconds(int16 seconds)
Definition Time.hpp:12
int16 Milliseconds() const
Definition Time.cpp:53
static Duration FromMinutes(int16 minutes)
Definition Time.hpp:11
int8 Minutes() const
Definition Time.cpp:43
static Duration FromMilliseconds(int16 milliseconds)
Definition Time.hpp:13
int64 TotalMilliseconds() const
Definition Time.cpp:28
int8 Hours() const
Definition Time.cpp:38
int64 TotalSeconds() const
Definition Time.cpp:23
int64 TotalMicroseconds() const
Definition Time.cpp:33
int32 TotalHours() const
Definition Time.cpp:13
static Duration FromHours(int16 hours)
Definition Time.hpp:10
int16 Microseconds() const
Definition Time.cpp:58
Duration(std::chrono::steady_clock::duration duration)
Definition Time.hpp:16
static Duration FromMicroseconds(int16 microseconds)
Definition Time.hpp:14
int8 Seconds() const
Definition Time.cpp:48
Definition Time.hpp:35
Duration operator-(TimePoint &other) const
Definition Time.hpp:39
static TimePoint Now()
Definition Time.cpp:6
Definition Array.hpp:8
int32_t int32
Definition Primitives.hpp:13
int8_t int8
Definition Primitives.hpp:7
int16_t int16
Definition Primitives.hpp:10
int64_t int64
Definition Primitives.hpp:16