20 #ifndef OPM_TIMESERVICE_HEADER_INCLUDED 21 #define OPM_TIMESERVICE_HEADER_INCLUDED 27 #include <unordered_map> 33 using time_point = std::chrono::time_point<std::chrono::system_clock, std::chrono::duration<std::int64_t, std::ratio<1,1000>>>;
35 namespace TimeService {
36 std::time_t to_time_t(
const time_point& tp);
37 time_point from_time_t(std::time_t t);
40 std::time_t advance(
const std::time_t tp,
const double sec);
41 std::time_t makeUTCTime(std::tm timePoint);
42 const std::unordered_map<std::string , int>& eclipseMonthIndices();
43 const std::unordered_map<int, std::string>& eclipseMonthNames();
44 int eclipseMonth(
const std::string& name);
45 bool valid_month(
const std::string& month_name);
47 std::time_t mkdatetime(
int in_year,
int in_month,
int in_day,
int hour,
int minute,
int second);
48 std::time_t mkdate(
int in_year,
int in_month,
int in_day);
49 std::time_t portable_timegm(
const std::tm* t);
50 std::time_t timeFromEclipse(
const DeckRecord &dateRecord);
61 bool operator==(
const YMD& data)
const 63 return year == data.year &&
64 month == data.month &&
68 template<
class Serializer>
96 const YMD& ymd()
const {
return ymd_; }
97 int year()
const {
return this->ymd_.year; }
98 int month()
const {
return this->ymd_.month; }
99 int day()
const {
return this->ymd_.day; }
100 int hour()
const {
return this->hour_; }
101 int minutes()
const {
return this->minutes_; }
102 int seconds()
const {
return this->seconds_; }
103 int microseconds()
const {
return this->usec_; }
105 template<
class Serializer>
106 void serializeOp(Serializer& serializer)
110 serializer(minutes_);
111 serializer(seconds_);
124 TimeStampUTC operator+(
const TimeStampUTC& lhs, std::chrono::duration<double> delta);
125 std::time_t asTimeT(
const TimeStampUTC& tp);
126 std::time_t asLocalTimeT(
const TimeStampUTC& tp);
127 time_point asTimePoint(
const TimeStampUTC& tp);
132 #endif // OPM_TIMESERVICE_HEADER_INCLUDED Definition: TimeService.hpp:53
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:30
Class for (de-)serializing.
Definition: Serializer.hpp:95
Definition: TimeService.hpp:56