File indexing completed on 2025-01-30 09:35:19
0001 #ifndef GREG_YEAR_HPP___
0002 #define GREG_YEAR_HPP___
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #include <boost/date_time/compiler_config.hpp>
0013 #include <boost/date_time/constrained_value.hpp>
0014 #include <stdexcept>
0015 #include <string>
0016
0017 namespace boost {
0018 namespace gregorian {
0019
0020
0021 struct BOOST_SYMBOL_VISIBLE bad_year : public std::out_of_range
0022 {
0023 bad_year() :
0024 std::out_of_range(std::string("Year is out of valid range: 1400..9999"))
0025 {}
0026 };
0027
0028 typedef CV::simple_exception_policy<unsigned short, 1400, 9999, bad_year> greg_year_policies;
0029
0030
0031 typedef CV::constrained_value<greg_year_policies> greg_year_rep;
0032
0033
0034
0035
0036
0037
0038
0039
0040 class BOOST_SYMBOL_VISIBLE greg_year : public greg_year_rep {
0041 public:
0042 BOOST_CXX14_CONSTEXPR greg_year(value_type year) : greg_year_rep(year) {}
0043 BOOST_CXX14_CONSTEXPR operator value_type() const {return value_;}
0044 };
0045
0046
0047
0048 } }
0049
0050
0051
0052 #endif