160 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			160 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | #ifndef DATE_TIME_SIMPLE_FORMAT_HPP___ | ||
|  | #define DATE_TIME_SIMPLE_FORMAT_HPP___ | ||
|  | 
 | ||
|  | /* Copyright (c) 2002,2003 CrystalClear Software, Inc. | ||
|  |  * Use, modification and distribution is subject to the  | ||
|  |  * Boost Software License, Version 1.0. (See accompanying | ||
|  |  * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) | ||
|  |  * Author: Jeff Garland, Bart Garst | ||
|  |  * $Date$ | ||
|  |  */ | ||
|  | 
 | ||
|  | #include "boost/date_time/parse_format_base.hpp" | ||
|  | 
 | ||
|  | namespace boost { | ||
|  | namespace date_time { | ||
|  | 
 | ||
|  | //! Class to provide simple basic formatting rules | ||
|  | template<class charT> | ||
|  | class simple_format { | ||
|  | public: | ||
|  | 
 | ||
|  |   //! String used printed is date is invalid | ||
|  |   static const charT* not_a_date() | ||
|  |   { | ||
|  |     return "not-a-date-time"; | ||
|  |   } | ||
|  |   //! String used to for positive infinity value | ||
|  |   static const charT* pos_infinity() | ||
|  |   {   | ||
|  |     return "+infinity"; | ||
|  |   } | ||
|  |   //! String used to for positive infinity value | ||
|  |   static const charT* neg_infinity() | ||
|  |   { | ||
|  |     return "-infinity"; | ||
|  |   } | ||
|  |   //! Describe month format | ||
|  |   static month_format_spec month_format() | ||
|  |   { | ||
|  |     return month_as_short_string; | ||
|  |   } | ||
|  |   static ymd_order_spec date_order() | ||
|  |   { | ||
|  |     return ymd_order_iso; //YYYY-MM-DD | ||
|  |   } | ||
|  |   //! This format uses '-' to separate date elements | ||
|  |   static bool has_date_sep_chars() | ||
|  |   { | ||
|  |     return true; | ||
|  |   } | ||
|  |   //! Char to sep? | ||
|  |   static charT year_sep_char() | ||
|  |   { | ||
|  |     return '-'; | ||
|  |   } | ||
|  |   //! char between year-month | ||
|  |   static charT month_sep_char() | ||
|  |   { | ||
|  |     return '-'; | ||
|  |   } | ||
|  |   //! Char to separate month-day | ||
|  |   static charT day_sep_char() | ||
|  |   { | ||
|  |     return '-'; | ||
|  |   } | ||
|  |   //! char between date-hours | ||
|  |   static charT hour_sep_char() | ||
|  |   { | ||
|  |     return ' '; | ||
|  |   } | ||
|  |   //! char between hour and minute | ||
|  |   static charT minute_sep_char() | ||
|  |   { | ||
|  |     return ':'; | ||
|  |   } | ||
|  |   //! char for second | ||
|  |   static charT second_sep_char() | ||
|  |   { | ||
|  |     return ':'; | ||
|  |   } | ||
|  | 
 | ||
|  | }; | ||
|  | 
 | ||
|  | #ifndef BOOST_NO_STD_WSTRING | ||
|  | 
 | ||
|  | //! Specialization of formmating rules for wchar_t | ||
|  | template<> | ||
|  | class simple_format<wchar_t> { | ||
|  | public: | ||
|  | 
 | ||
|  |   //! String used printed is date is invalid | ||
|  |   static const wchar_t* not_a_date() | ||
|  |   { | ||
|  |     return L"not-a-date-time"; | ||
|  |   } | ||
|  |   //! String used to for positive infinity value | ||
|  |   static const wchar_t* pos_infinity() | ||
|  |   {    | ||
|  |     return L"+infinity"; | ||
|  |   } | ||
|  |   //! String used to for positive infinity value | ||
|  |   static const wchar_t* neg_infinity() | ||
|  |   { | ||
|  |     return L"-infinity"; | ||
|  |   } | ||
|  |   //! Describe month format | ||
|  |   static month_format_spec month_format() | ||
|  |   { | ||
|  |     return month_as_short_string; | ||
|  |   } | ||
|  |   static ymd_order_spec date_order() | ||
|  |   { | ||
|  |     return ymd_order_iso; //YYYY-MM-DD | ||
|  |   } | ||
|  |   //! This format uses '-' to separate date elements | ||
|  |   static bool has_date_sep_chars() | ||
|  |   { | ||
|  |     return true; | ||
|  |   } | ||
|  |   //! Char to sep? | ||
|  |   static wchar_t year_sep_char() | ||
|  |   { | ||
|  |     return '-'; | ||
|  |   } | ||
|  |   //! char between year-month | ||
|  |   static wchar_t month_sep_char() | ||
|  |   { | ||
|  |     return '-'; | ||
|  |   } | ||
|  |   //! Char to separate month-day | ||
|  |   static wchar_t day_sep_char() | ||
|  |   { | ||
|  |     return '-'; | ||
|  |   } | ||
|  |   //! char between date-hours | ||
|  |   static wchar_t hour_sep_char() | ||
|  |   { | ||
|  |     return ' '; | ||
|  |   } | ||
|  |   //! char between hour and minute | ||
|  |   static wchar_t minute_sep_char() | ||
|  |   { | ||
|  |     return ':'; | ||
|  |   } | ||
|  |   //! char for second | ||
|  |   static wchar_t second_sep_char() | ||
|  |   { | ||
|  |     return ':'; | ||
|  |   } | ||
|  | 
 | ||
|  | }; | ||
|  | 
 | ||
|  | #endif // BOOST_NO_STD_WSTRING | ||
|  | } } //namespace date_time | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | #endif |