Develop Biology
The language of life
Time.cpp
Go to the documentation of this file.
1
/*
2
* This file is a part of the Biology project by eons LLC.
3
* Biology (aka Develop Biology) is a framework for approaching software
4
* development from a natural sciences perspective.
5
*
6
* Copyright (C) 2021 Séon O'Shannon & eons LLC
7
*
8
* This program is free software: you can redistribute it and/or modify
9
* it under the terms of the GNU Affero General Public License as
10
* published by the Free Software Foundation, either version 3 of the
11
* License, or (at your option) any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU Affero General Public License for more details.
17
*
18
* You should have received a copy of the GNU Affero General Public License
19
* along with this program. If not, see <https://www.gnu.org/licenses/>.
20
*/
21
22
#include "
bio/physical/Time.h
"
23
#include "
bio/common/macros/LanguageMacros.h
"
24
25
#if BIO_CPP_VERSION < 11
26
#else
27
#include <chrono>
//C++11
28
#endif
29
30
namespace
bio
{
31
namespace
physical {
32
33
#ifdef BIO_FAKE_SYSTEM_TIME
34
static
Timestamp
g_fakeTime = 0;
35
void
SetFakeTime(
const
Timestamp
newTime)
36
{
37
g_fakeTime = newTime;
38
}
39
#endif
40
41
Timestamp
GetCurrentTimestamp
()
42
{
43
#ifdef BIO_FAKE_SYSTEM_TIME
44
return
g_fakeTime;
45
#elif BIO_CPP_VERSION < 11
46
return
0;
//TODO...
47
#else
48
using namespace
std::chrono;
49
auto
now = time_point_cast<milliseconds>(system_clock::now());
50
return
now.time_since_epoch().count();
51
#endif
52
}
53
54
}
//physical namespace
55
}
//bio namespace
LanguageMacros.h
Time.h
bio::physical::GetCurrentTimestamp
Timestamp GetCurrentTimestamp()
Definition:
Time.cpp:41
bio
Definition:
Cell.h:31
bio::Timestamp
uint32_t Timestamp
Definition:
Types.h:68
src
physical
Time.cpp
Generated by
1.9.4