source: NonGTP/Boost/boost/date_time/date_format_simple.hpp @ 857

Revision 857, 3.2 KB checked in by igarcia, 19 years ago (diff)
Line 
1#ifndef DATE_TIME_SIMPLE_FORMAT_HPP___
2#define DATE_TIME_SIMPLE_FORMAT_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 or http://www.boost.org/LICENSE-1.0)
8 * Author: Jeff Garland, Bart Garst
9 * $Date: 2004/08/29 19:31:11 $
10 */
11
12#include "boost/date_time/parse_format_base.hpp"
13
14namespace boost {
15namespace date_time {
16
17//! Class to provide simple basic formatting rules
18template<class charT>
19class simple_format {
20public:
21
22  //! String used printed is date is invalid
23  static const charT* not_a_date()
24  {
25    return "not-a-date-time";
26  }
27  //! String used to for positive infinity value
28  static const charT* pos_infinity()
29  { 
30    return "+infinity";
31  }
32  //! String used to for positive infinity value
33  static const charT* neg_infinity()
34  {
35    return "-infinity";
36  }
37  //! Describe month format
38  static month_format_spec month_format()
39  {
40    return month_as_short_string;
41  }
42  static ymd_order_spec date_order()
43  {
44    return ymd_order_iso; //YYYY-MM-DD
45  }
46  //! This format uses '-' to separate date elements
47  static bool has_date_sep_chars()
48  {
49    return true;
50  }
51  //! Char to sep?
52  static charT year_sep_char()
53  {
54    return '-';
55  }
56  //! char between year-month
57  static charT month_sep_char()
58  {
59    return '-';
60  }
61  //! Char to separate month-day
62  static charT day_sep_char()
63  {
64    return '-';
65  }
66  //! char between date-hours
67  static charT hour_sep_char()
68  {
69    return ' ';
70  }
71  //! char between hour and minute
72  static charT minute_sep_char()
73  {
74    return ':';
75  }
76  //! char for second
77  static charT second_sep_char()
78  {
79    return ':';
80  }
81
82};
83
84#ifndef BOOST_NO_STD_WSTRING
85
86//! Specialization of formmating rules for wchar_t
87template<>
88class simple_format<wchar_t> {
89public:
90
91  //! String used printed is date is invalid
92  static const wchar_t* not_a_date()
93  {
94    return L"not-a-date-time";
95  }
96  //! String used to for positive infinity value
97  static const wchar_t* pos_infinity()
98  {   
99    return L"+infinity";
100  }
101  //! String used to for positive infinity value
102  static const wchar_t* neg_infinity()
103  {
104    return L"-infinity";
105  }
106  //! Describe month format
107  static month_format_spec month_format()
108  {
109    return month_as_short_string;
110  }
111  static ymd_order_spec date_order()
112  {
113    return ymd_order_iso; //YYYY-MM-DD
114  }
115  //! This format uses '-' to separate date elements
116  static bool has_date_sep_chars()
117  {
118    return true;
119  }
120  //! Char to sep?
121  static wchar_t year_sep_char()
122  {
123    return '-';
124  }
125  //! char between year-month
126  static wchar_t month_sep_char()
127  {
128    return '-';
129  }
130  //! Char to separate month-day
131  static wchar_t day_sep_char()
132  {
133    return '-';
134  }
135  //! char between date-hours
136  static wchar_t hour_sep_char()
137  {
138    return ' ';
139  }
140  //! char between hour and minute
141  static wchar_t minute_sep_char()
142  {
143    return ':';
144  }
145  //! char for second
146  static wchar_t second_sep_char()
147  {
148    return ':';
149  }
150
151};
152
153#endif // BOOST_NO_STD_WSTRING
154} } //namespace date_time
155
156
157
158
159#endif
Note: See TracBrowser for help on using the repository browser.