8 #ifndef BOOSTER_LOCALE_DATE_TIME_FACET_H_INCLUDED
9 #define BOOSTER_LOCALE_DATE_TIME_FACET_H_INCLUDED
11 #include <booster/config.h>
13 # pragma warning(push)
14 # pragma warning(disable : 4275 4251 4231 4660)
17 #include <booster/cstdint.h>
250 static std::locale::id
id;
virtual void normalize()=0
Change the value up or down not effecting others for example 1990-12-31 + 1 day = 1990-12-01...
Definition: date_time_facet.h:144
minute [0..59]
Definition: date_time_facet.h:50
The week number in the year.
Definition: date_time_facet.h:52
virtual void adjust_value(period::marks::period_mark p, update_type u, int difference)=0
second [0..59]
Definition: date_time_facet.h:51
The week number within current month.
Definition: date_time_facet.h:53
virtual void set_option(calendar_option_type opt, int v)=0
virtual int difference(abstract_calendar const *other, period::marks::period_mark p) const =0
marks::period_mark mark() const
Definition: date_time_facet.h:82
period_mark
the type that defines a flag that holds a period identifier
Definition: date_time_facet.h:31
value_type
Definition: date_time_facet.h:128
uint32_t nanoseconds
Nanoseconds resolution.
Definition: date_time_facet.h:113
virtual int get_option(calendar_option_type opt) const =0
virtual int get_value(period::marks::period_mark p, value_type v) const =0
The day of month, calendar specific, in Gregorian [1..31].
Definition: date_time_facet.h:37
24 clock hour [0..23]
Definition: date_time_facet.h:47
Definition: date_time_facet.h:122
Check if the current time is in daylight time savings.
Definition: date_time_facet.h:152
virtual abstract_calendar * clone() const =0
Local day of week, for example in France Monday is 1, in US Sunday is 1, [1..7].
Definition: date_time_facet.h:46
Definition: date_time_facet.h:133
First day of week, constant, for example Sunday in US = 1, Monday in France = 2.
Definition: date_time_facet.h:54
Maximal value, for Gregorian day it would be 31.
Definition: date_time_facet.h:136
int64_t seconds
Seconds since epoch.
Definition: date_time_facet.h:112
Change the value up or down effecting others for example 1990-12-31 + 1 day = 1991-01-01.
Definition: date_time_facet.h:143
Year, it is calendar specific, for example 2011 in Gregorian calendar.
Definition: date_time_facet.h:34
static std::locale::id id
Definition: date_time_facet.h:250
Extended year for Gregorian/Julian calendars, where 1 BC == 0, 2 BC == -1.
Definition: date_time_facet.h:35
Special invalid value, should not be used directly.
Definition: date_time_facet.h:32
Actual maximum, for it can be 28, 29, 30, 31 for day according to current month.
Definition: date_time_facet.h:135
Definition: date_time_facet.h:111
12 clock hour [0..11]
Definition: date_time_facet.h:48
The number of day in year, starting from 1, in Gregorian [1..366].
Definition: date_time_facet.h:38
Maximal minimum value that can be for this period.
Definition: date_time_facet.h:131
period_type(marks::period_mark m=marks::invalid)
Definition: date_time_facet.h:75
Definition: date_time_facet.h:39
This class holds a type that represents certain period of time like year, hour, second and so on...
Definition: date_time_facet.h:70
am or pm marker [0..1]
Definition: date_time_facet.h:49
Check if the calendar is Gregorian.
Definition: date_time_facet.h:151
Actual minimal value for this period.
Definition: date_time_facet.h:130
virtual void set_time(posix_time const &p)=0
bool operator!=(period_type const &other) const
Definition: date_time_facet.h:97
Definition: date_time_facet.h:44
bool operator==(period_type const &other) const
Definition: date_time_facet.h:90
Current value of this period.
Definition: date_time_facet.h:132
virtual std::string get_timezone() const =0
virtual posix_time get_time() const =0
Era i.e. AC, BC in Gregorian and Julian calendar, range [0,1].
Definition: date_time_facet.h:33
update_type
Definition: date_time_facet.h:142
the facet that generates calendar for specific locale
Definition: date_time_facet.h:234
calendar_option_type
Definition: date_time_facet.h:150
The month of year, calendar specific, in Gregorian [0..11].
Definition: date_time_facet.h:36
Absolute possible minimum for the value, for example for day is 1.
Definition: date_time_facet.h:129
virtual void set_timezone(std::string const &tz)=0
virtual bool same(abstract_calendar const *other) const =0
calendar_facet(size_t refs=0)
Definition: date_time_facet.h:239
virtual void set_value(period::marks::period_mark p, int value)=0