1 #ifndef GREG_DAY_OF_YEAR_HPP___ 2 #define GREG_DAY_OF_YEAR_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/date_time/constrained_value.hpp> 13 #include <boost/date_time/compiler_config.hpp> 14 #include <stdexcept> 15 #include <string> 16 17 namespace boost { 18 namespace gregorian { 19 20 //! Exception type for day of year (1..366) 21 struct BOOST_SYMBOL_VISIBLE bad_day_of_year : public std::out_of_range 22 { bad_day_of_yearboost::gregorian::bad_day_of_year23 bad_day_of_year() : 24 std::out_of_range(std::string("Day of year value is out of range 1..366")) 25 {} 26 }; 27 28 //! A day of the year range (1..366) 29 typedef CV::simple_exception_policy<unsigned short,1,366,bad_day_of_year> greg_day_of_year_policies; 30 31 //! Define a range representation type for the day of the year 1..366 32 typedef CV::constrained_value<greg_day_of_year_policies> greg_day_of_year_rep; 33 34 35 } } //namespace gregorian 36 37 38 39 #endif 40