acme
Foundational cross-platform layer of the ca2 framework
Toggle main menu visibility
Loading...
Searching...
No Matches
nanosecond.h
1
// Created by camilo on 2023-07-04 18:45 <3ThomasBorregaardSorensen!!
2
#pragma once
3
4
5
struct
nanosecond_t
{};
6
7
struct
nanosecond
8
{
9
10
::i64 m_iNanosecond;
11
12
constexpr
nanosecond
() : m_iNanosecond(0) {}
13
constexpr
nanosecond(no_initialize_t) {}
14
template
< prototype_
int
egral INTEGRAL >
15
constexpr
nanosecond(nanosecond_t, INTEGRAL iNanosecond) : m_iNanosecond(iNanosecond) {}
16
constexpr
nanosecond(
const
nanosecond &) =
default
;
17
18
19
constexpr
nanosecond operator + (nanosecond nanosecond)
const
20
{
21
return
{ nanosecond_t{}, m_iNanosecond + nanosecond.m_iNanosecond };
22
}
23
24
constexpr
nanosecond operator - (nanosecond nanosecond)
const
25
{
26
return
{ nanosecond_t {}, m_iNanosecond - nanosecond.m_iNanosecond };
27
}
28
29
constexpr
nanosecond & operator += (nanosecond nanosecond)
30
{
31
m_iNanosecond += nanosecond.m_iNanosecond;
32
return
*
this
;
33
}
34
35
constexpr
nanosecond & operator -=(nanosecond nanosecond)
36
{
37
m_iNanosecond -= nanosecond.m_iNanosecond;
38
return
*
this
;
39
}
40
41
constexpr
nanosecond & operator =(
const
nanosecond & nanosecond)
42
{
43
m_iNanosecond = nanosecond.m_iNanosecond;
44
return
*
this
;
45
}
46
47
template
< prototype_
int
egral INTEGRAL >
48
constexpr
nanosecond operator * (INTEGRAL i)
const
49
{
50
return
{ nanosecond_t{}, m_iNanosecond * i };
51
}
52
53
54
};
55
56
57
nanosecond
Definition
aaa_nanosecond.h:9
nanosecond_t
Definition
nanosecond.h:5
prototype
time
time
nanosecond.h
Generated by
1.17.0