123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- #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
|