TrinityCore
Duration.h
Go to the documentation of this file.
1/*
2 * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#ifndef _DURATION_H_
19#define _DURATION_H_
20
21// HACKS TERRITORY
22#if __has_include(<__msvc_chrono.hpp>)
23#include <__msvc_chrono.hpp> // skip all the formatting/istream/locale/mutex bloat
24#else
25#include <chrono>
26#endif
27
29typedef std::chrono::milliseconds Milliseconds;
30
32typedef std::chrono::seconds Seconds;
33
35typedef std::chrono::minutes Minutes;
36
38typedef std::chrono::hours Hours;
39
41typedef std::chrono::steady_clock::time_point TimePoint;
42typedef std::chrono::system_clock::time_point SystemTimePoint;
43
45using namespace std::chrono_literals;
46
47constexpr std::chrono::hours operator""_days(unsigned long long days)
48{
49 return std::chrono::hours(days * 24h);
50}
51
52#endif // _DURATION_H_
std::chrono::system_clock::time_point SystemTimePoint
Definition: Duration.h:42
std::chrono::hours Hours
Hours shorthand typedef.
Definition: Duration.h:38
std::chrono::steady_clock::time_point TimePoint
time_point shorthand typedefs
Definition: Duration.h:41
std::chrono::seconds Seconds
Seconds shorthand typedef.
Definition: Duration.h:32
std::chrono::milliseconds Milliseconds
Milliseconds shorthand typedef.
Definition: Duration.h:29
std::chrono::minutes Minutes
Minutes shorthand typedef.
Definition: Duration.h:35