LCOV - code coverage report
Current view: top level - usr/include/boost/date_time/gregorian - greg_day.hpp (source / functions) Hit Total Coverage
Test: ROSE Lines: 0 8 0.0 %
Date: 2022-12-08 13:48:47 Functions: 0 1 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : #ifndef GREG_DAY_HPP___
       2             : #define GREG_DAY_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 gregorian day of month (1..31)
      21           0 :   struct BOOST_SYMBOL_VISIBLE bad_day_of_month : public std::out_of_range
      22             :   {
      23           0 :     bad_day_of_month() : 
      24           0 :       std::out_of_range(std::string("Day of month value is out of range 1..31")) 
      25           0 :     {}
      26             :     //! Allow other classes to throw with unique string for bad day like Feb 29
      27           0 :     bad_day_of_month(const std::string& s) : 
      28           0 :       std::out_of_range(s) 
      29             :     {}
      30             :   };
      31             :   //! Policy class that declares error handling and day of month ranges
      32             :   typedef CV::simple_exception_policy<unsigned short, 1, 31, bad_day_of_month> greg_day_policies;
      33             : 
      34             :   //! Generated represetation for gregorian day of month
      35             :   typedef CV::constrained_value<greg_day_policies> greg_day_rep;
      36             : 
      37             :   //! Represent a day of the month (range 1 - 31) 
      38             :   /*! This small class allows for simple conversion an integer value into
      39             :       a day of the month for a standard gregorian calendar.  The type 
      40             :       is automatically range checked so values outside of the range 1-31
      41             :       will cause a bad_day_of_month exception
      42             :   */
      43             :   class BOOST_SYMBOL_VISIBLE greg_day : public greg_day_rep {
      44             :   public:
      45           0 :     greg_day(value_type day_of_month) : greg_day_rep(day_of_month) {}
      46             :     value_type as_number() const {return value_;}
      47           0 :     operator value_type()  const {return value_;}
      48             :   private:
      49             :     
      50             :   };
      51             : 
      52             : 
      53             : 
      54             : } } //namespace gregorian
      55             : 
      56             : 
      57             : 
      58             : #endif

Generated by: LCOV version 1.14