6#ifndef _TIME_SHIELD_ENUMS_HPP_INCLUDED
7#define _TIME_SHIELD_ENUMS_HPP_INCLUDED
56 static const char*
const uppercase_names[] = {
57 "SUN",
"MON",
"TUE",
"WED",
"THU",
"FRI",
"SAT"
59 static const char*
const short_names[] = {
60 "Sun",
"Mon",
"Tue",
"Wed",
"Thu",
"Fri",
"Sat"
62 static const char*
const full_names[] = {
63 "Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
68 return uppercase_names[
static_cast<size_t>(value)];
70 return short_names[
static_cast<size_t>(value)];
72 return full_names[
static_cast<size_t>(value)];
82 static const std::array<std::string, 7> uppercase_names = {
83 "SUN",
"MON",
"TUE",
"WED",
"THU",
"FRI",
"SAT"
85 static const std::array<std::string, 7> short_names = {
86 "Sun",
"Mon",
"Tue",
"Wed",
"Thu",
"Fri",
"Sat"
88 static const std::array<std::string, 7> full_names = {
89 "Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
94 return uppercase_names[
static_cast<size_t>(value)];
96 return short_names[
static_cast<size_t>(value)];
98 return full_names[
static_cast<size_t>(value)];
124 static const char*
const uppercase_names[] = {
126 "JAN",
"FEB",
"MAR",
"APR",
"MAY",
"JUN",
127 "JUL",
"AUG",
"SEP",
"OCT",
"NOV",
"DEC"
129 static const char*
const short_names[] = {
131 "Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
132 "Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"
134 static const char*
const full_names[] = {
136 "January",
"February",
"March",
"April",
"May",
"June",
137 "July",
"August",
"September",
"October",
"November",
"December"
142 return uppercase_names[
static_cast<size_t>(value)];
144 return short_names[
static_cast<size_t>(value)];
146 return full_names[
static_cast<size_t>(value)];
156 static const std::array<std::string, 13> uppercase_names = {
158 "JAN",
"FEB",
"MAR",
"APR",
"MAY",
"JUN",
159 "JUL",
"AUG",
"SEP",
"OCT",
"NOV",
"DEC"
161 static const std::array<std::string, 13> short_names = {
163 "Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
164 "Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"
166 static const std::array<std::string, 13> full_names = {
168 "January",
"February",
"March",
"April",
"May",
"June",
169 "July",
"August",
"September",
"October",
"November",
"December"
174 return uppercase_names[
static_cast<size_t>(value)];
176 return short_names[
static_cast<size_t>(value)];
178 return full_names[
static_cast<size_t>(value)];
201 static const char*
const uppercase_names[] = {
202 "GMT",
"UTC",
"EET",
"CET",
"WET",
"EEST",
"CEST",
"WEST",
"UNKNOWN"
204 static const char*
const short_names[] = {
205 "GMT",
"UTC",
"EET",
"CET",
"WET",
"EEST",
"CEST",
"WEST",
"Unknown"
207 static const char*
const full_names[] = {
208 "Greenwich Mean Time",
"Coordinated Universal Time",
"Eastern European Time",
209 "Central European Time",
"Western European Time",
"Eastern European Summer Time",
210 "Central European Summer Time",
"Western European Summer Time",
"Unknown Time Zone"
215 return uppercase_names[
static_cast<size_t>(value)];
217 return short_names[
static_cast<size_t>(value)];
219 return full_names[
static_cast<size_t>(value)];
229 static const std::array<std::string, 9> uppercase_names = {
230 "GMT",
"UTC",
"EET",
"CET",
"WET",
"EEST",
"CEST",
"WEST",
"UNKNOWN"
232 static const std::array<std::string, 9> short_names = {
233 "gmt",
"utc",
"eet",
"cet",
"wet",
"eest",
"cest",
"west",
"unknown"
235 static const std::array<std::string, 9> full_names = {
236 "Greenwich Mean Time",
"Coordinated Universal Time",
"Eastern European Time",
237 "Central European Time",
"Western European Time",
"Eastern European Summer Time",
238 "Central European Summer Time",
"Western European Summer Time",
"Unknown Time Zone"
243 return uppercase_names[
static_cast<size_t>(value)];
245 return short_names[
static_cast<size_t>(value)];
247 return full_names[
static_cast<size_t>(value)];
MoonPhase
Enumeration of the moon phases.
TimeFormatType
Enumeration of time format types.
FormatType
Enumeration of the format options for representing a weekday or month.
Month
Enumeration of the months of the year.
TimeZone
Enumeration of the time zones.
const char * to_cstr(Weekday value, FormatType format=UPPERCASE_NAME)
Converts a Weekday enum value to a string.
Weekday
Enumeration of the days of the week.
const std::string & to_str(Weekday value, FormatType format=UPPERCASE_NAME)
Converts a Weekday enum value to a string.
@ LAST_QUARTER
Last Quarter Moon.
@ WAXING_CRESCENT
Waxing Crescent Moon.
@ FIRST_QUARTER
First Quarter Moon.
@ WANING_CRESCENT
Waning Crescent Moon.
@ WANING_GIBBOUS
Waning Gibbous Moon.
@ WAXING_GIBBOUS
Waxing Gibbous Moon.
@ AMERICAN_MONTH_DAY
American date format (e.g., "06/06/2024")
@ EUROPEAN_TIME
European time format (e.g., "12:30")
@ MQL5_FULL
MQL5 time format (e.g., "2024.06.06 12:30:45")
@ ISO8601_NO_TZ
ISO8601 format without time zone (e.g., "2024-06-06T12:30:45")
@ MQL5_TIME_ONLY
MQL5 time format (e.g., "12:30:45")
@ MQL5_DATE_ONLY
MQL5 date format (e.g., "2024.06.06")
@ AMERICAN_TIME
American time format (e.g., "12:30 PM")
@ EUROPEAN_MONTH_DAY
European date format (e.g., "06.06.2024")
@ ISO8601_WITH_TZ
ISO8601 format with time zone (e.g., "2024-06-06T12:30:45+03:00")
@ UPPERCASE_NAME
Uppercase short name.
@ UTC
Coordinated Universal Time.
@ GMT
Greenwich Mean Time.
@ CET
Central European Time.
@ EET
Eastern European Time.
@ CEST
Central European Summer Time.
@ WEST
Western European Summer Time.
@ WET
Western European Time.
@ UNKNOWN
Unknown Time Zone.
@ EEST
Eastern European Summer Time.
Main namespace for the Time Shield library.