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