greg_calendar.hpp 1.5 KB

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