41 using years = std::chrono::duration
42 <int, std::ratio_multiply<std::ratio<1461, 4>, days::period>>;
44 using months = std::chrono::duration
45 <int, std::ratio_divide<years::period, std::ratio<12>>>;
198 template<
class CharT,
class Traits>
199 std::basic_ostream<CharT, Traits>&
200 operator<<(std::basic_ostream<CharT, Traits>& os,
const day& d);
235 template<
class CharT,
class Traits>
236 std::basic_ostream<CharT, Traits>&
237 operator<<(std::basic_ostream<CharT, Traits>& os,
const month& m);
277 template<
class CharT,
class Traits>
278 std::basic_ostream<CharT, Traits>&
279 operator<<(std::basic_ostream<CharT, Traits>& os,
const year& y);
288 explicit weekday(
int) =
delete;
318 template<
class CharT,
class Traits>
319 std::basic_ostream<CharT, Traits>&
320 operator<<(std::basic_ostream<CharT, Traits>& os,
const weekday& wd);
326 unsigned char wd_ : 4;
327 unsigned char index_ : 4;
340 template<
class CharT,
class Traits>
341 std::basic_ostream<CharT, Traits>&
342 operator<<(std::basic_ostream<CharT, Traits>& os,
const weekday_indexed& wdi);
360 template<
class CharT,
class Traits>
361 std::basic_ostream<CharT, Traits>&
362 operator<<(std::basic_ostream<CharT, Traits>& os,
const weekday_last& wdl);
401 template<
class CharT,
class Traits>
402 std::basic_ostream<CharT, Traits>&
403 operator<<(std::basic_ostream<CharT, Traits>& os,
const year_month& ym);
428 template<
class CharT,
class Traits>
429 std::basic_ostream<CharT, Traits>&
430 operator<<(std::basic_ostream<CharT, Traits>& os,
const month_day& md);
452 template<
class CharT,
class Traits>
453 std::basic_ostream<CharT, Traits>&
454 operator<<(std::basic_ostream<CharT, Traits>& os,
const month_day_last& mdl);
475 template<
class CharT,
class Traits>
476 std::basic_ostream<CharT, Traits>&
477 operator<<(std::basic_ostream<CharT, Traits>& os,
const month_weekday& mwd);
501 template<
class CharT,
class Traits>
502 std::basic_ostream<CharT, Traits>&
553 template<
class CharT,
class Traits>
554 std::basic_ostream<CharT, Traits>&
555 operator<<(std::basic_ostream<CharT, Traits>& os,
const year_month_day& ymd);
620 template<
class CharT,
class Traits>
621 std::basic_ostream<CharT, Traits>&
687 template<
class CharT,
class Traits>
688 std::basic_ostream<CharT, Traits>&
753 template<
class CharT,
class Traits>
754 std::basic_ostream<CharT, Traits>&
757 #if !defined(_MSC_VER) || (_MSC_VER >= 1900) 758 inline namespace literals
778 #endif // !defined(_MSC_VER) || (_MSC_VER >= 1900) 793 CONSTCD11 inline day::operator unsigned() const NOEXCEPT {
return d_;}
801 return static_cast<unsigned>(x) == static_cast<unsigned>(y);
817 return static_cast<unsigned>(x) < static_cast<unsigned>(y);
849 return days{
static_cast<days::rep
>(
static_cast<unsigned>(x)
850 - static_cast<unsigned>(y))};
858 return day{
static_cast<unsigned>(x) + static_cast<unsigned>(y.count())};
877 template<
class CharT,
class Traits>
879 std::basic_ostream<CharT, Traits>&
880 operator<<(std::basic_ostream<CharT, Traits>& os,
const day& d)
886 os << static_cast<unsigned>(d);
916 CONSTCD11 inline month::operator unsigned() const NOEXCEPT {
return m_;}
924 return static_cast<unsigned>(x) == static_cast<unsigned>(y);
940 return static_cast<unsigned>(x) < static_cast<unsigned>(y);
972 auto const d =
static_cast<unsigned>(x) - static_cast<unsigned>(y);
973 return months(d <= 11 ? d : d + 12);
981 auto const mu =
static_cast<long long>(
static_cast<unsigned>(x)) - 1 + y.count();
982 auto const yr = (mu >= 0 ? mu : mu-11) / 12;
983 return month{
static_cast<unsigned>(mu - yr * 12 + 1)};
1002 template<
class CharT,
class Traits>
1004 std::basic_ostream<CharT, Traits>&
1005 operator<<(std::basic_ostream<CharT, Traits>& os,
const month& m)
1007 switch (static_cast<unsigned>(m))
1046 os << static_cast<unsigned>(m) <<
" is not a valid month";
1070 CONSTCD11 inline year::operator int() const NOEXCEPT {
return y_;}
1078 return year{std::numeric_limits<short>::min()};
1086 return year{std::numeric_limits<short>::max()};
1094 return static_cast<int>(x) == static_cast<int>(y);
1110 return static_cast<int>(x) < static_cast<int>(y);
1142 return years{
static_cast<int>(x) - static_cast<int>(y)};
1150 return year{
static_cast<int>(x) + y.count()};
1166 return year{
static_cast<int>(x) - y.count()};
1169 template<
class CharT,
class Traits>
1171 std::basic_ostream<CharT, Traits>&
1172 operator<<(std::basic_ostream<CharT, Traits>& os,
const year& y)
1177 os.width(4 + (y <
year{0}));
1178 os << static_cast<int>(y);
1187 weekday::weekday_from_days(
int z) NOEXCEPT
1189 return static_cast<unsigned char>(
static_cast<unsigned>(
1190 z >= -4 ? (z+4) % 7 : (z+5) % 7 + 6));
1196 : wd_(
static_cast<decltype(wd_)
>(wd))
1202 : wd_(weekday_from_days(dp.time_since_epoch().count()))
1208 : wd_(weekday_from_days(dp.time_since_epoch().count()))
1236 weekday::operator unsigned() const NOEXCEPT
1238 return static_cast<unsigned>(wd_);
1248 return static_cast<unsigned>(x) == static_cast<unsigned>(y);
1264 auto const diff =
static_cast<unsigned>(x) - static_cast<unsigned>(y);
1265 return days{diff <= 6 ? diff : diff + 7};
1273 auto const wdu =
static_cast<long long>(
static_cast<unsigned>(x)) + y.count();
1274 auto const wk = (wdu >= 0 ? wdu : wdu-6) / 7;
1275 return weekday{
static_cast<unsigned>(wdu - wk * 7)};
1294 template<
class CharT,
class Traits>
1296 std::basic_ostream<CharT, Traits>&
1297 operator<<(std::basic_ostream<CharT, Traits>& os,
const weekday& wd)
1299 switch (static_cast<unsigned>(wd))
1323 os << static_cast<unsigned>(wd) <<
" is not a valid weekday";
1329 #if !defined(_MSC_VER) || (_MSC_VER >= 1900) 1330 inline namespace literals
1336 operator "" _d(
unsigned long long d) NOEXCEPT
1344 operator "" _y(
unsigned long long y) NOEXCEPT
1348 #endif // !defined(_MSC_VER) || (_MSC_VER >= 1900) 1373 #if !defined(_MSC_VER) || (_MSC_VER >= 1900) 1394 return weekday().
ok() && 1 <= index_ && index_ <= 5;
1400 : wd_(
static_cast<decltype(wd_)
>(static_cast<unsigned>(wd)))
1401 , index_(
static_cast<decltype(index_)
>(index))
1404 template<
class CharT,
class Traits>
1406 std::basic_ostream<CharT, Traits>&
1409 return os << wdi.
weekday() <<
'[' << wdi.
index() <<
']';
1417 return {*
this, index};
1458 template<
class CharT,
class Traits>
1460 std::basic_ostream<CharT, Traits>&
1463 return os << wdl.
weekday() <<
"[last]";
1578 auto dmi =
static_cast<int>(
static_cast<unsigned>(ym.
month())) - 1 + dm.count();
1579 auto dy = (dmi >= 0 ? dmi : dmi-11) / 12;
1580 dmi = dmi - dy * 12 + 1;
1581 return (ym.
year() +
years(dy)) /
month(static_cast<unsigned>(dmi));
1606 months(static_cast<unsigned>(x.
month()) - static_cast<unsigned>(y.
month()));
1633 template<
class CharT,
class Traits>
1635 std::basic_ostream<CharT, Traits>&
1636 operator<<(std::basic_ostream<CharT, Traits>& os,
const year_month& ym)
1638 return os << ym.
year() <<
'/' << ym.
month();
1659 {31_d, 29_d, 31_d, 30_d, 31_d, 30_d, 31_d, 31_d, 30_d, 31_d, 30_d, 31_d};
1660 return m_.
ok() && 1_d <= d_ && d_ <= d[static_cast<unsigned>(m_)-1];
1668 return x.
month() == y.
month() && x.day() == y.day();
1686 : (x.day() < y.day()));
1713 template<
class CharT,
class Traits>
1715 std::basic_ostream<CharT, Traits>&
1716 operator<<(std::basic_ostream<CharT, Traits>& os,
const month_day& md)
1718 return os << md.
month() <<
'/' << md.
day();
1775 template<
class CharT,
class Traits>
1777 std::basic_ostream<CharT, Traits>&
1780 return os << mdl.
month() <<
"/last";
1808 return m_.ok() && wdi_.ok();
1816 return x.
month() == y.
month() && x.weekday_indexed() == y.weekday_indexed();
1827 template<
class CharT,
class Traits>
1829 std::basic_ostream<CharT, Traits>&
1860 return m_.ok() && wdl_.ok();
1879 template<
class CharT,
class Traits>
1881 std::basic_ostream<CharT, Traits>&
1950 {31_d, 28_d, 31_d, 30_d, 31_d, 30_d, 31_d, 31_d, 30_d, 31_d, 30_d, 31_d};
1951 return month() !=
feb || !y_.is_leap() ? d[
static_cast<unsigned>(
month())-1] : 29_d;
1956 year_month_day_last::operator
sys_days() const NOEXCEPT
1973 return y_.ok() && mdl_.ok();
1981 return x.
year() == y.
year() && x.month_day_last() == y.month_day_last();
1999 : (x.month_day_last() < y.month_day_last()));
2026 template<
class CharT,
class Traits>
2028 std::basic_ostream<CharT, Traits>&
2055 return ymdl + (-dm);
2079 return ymdl + (-dy);
2156 year_month_day::to_days()
const NOEXCEPT
2158 static_assert(std::numeric_limits<unsigned>::digits >= 18,
2159 "This algorithm has not been ported to a 16 bit unsigned integer");
2160 static_assert(std::numeric_limits<int>::digits >= 20,
2161 "This algorithm has not been ported to a 16 bit signed integer");
2162 auto const y =
static_cast<int>(y_) - (m_ <=
feb);
2163 auto const m =
static_cast<unsigned>(m_);
2164 auto const d =
static_cast<unsigned>(d_);
2165 auto const era = (y >= 0 ? y : y-3) / 4;
2166 auto const yoe =
static_cast<unsigned>(y - era * 4);
2167 auto const doy = (153*(m > 2 ? m-3 : m+9) + 2)/5 + d-1;
2168 auto const doe = yoe * 365 + doy;
2169 return days{era * 1461 +
static_cast<int>(doe) - 719470};
2191 if (!(y_.ok() && m_.ok()))
2193 return 1_d <= d_ && d_ <= (y_/m_/
last).
day();
2221 : (x.day() < y.day()))));
2248 template<
class CharT,
class Traits>
2250 std::basic_ostream<CharT, Traits>&
2256 os << ymd.
year() <<
'-';
2258 os << static_cast<unsigned>(ymd.
month()) <<
'-';
2266 year_month_day::from_days(
days dp) NOEXCEPT
2268 static_assert(std::numeric_limits<unsigned>::digits >= 18,
2269 "This algorithm has not been ported to a 16 bit unsigned integer");
2270 static_assert(std::numeric_limits<int>::digits >= 20,
2271 "This algorithm has not been ported to a 16 bit signed integer");
2272 auto const z = dp.count() + 719470;
2273 auto const era = (z >= 0 ? z : z - 1460) / 1461;
2274 auto const doe =
static_cast<unsigned>(z - era * 1461);
2275 auto const yoe = (doe - doe/1460) / 365;
2276 auto const y =
static_cast<sys_days::rep
>(yoe) + era * 4;
2277 auto const doy = doe - 365*yoe;
2278 auto const mp = (5*doy + 2)/153;
2279 auto const d = doy - (153*mp+2)/5 + 1;
2280 auto const m = mp < 10 ? mp+3 : mp-9;
2408 return wdi_.index();
2438 if (!y_.ok() || !m_.ok() || !wdi_.weekday().ok() || wdi_.index() < 1)
2440 if (wdi_.index() <= 4)
2443 return static_cast<unsigned>(d2.count()) <= static_cast<unsigned>((y_/m_/
last).day());
2449 year_month_weekday::from_days(
days d) NOEXCEPT
2454 return {ymd.
year(), ymd.
month(), wd[(
static_cast<unsigned>(ymd.
day())-1)/7+1]};
2460 year_month_weekday::to_days()
const NOEXCEPT
2464 ).time_since_epoch();
2473 x.weekday_indexed() == y.weekday_indexed();
2484 template<
class CharT,
class Traits>
2486 std::basic_ostream<CharT, Traits>&
2489 return os << ymwdi.
year() <<
'/' << ymwdi.month()
2490 <<
'/' << ymwdi.weekday_indexed();
2514 return ymwd + (-dm);
2538 return ymwd + (-dy);
2610 year_month_weekday_last::operator
sys_days() const NOEXCEPT
2627 return y_.ok() && m_.ok() && wdl_.ok();
2633 year_month_weekday_last::to_days()
const NOEXCEPT
2656 template<
class CharT,
class Traits>
2658 std::basic_ostream<CharT, Traits>&
2685 return ymwdl + (-dm);
2709 return ymwdl + (-dy);
2727 return y /
month(static_cast<unsigned>(m));
2753 return m /
day(static_cast<unsigned>(d));
2761 return month(static_cast<unsigned>(m)) / d;
2789 return month(static_cast<unsigned>(m))/
last;
2823 return month(static_cast<unsigned>(m)) / wdi;
2857 return month(static_cast<unsigned>(m)) / wdl;
2883 return ym /
day(static_cast<unsigned>(d));
2899 return year(y) / md;
2915 return year(y) / md;
2941 return year(y) / mdl;
2957 return year(y) / mdl;
2983 return year(y) / mwd;
2999 return year(y) / mwd;
3025 return year(y) / mwdl;
3041 return year(y) / mwdl;
CONSTCD11 bool operator>(const day &x, const day &y) NOEXCEPT
Definition: julian.h:823
CONSTDATA julian::month jun
Definition: julian.h:1357
CONSTDATA julian::month oct
Definition: julian.h:1361
CONSTCD11 julian::month month() const NOEXCEPT
Definition: julian.h:1650
CONSTCD14 year_month_weekday_last & operator-=(const months &m) NOEXCEPT
Definition: julian.h:2565
CONSTCD11 month(unsigned m) NOEXCEPT
Definition: julian.h:892
CONSTCD11 day operator+(const day &x, const days &y) NOEXCEPT
Definition: julian.h:856
CONSTCD14 month & operator+=(const months &m) NOEXCEPT
Definition: julian.h:901
CONSTCD14 year_month_day & operator+=(const months &m) NOEXCEPT
Definition: julian.h:2120
CONSTCD11 julian::month month() const NOEXCEPT
Definition: julian.h:1793
CONSTCD11 unsigned index() const NOEXCEPT
Definition: julian.h:2406
CONSTCD11 bool ok() const NOEXCEPT
Definition: julian.h:1485
CONSTCD14 day & operator-=(const days &d) NOEXCEPT
Definition: julian.h:792
std::chrono::duration< int, std::ratio_divide< years::period, std::ratio< 12 > >> months
Definition: julian.h:45
local_time< days > local_days
Definition: date.h:172
CONSTCD11 julian::year year() const NOEXCEPT
Definition: julian.h:2392
CONSTCD11 year_month_day(const julian::year &y, const julian::month &m, const julian::day &d) NOEXCEPT
Definition: julian.h:2086
CONSTCD14 month & operator--() NOEXCEPT
Definition: julian.h:895
CONSTCD11 bool ok() const NOEXCEPT
Definition: julian.h:2625
#define NOEXCEPT
Definition: date.h:124
CONSTCD14 julian::day day() const NOEXCEPT
Definition: julian.h:1947
CONSTCD11 julian::year year() const NOEXCEPT
Definition: julian.h:2589
CONSTDATA julian::weekday mon
Definition: julian.h:1366
CONSTCD14 day & operator++() NOEXCEPT
Definition: julian.h:787
CONSTCD14 year_month_weekday_last & operator+=(const months &m) NOEXCEPT
Definition: julian.h:2556
CONSTCD11 bool ok() const NOEXCEPT
Definition: julian.h:917
date::days days
Definition: julian.h:37
CONSTCD11 julian::month month() const NOEXCEPT
Definition: julian.h:1723
CONSTCD11 unsigned index() const NOEXCEPT
Definition: julian.h:1387
CONSTCD11 julian::year year() const NOEXCEPT
Definition: julian.h:2113
CONSTDATA julian::month jan
Definition: julian.h:1352
CONSTDATA julian::month apr
Definition: julian.h:1355
CONSTCD11 bool ok() const NOEXCEPT
Definition: julian.h:1439
CONSTCD14 weekday & operator-=(const days &d) NOEXCEPT
Definition: julian.h:1228
CONSTCD14 weekday & operator++() NOEXCEPT
Definition: julian.h:1211
date::local_days local_days
Definition: julian.h:50
CONSTCD11 bool ok() const NOEXCEPT
Definition: julian.h:794
CONSTDATA julian::month sep
Definition: julian.h:1360
CONSTCD11 year_month(const julian::year &y, const julian::month &m) NOEXCEPT
Definition: julian.h:1478
sys_time< days > sys_days
Definition: date.h:163
CONSTCD14 year_month_weekday & operator+=(const months &m) NOEXCEPT
Definition: julian.h:2359
CONSTCD14 year_month_day & operator-=(const months &m) NOEXCEPT
Definition: julian.h:2129
CONSTDATA julian::weekday fri
Definition: julian.h:1370
CONSTCD11 julian::year year() const NOEXCEPT
Definition: julian.h:1483
CONSTCD11 weekday(unsigned wd) NOEXCEPT
Definition: julian.h:1195
std::chrono::duration< int, std::ratio_multiply< std::ratio< 7 >, days::period > > weeks
Definition: date.h:150
CONSTCD14 year & operator+=(const years &y) NOEXCEPT
Definition: julian.h:1059
CONSTCD14 day & operator+=(const days &d) NOEXCEPT
Definition: julian.h:791
CONSTCD14 year_month_day_last & operator-=(const months &m) NOEXCEPT
Definition: julian.h:1909
CONSTCD11 julian::month month() const NOEXCEPT
Definition: julian.h:2590
CONSTDATA julian::weekday thu
Definition: julian.h:1369
CONSTCD14 year_month_day_last & operator+=(const months &m) NOEXCEPT
Definition: julian.h:1900
CONSTDATA julian::weekday wed
Definition: julian.h:1368
CONSTCD11 bool ok() const NOEXCEPT
Definition: julian.h:1392
CONSTCD11 julian::month_day_last month_day_last() const NOEXCEPT
Definition: julian.h:1939
CONSTCD14 year & operator--() NOEXCEPT
Definition: julian.h:1057
date::sys_days sys_days
Definition: julian.h:49
CONSTCD11 julian::month month() const NOEXCEPT
Definition: julian.h:2114
CONSTCD11 year_month_day_last(const julian::year &y, const julian::month_day_last &mdl) NOEXCEPT
Definition: julian.h:1891
CONSTCD11 bool is_leap() const NOEXCEPT
Definition: julian.h:1065
CONSTCD11 weekday_indexed(const julian::weekday &wd, unsigned index) NOEXCEPT
Definition: julian.h:1399
std::chrono::duration< int, std::ratio_multiply< std::ratio< 1461, 4 >, days::period > > years
Definition: julian.h:42
CONSTCD11 julian::weekday_last weekday_last() const NOEXCEPT
Definition: julian.h:1850
CONSTCD11 bool ok() const NOEXCEPT
Definition: julian.h:1858
CONSTCD11 weekday_last(const julian::weekday &wd) NOEXCEPT
Definition: julian.h:1440
CONSTCD14 year_month_weekday & operator-=(const months &m) NOEXCEPT
Definition: julian.h:2368
CONSTDATA julian::month may
Definition: julian.h:1356
std::chrono::duration< int, std::ratio_multiply< std::ratio< 24 >, std::chrono::hours::period > > days
Definition: date.h:147
CONSTCD14 day & operator--() NOEXCEPT
Definition: julian.h:789
CONSTCD14 year_month & operator-=(const months &dm) NOEXCEPT
Definition: julian.h:1499
CONSTCD11 julian::month month() const NOEXCEPT
Definition: julian.h:1484
CONSTDATA julian::last_spec last
Definition: julian.h:1350
#define CONSTDATA
Definition: date.h:121
CONSTCD11 day operator-(const day &x, const days &y) NOEXCEPT
Definition: julian.h:872
CONSTCD11 bool ok() const NOEXCEPT
Definition: julian.h:1806
CONSTCD14 month & operator++() NOEXCEPT
Definition: julian.h:893
CONSTCD11 year_month operator/(const year &y, const month &m) NOEXCEPT
Definition: julian.h:2717
static CONSTCD11 year max() NOEXCEPT
Definition: julian.h:1084
CONSTCD11 julian::weekday weekday() const NOEXCEPT
Definition: julian.h:1382
CONSTCD11 bool operator<(const day &x, const day &y) NOEXCEPT
Definition: julian.h:815
CONSTCD11 bool operator==(const day &x, const day &y) NOEXCEPT
Definition: julian.h:799
CONSTCD11 julian::month month() const NOEXCEPT
Definition: julian.h:1934
CONSTCD11 julian::weekday weekday() const NOEXCEPT
Definition: julian.h:2398
CONSTCD11 bool operator<=(const day &x, const day &y) NOEXCEPT
Definition: julian.h:831
CONSTCD14 bool ok() const NOEXCEPT
Definition: julian.h:2436
static CONSTCD11 year min() NOEXCEPT
Definition: julian.h:1076
CONSTCD11 julian::year year() const NOEXCEPT
Definition: julian.h:1933
CONSTCD11 julian::month month() const NOEXCEPT
Definition: julian.h:2393
CONSTCD11 bool ok() const NOEXCEPT
Definition: julian.h:1971
#define CONSTCD14
Definition: date.h:123
CONSTDATA julian::month jul
Definition: julian.h:1358
auto operator+=(std::string &lhs, StringRef const &sr) -> std::string &
CONSTCD11 julian::day day() const NOEXCEPT
Definition: julian.h:1651
CONSTCD11 julian::weekday weekday() const NOEXCEPT
Definition: julian.h:2595
CONSTDATA julian::month nov
Definition: julian.h:1362
CONSTDATA julian::month aug
Definition: julian.h:1359
CONSTCD11 month_day(const julian::month &m, const julian::day &d) NOEXCEPT
Definition: julian.h:1645
CONSTCD14 bool ok() const NOEXCEPT
Definition: julian.h:2189
CONSTDATA julian::weekday sat
Definition: julian.h:1371
CONSTCD11 bool ok() const NOEXCEPT
Definition: julian.h:1241
CONSTCD11 year_month_weekday_last(const julian::year &y, const julian::month &m, const julian::weekday_last &wdl) NOEXCEPT
Definition: julian.h:2545
CONSTCD11 julian::day day() const NOEXCEPT
Definition: julian.h:2115
CONSTCD14 year & operator-=(const years &y) NOEXCEPT
Definition: julian.h:1060
CONSTDATA julian::month dec
Definition: julian.h:1363
CONSTCD14 year_month & operator+=(const months &dm) NOEXCEPT
Definition: julian.h:1490
CONSTCD11 bool operator>=(const day &x, const day &y) NOEXCEPT
Definition: julian.h:839
CONSTCD11 bool operator!=(const day &x, const day &y) NOEXCEPT
Definition: julian.h:807
CONSTDATA julian::month mar
Definition: julian.h:1354
CONSTCD14 year & operator++() NOEXCEPT
Definition: julian.h:1055
CONSTCD11 month_day_last(const julian::month &m) NOEXCEPT
Definition: julian.h:1725
CONSTCD11 julian::weekday_indexed weekday_indexed() const NOEXCEPT
Definition: julian.h:1798
CONSTCD11 year(int y) NOEXCEPT
Definition: julian.h:1054
CONSTCD11 julian::weekday_indexed weekday_indexed() const NOEXCEPT
Definition: julian.h:2414
CONSTCD11 bool ok() const NOEXCEPT
Definition: julian.h:1724
CONSTCD14 weekday & operator+=(const days &d) NOEXCEPT
Definition: julian.h:1219
CONSTCD14 month & operator-=(const months &m) NOEXCEPT
Definition: julian.h:910
date::weeks weeks
Definition: julian.h:39
CONSTCD11 julian::weekday_last weekday_last() const NOEXCEPT
Definition: julian.h:2603
CONSTCD11 bool ok() const NOEXCEPT
Definition: julian.h:1071
CONSTCD14 weekday & operator--() NOEXCEPT
Definition: julian.h:1213
CONSTCD11 weekday_indexed operator[](unsigned index) const NOEXCEPT
Definition: julian.h:1415
CONSTCD11 julian::month month() const NOEXCEPT
Definition: julian.h:1845
CONSTCD11 month_weekday(const julian::month &m, const julian::weekday_indexed &wdi) NOEXCEPT
Definition: julian.h:1787
CONSTCD11 day(unsigned d) NOEXCEPT
Definition: julian.h:786
CONSTDATA julian::month feb
Definition: julian.h:1353
CONSTDATA julian::weekday sun
Definition: julian.h:1365
CONSTCD14 bool ok() const NOEXCEPT
Definition: julian.h:1656
CONSTDATA julian::weekday tue
Definition: julian.h:1367
CONSTCD11 month_weekday_last(const julian::month &m, const julian::weekday_last &wd) NOEXCEPT
Definition: julian.h:1839
CONSTCD11 julian::weekday weekday() const NOEXCEPT
Definition: julian.h:1438
CONSTCD11 year_month_weekday(const julian::year &y, const julian::month &m, const julian::weekday_indexed &wdi) NOEXCEPT
Definition: julian.h:2336
#define CONSTCD11
Definition: date.h:122