BVB Source Codes

mars Show greg_weekday.hpp Source code

Return Download mars: download greg_weekday.hpp Source code - Download mars Source code - Type:.hpp
  1. #ifndef GREG_WEEKDAY_HPP___
  2. #define GREG_WEEKDAY_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, Bart Garst
  9.  * $Date$
  10.  */
  11.  
  12. #include "boost/date_time/constrained_value.hpp"
  13. #include "boost/date_time/date_defs.hpp"
  14. #include "boost/date_time/compiler_config.hpp"
  15. #include <stdexcept>
  16. #include <string>
  17.  
  18. namespace mars_boost {} namespace boost = mars_boost; namespace mars_boost {
  19. namespace gregorian {
  20.  
  21.   //bring enum values into the namespace
  22.   using date_time::Sunday;
  23.   using date_time::Monday;
  24.   using date_time::Tuesday;
  25.   using date_time::Wednesday;
  26.   using date_time::Thursday;
  27.   using date_time::Friday;
  28.   using date_time::Saturday;
  29.  
  30.  
  31.   //! Exception that flags that a weekday number is incorrect
  32.   struct bad_weekday : public std::out_of_range
  33.   {
  34.     bad_weekday() : std::out_of_range(std::string("Weekday is out of range 0..6")) {}
  35.   };
  36.   typedef CV::simple_exception_policy<unsigned short, 0, 6, bad_weekday> greg_weekday_policies;
  37.   typedef CV::constrained_value<greg_weekday_policies> greg_weekday_rep;
  38.  
  39.  
  40.   //! Represent a day within a week (range 0==Sun to 6==Sat)
  41.   class BOOST_DATE_TIME_DECL greg_weekday : public greg_weekday_rep {
  42.   public:
  43.     typedef mars_boost::date_time::weekdays weekday_enum;
  44.     greg_weekday(unsigned short day_of_week_num) :
  45.       greg_weekday_rep(day_of_week_num)
  46.     {}
  47.  
  48.     unsigned short as_number() const {return value_;}
  49.     const char* as_short_string() const;
  50.     const char* as_long_string()  const;
  51. #ifndef BOOST_NO_STD_WSTRING
  52.     const wchar_t* as_short_wstring() const;
  53.     const wchar_t* as_long_wstring()  const;
  54. #endif // BOOST_NO_STD_WSTRING
  55.     weekday_enum as_enum() const {return static_cast<weekday_enum>(value_);}
  56.  
  57.  
  58.   };
  59.  
  60.  
  61.  
  62. } } //namespace gregorian
  63.  
  64.  
  65.  
  66. #endif
  67.  
downloadgreg_weekday.hpp Source code - Download mars Source code
Related Source Codes/Software:
Hero - Elegant transition library for iOS & tvOS 2017-06-09
deep-photo-styletransfer - Code and data for paper "Deep Photo Style Transfer... 2017-06-09
mastodon - A GNU Social-compatible microblogging server ... 2017-06-09
plyr - A simple HTML5, YouTube and Vimeo player ... 2017-06-08
prepack - Prepack is a partial evaluator for JavaScript. Pre... 2017-06-08
Public-APIs - 2017-06-09
lottie-ios - An iOS library to natively render After Effects ve... 2017-06-09
Awesome-Hacking - A collection of various awesome lists for hackers,... 2017-06-09
algorithms - Minimal examples of data structures and algorithms... 2017-06-10
lectures - Oxford Deep NLP 2017 course 2017-06-10
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top