greg_calendar.hpp 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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$
  9. */
  10. #include <boost/cstdint.hpp>
  11. #include <boost/date_time/compiler_config.hpp>
  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>
  17. namespace boost {
  18. namespace gregorian {
  19. //!An internal date representation that includes infinities, not a date
  20. typedef date_time::int_adapter<uint32_t> fancy_date_rep;
  21. //! Gregorian calendar for this implementation, hard work in the base
  22. class BOOST_SYMBOL_VISIBLE gregorian_calendar :
  23. public date_time::gregorian_calendar_base<greg_year_month_day, fancy_date_rep::int_type> {
  24. public:
  25. //! Type to hold a weekday (eg: Sunday, Monday,...)
  26. typedef greg_weekday day_of_week_type;
  27. //! Counter type from 1 to 366 for gregorian dates.
  28. typedef greg_day_of_year_rep day_of_year_type;
  29. //! Internal date representation that handles infinity, not a date
  30. typedef fancy_date_rep date_rep_type;
  31. //! Date rep implements the traits stuff as well
  32. typedef fancy_date_rep date_traits_type;
  33. private:
  34. };
  35. } } //namespace gregorian
  36. #endif