PixelBullet  0.0.1
A C++ game engine
Loading...
Searching...
No Matches
duration.h
1#pragma once
2
3namespace pixelbullet
4{
5class Duration
6{
7public:
8 constexpr Duration() = default;
9
10 constexpr explicit Duration(const double seconds)
11 : seconds_(seconds)
12 {
13 }
14
15 [[nodiscard]] static constexpr Duration from_seconds(const double seconds)
16 {
17 return Duration(seconds);
18 }
19
20 [[nodiscard]] static constexpr Duration from_milliseconds(const double milliseconds)
21 {
22 return Duration(milliseconds / 1000.0);
23 }
24
25 [[nodiscard]] constexpr double seconds() const
26 {
27 return seconds_;
28 }
29
30 [[nodiscard]] constexpr double milliseconds() const
31 {
32 return seconds_ * 1000.0;
33 }
34
35private:
36 double seconds_ = 0.0;
37};
38} // namespace pixelbullet