1 #ifndef GREGORIAN_GREGORIAN_CALENDAR_HPP__ 2 #define GREGORIAN_GREGORIAN_CALENDAR_HPP__ 3 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) 8 * Author: Jeff Garland 9 * $Date$ 10 */ 11 12 #include <boost/cstdint.hpp> 13 #include <boost/date_time/compiler_config.hpp> 14 #include <boost/date_time/gregorian/greg_weekday.hpp> 15 #include <boost/date_time/gregorian/greg_day_of_year.hpp> 16 #include <boost/date_time/gregorian_calendar.hpp> 17 #include <boost/date_time/gregorian/greg_ymd.hpp> 18 #include <boost/date_time/int_adapter.hpp> 19 20 namespace boost { 21 namespace gregorian { 22 23 //!An internal date representation that includes infinities, not a date 24 typedef date_time::int_adapter<uint32_t> fancy_date_rep; 25 26 //! Gregorian calendar for this implementation, hard work in the base 27 class BOOST_SYMBOL_VISIBLE gregorian_calendar : 28 public date_time::gregorian_calendar_base<greg_year_month_day, fancy_date_rep::int_type> { 29 public: 30 //! Type to hold a weekday (eg: Sunday, Monday,...) 31 typedef greg_weekday day_of_week_type; 32 //! Counter type from 1 to 366 for gregorian dates. 33 typedef greg_day_of_year_rep day_of_year_type; 34 //! Internal date representation that handles infinity, not a date 35 typedef fancy_date_rep date_rep_type; 36 //! Date rep implements the traits stuff as well 37 typedef fancy_date_rep date_traits_type; 38 39 40 private: 41 }; 42 43 } } //namespace gregorian 44 45 46 47 48 #endif 49 50