greg_calendar.hpp 1.5 KB

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