1 #ifndef GREGORIAN_GREGORIAN_CALENDAR_HPP__
2 #define GREGORIAN_GREGORIAN_CALENDAR_HPP__
4 /* Copyright (c) 2002,2003 CrystalClear Software, Inc.
5 * Use, modification and distribution is subject to the
6 * Boost Software License, Version 1.0. (See accompanying
7 * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
12 #include "boost/date_time/gregorian/greg_weekday.hpp"
13 #include "boost/date_time/gregorian/greg_day_of_year.hpp"
14 #include "boost/date_time/gregorian_calendar.hpp"
15 #include "boost/date_time/gregorian/greg_ymd.hpp"
16 #include "boost/date_time/int_adapter.hpp"
21 //!An internal date representation that includes infinities, not a date
22 typedef date_time::int_adapter
<unsigned long> fancy_date_rep
;
24 //! Gregorian calendar for this implementation, hard work in the base
25 class gregorian_calendar
:
26 public date_time::gregorian_calendar_base
<greg_year_month_day
, fancy_date_rep::int_type
> {
28 //! Type to hold a weekday (eg: Sunday, Monday,...)
29 typedef greg_weekday day_of_week_type
;
30 //! Counter type from 1 to 366 for gregorian dates.
31 typedef greg_day_of_year_rep day_of_year_type
;
32 //! Internal date representation that handles infinity, not a date
33 typedef fancy_date_rep date_rep_type
;
34 //! Date rep implements the traits stuff as well
35 typedef fancy_date_rep date_traits_type
;
41 } } //namespace gregorian