34 #ifndef _LOCALE_FACETS_NONIO_H
35 #define _LOCALE_FACETS_NONIO_H 1
37 #pragma GCC system_header
41 namespace std _GLIBCXX_VISIBILITY(default)
43 _GLIBCXX_BEGIN_NAMESPACE_VERSION
55 enum dateorder { no_order, dmy, mdy, ymd, ydm };
58 template<
typename _CharT>
62 static const _CharT* _S_timezones[14];
64 const _CharT* _M_date_format;
65 const _CharT* _M_date_era_format;
66 const _CharT* _M_time_format;
67 const _CharT* _M_time_era_format;
68 const _CharT* _M_date_time_format;
69 const _CharT* _M_date_time_era_format;
72 const _CharT* _M_am_pm_format;
75 const _CharT* _M_day1;
76 const _CharT* _M_day2;
77 const _CharT* _M_day3;
78 const _CharT* _M_day4;
79 const _CharT* _M_day5;
80 const _CharT* _M_day6;
81 const _CharT* _M_day7;
84 const _CharT* _M_aday1;
85 const _CharT* _M_aday2;
86 const _CharT* _M_aday3;
87 const _CharT* _M_aday4;
88 const _CharT* _M_aday5;
89 const _CharT* _M_aday6;
90 const _CharT* _M_aday7;
93 const _CharT* _M_month01;
94 const _CharT* _M_month02;
95 const _CharT* _M_month03;
96 const _CharT* _M_month04;
97 const _CharT* _M_month05;
98 const _CharT* _M_month06;
99 const _CharT* _M_month07;
100 const _CharT* _M_month08;
101 const _CharT* _M_month09;
102 const _CharT* _M_month10;
103 const _CharT* _M_month11;
104 const _CharT* _M_month12;
107 const _CharT* _M_amonth01;
108 const _CharT* _M_amonth02;
109 const _CharT* _M_amonth03;
110 const _CharT* _M_amonth04;
111 const _CharT* _M_amonth05;
112 const _CharT* _M_amonth06;
113 const _CharT* _M_amonth07;
114 const _CharT* _M_amonth08;
115 const _CharT* _M_amonth09;
116 const _CharT* _M_amonth10;
117 const _CharT* _M_amonth11;
118 const _CharT* _M_amonth12;
122 __timepunct_cache(
size_t __refs = 0) : facet(__refs),
123 _M_date_format(0), _M_date_era_format(0), _M_time_format(0),
124 _M_time_era_format(0), _M_date_time_format(0),
125 _M_date_time_era_format(0), _M_am(0), _M_pm(0),
126 _M_am_pm_format(0), _M_day1(0), _M_day2(0), _M_day3(0),
127 _M_day4(0), _M_day5(0), _M_day6(0), _M_day7(0),
128 _M_aday1(0), _M_aday2(0), _M_aday3(0), _M_aday4(0),
129 _M_aday5(0), _M_aday6(0), _M_aday7(0), _M_month01(0),
130 _M_month02(0), _M_month03(0), _M_month04(0), _M_month05(0),
131 _M_month06(0), _M_month07(0), _M_month08(0), _M_month09(0),
132 _M_month10(0), _M_month11(0), _M_month12(0), _M_amonth01(0),
133 _M_amonth02(0), _M_amonth03(0), _M_amonth04(0),
134 _M_amonth05(0), _M_amonth06(0), _M_amonth07(0),
135 _M_amonth08(0), _M_amonth09(0), _M_amonth10(0),
136 _M_amonth11(0), _M_amonth12(0), _M_allocated(false)
139 ~__timepunct_cache();
143 operator=(
const __timepunct_cache&);
146 __timepunct_cache(
const __timepunct_cache&);
149 template<
typename _CharT>
150 __timepunct_cache<_CharT>::~__timepunct_cache()
161 __timepunct_cache<char>::_S_timezones[14];
163 #ifdef _GLIBCXX_USE_WCHAR_T
166 __timepunct_cache<wchar_t>::_S_timezones[14];
170 template<
typename _CharT>
171 const _CharT* __timepunct_cache<_CharT>::_S_timezones[14];
173 template<
typename _CharT>
174 class __timepunct :
public locale::facet
178 typedef _CharT __char_type;
179 typedef __timepunct_cache<_CharT> __cache_type;
182 __cache_type* _M_data;
183 __c_locale _M_c_locale_timepunct;
184 const char* _M_name_timepunct;
188 static locale::id id;
191 __timepunct(
size_t __refs = 0);
194 __timepunct(__cache_type* __cache,
size_t __refs = 0);
207 __timepunct(__c_locale __cloc,
const char* __s,
size_t __refs = 0);
212 _M_put(_CharT* __s,
size_t __maxlen,
const _CharT* __format,
213 const tm* __tm)
const throw ();
216 _M_date_formats(
const _CharT** __date)
const
219 __date[0] = _M_data->_M_date_format;
220 __date[1] = _M_data->_M_date_era_format;
224 _M_time_formats(
const _CharT** __time)
const
227 __time[0] = _M_data->_M_time_format;
228 __time[1] = _M_data->_M_time_era_format;
232 _M_date_time_formats(
const _CharT** __dt)
const
235 __dt[0] = _M_data->_M_date_time_format;
236 __dt[1] = _M_data->_M_date_time_era_format;
240 _M_am_pm_format(
const _CharT* __ampm)
const
241 { __ampm = _M_data->_M_am_pm_format; }
244 _M_am_pm(
const _CharT** __ampm)
const
246 __ampm[0] = _M_data->_M_am;
247 __ampm[1] = _M_data->_M_pm;
251 _M_days(
const _CharT** __days)
const
253 __days[0] = _M_data->_M_day1;
254 __days[1] = _M_data->_M_day2;
255 __days[2] = _M_data->_M_day3;
256 __days[3] = _M_data->_M_day4;
257 __days[4] = _M_data->_M_day5;
258 __days[5] = _M_data->_M_day6;
259 __days[6] = _M_data->_M_day7;
263 _M_days_abbreviated(
const _CharT** __days)
const
265 __days[0] = _M_data->_M_aday1;
266 __days[1] = _M_data->_M_aday2;
267 __days[2] = _M_data->_M_aday3;
268 __days[3] = _M_data->_M_aday4;
269 __days[4] = _M_data->_M_aday5;
270 __days[5] = _M_data->_M_aday6;
271 __days[6] = _M_data->_M_aday7;
275 _M_months(
const _CharT** __months)
const
277 __months[0] = _M_data->_M_month01;
278 __months[1] = _M_data->_M_month02;
279 __months[2] = _M_data->_M_month03;
280 __months[3] = _M_data->_M_month04;
281 __months[4] = _M_data->_M_month05;
282 __months[5] = _M_data->_M_month06;
283 __months[6] = _M_data->_M_month07;
284 __months[7] = _M_data->_M_month08;
285 __months[8] = _M_data->_M_month09;
286 __months[9] = _M_data->_M_month10;
287 __months[10] = _M_data->_M_month11;
288 __months[11] = _M_data->_M_month12;
292 _M_months_abbreviated(
const _CharT** __months)
const
294 __months[0] = _M_data->_M_amonth01;
295 __months[1] = _M_data->_M_amonth02;
296 __months[2] = _M_data->_M_amonth03;
297 __months[3] = _M_data->_M_amonth04;
298 __months[4] = _M_data->_M_amonth05;
299 __months[5] = _M_data->_M_amonth06;
300 __months[6] = _M_data->_M_amonth07;
301 __months[7] = _M_data->_M_amonth08;
302 __months[8] = _M_data->_M_amonth09;
303 __months[9] = _M_data->_M_amonth10;
304 __months[10] = _M_data->_M_amonth11;
305 __months[11] = _M_data->_M_amonth12;
314 _M_initialize_timepunct(__c_locale __cloc = 0);
317 template<
typename _CharT>
318 locale::id __timepunct<_CharT>::id;
323 __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc);
327 __timepunct<char>::_M_put(
char*,
size_t,
const char*,
const tm*)
const throw ();
329 #ifdef _GLIBCXX_USE_WCHAR_T
332 __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc);
336 __timepunct<wchar_t>::_M_put(
wchar_t*,
size_t,
const wchar_t*,
337 const tm*)
const throw ();
340 _GLIBCXX_END_NAMESPACE_VERSION
346 namespace std _GLIBCXX_VISIBILITY(default)
348 _GLIBCXX_BEGIN_NAMESPACE_VERSION
350 _GLIBCXX_BEGIN_NAMESPACE_CXX11
365 template<
typename _CharT,
typename _InIter>
429 ios_base::iostate& __err, tm* __tm)
const
430 {
return this->
do_get_time(__beg, __end, __io, __err, __tm); }
454 ios_base::iostate& __err, tm* __tm)
const
455 {
return this->
do_get_date(__beg, __end, __io, __err, __tm); }
482 ios_base::iostate& __err, tm* __tm)
const
511 ios_base::iostate& __err, tm* __tm)
const
537 ios_base::iostate& __err, tm* __tm)
const
538 {
return this->
do_get_year(__beg, __end, __io, __err, __tm); }
540 #if __cplusplus >= 201103L
557 iter_type
get(iter_type __s, iter_type __end,
ios_base& __io,
558 ios_base::iostate& __err, tm* __tm,
char __format,
559 char __modifier = 0)
const
561 return this->
do_get(__s, __end, __io, __err, __tm, __format,
583 iter_type
get(iter_type __s, iter_type __end,
ios_base& __io,
584 ios_base::iostate& __err, tm* __tm,
const char_type* __fmt,
585 const char_type* __fmtend)
const;
586 #endif // __cplusplus >= 201103L
623 ios_base::iostate& __err, tm* __tm)
const;
642 ios_base::iostate& __err, tm* __tm)
const;
661 ios_base::iostate& __err, tm* __tm)
const;
680 ios_base::iostate& __err, tm* __tm)
const;
699 ios_base::iostate& __err, tm* __tm)
const;
701 #if __cplusplus >= 201103L
719 #if _GLIBCXX_USE_CXX11_ABI
724 ios_base::iostate& __err, tm* __tm,
725 char __format,
char __modifier)
const;
726 #endif // __cplusplus >= 201103L
730 _M_extract_num(iter_type __beg, iter_type __end,
int& __member,
731 int __min,
int __max,
size_t __len,
732 ios_base& __io, ios_base::iostate& __err)
const;
736 _M_extract_name(iter_type __beg, iter_type __end,
int& __member,
737 const _CharT** __names,
size_t __indexlen,
738 ios_base& __io, ios_base::iostate& __err)
const;
742 _M_extract_wday_or_month(iter_type __beg, iter_type __end,
int& __member,
743 const _CharT** __names,
size_t __indexlen,
744 ios_base& __io, ios_base::iostate& __err)
const;
748 _M_extract_via_format(iter_type __beg, iter_type __end,
ios_base& __io,
749 ios_base::iostate& __err, tm* __tm,
750 const _CharT* __format)
const;
753 template<
typename _CharT,
typename _InIter>
754 locale::id time_get<_CharT, _InIter>::id;
757 template<
typename _CharT,
typename _InIter>
769 #if __cplusplus >= 201103L
780 _GLIBCXX_END_NAMESPACE_CXX11
794 template<
typename _CharT,
typename _OutIter>
835 put(iter_type __s,
ios_base& __io, char_type __fill,
const tm* __tm,
836 const _CharT* __beg,
const _CharT* __end)
const;
856 const tm* __tm,
char __format,
char __mod = 0)
const
857 {
return this->
do_put(__s, __io, __fill, __tm, __format, __mod); }
882 do_put(iter_type __s,
ios_base& __io, char_type __fill,
const tm* __tm,
883 char __format,
char __mod)
const;
886 template<
typename _CharT,
typename _OutIter>
887 locale::id time_put<_CharT, _OutIter>::id;
890 template<
typename _CharT,
typename _OutIter>
903 #if __cplusplus >= 201103L
929 enum part { none, space, symbol, sign, value };
930 struct pattern {
char field[4]; };
932 static const pattern _S_default_pattern;
943 static const char* _S_atoms;
947 _GLIBCXX_CONST
static pattern
948 _S_construct_pattern(
char __precedes,
char __space,
char __posn)
throw ();
951 template<
typename _CharT,
bool _Intl>
954 const char* _M_grouping;
955 size_t _M_grouping_size;
956 bool _M_use_grouping;
957 _CharT _M_decimal_point;
958 _CharT _M_thousands_sep;
959 const _CharT* _M_curr_symbol;
960 size_t _M_curr_symbol_size;
961 const _CharT* _M_positive_sign;
962 size_t _M_positive_sign_size;
963 const _CharT* _M_negative_sign;
964 size_t _M_negative_sign_size;
966 money_base::pattern _M_pos_format;
967 money_base::pattern _M_neg_format;
972 _CharT _M_atoms[money_base::_S_end];
976 __moneypunct_cache(
size_t __refs = 0) : facet(__refs),
977 _M_grouping(0), _M_grouping_size(0), _M_use_grouping(false),
978 _M_decimal_point(_CharT()), _M_thousands_sep(_CharT()),
979 _M_curr_symbol(0), _M_curr_symbol_size(0),
980 _M_positive_sign(0), _M_positive_sign_size(0),
981 _M_negative_sign(0), _M_negative_sign_size(0),
984 _M_neg_format(
money_base::pattern()), _M_allocated(false)
987 ~__moneypunct_cache();
990 _M_cache(
const locale& __loc);
994 operator=(
const __moneypunct_cache&);
997 __moneypunct_cache(
const __moneypunct_cache&);
1000 template<
typename _CharT,
bool _Intl>
1001 __moneypunct_cache<_CharT, _Intl>::~__moneypunct_cache()
1005 delete [] _M_grouping;
1006 delete [] _M_curr_symbol;
1007 delete [] _M_positive_sign;
1008 delete [] _M_negative_sign;
1012 _GLIBCXX_BEGIN_NAMESPACE_CXX11
1021 template<
typename _CharT,
bool _Intl>
1031 typedef __moneypunct_cache<_CharT, _Intl> __cache_type;
1034 __cache_type* _M_data;
1052 :
facet(__refs), _M_data(0)
1053 { _M_initialize_moneypunct(); }
1065 :
facet(__refs), _M_data(__cache)
1066 { _M_initialize_moneypunct(); }
1079 moneypunct(__c_locale __cloc,
const char* __s,
size_t __refs = 0)
1080 :
facet(__refs), _M_data(0)
1081 { _M_initialize_moneypunct(__cloc, __s); }
1258 {
return _M_data->_M_decimal_point; }
1270 {
return _M_data->_M_thousands_sep; }
1283 {
return _M_data->_M_grouping; }
1296 {
return _M_data->_M_curr_symbol; }
1309 {
return _M_data->_M_positive_sign; }
1322 {
return _M_data->_M_negative_sign; }
1336 {
return _M_data->_M_frac_digits; }
1350 {
return _M_data->_M_pos_format; }
1364 {
return _M_data->_M_neg_format; }
1368 _M_initialize_moneypunct(__c_locale __cloc = 0,
1369 const char* __name = 0);
1372 template<
typename _CharT,
bool _Intl>
1373 locale::id moneypunct<_CharT, _Intl>::id;
1375 template<
typename _CharT,
bool _Intl>
1376 const bool moneypunct<_CharT, _Intl>::intl;
1386 moneypunct<char, true>::_M_initialize_moneypunct(__c_locale,
const char*);
1390 moneypunct<char, false>::_M_initialize_moneypunct(__c_locale,
const char*);
1392 #ifdef _GLIBCXX_USE_WCHAR_T
1401 moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale,
1406 moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale,
1411 template<
typename _CharT,
bool _Intl>
1418 static const bool intl = _Intl;
1424 if (__builtin_strcmp(__s,
"C") != 0
1425 && __builtin_strcmp(__s,
"POSIX") != 0)
1428 this->_S_create_c_locale(__tmp, __s);
1429 this->_M_initialize_moneypunct(__tmp);
1430 this->_S_destroy_c_locale(__tmp);
1434 #if __cplusplus >= 201103L
1445 template<
typename _CharT,
bool _Intl>
1448 _GLIBCXX_END_NAMESPACE_CXX11
1450 _GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11
1465 template<
typename _CharT,
typename _InIter>
1518 get(iter_type __s, iter_type __end,
bool __intl,
ios_base& __io,
1519 ios_base::iostate& __err,
long double& __units)
const
1520 {
return this->
do_get(__s, __end, __intl, __io, __err, __units); }
1549 get(iter_type __s, iter_type __end,
bool __intl,
ios_base& __io,
1550 ios_base::iostate& __err, string_type& __digits)
const
1551 {
return this->
do_get(__s, __end, __intl, __io, __err, __digits); }
1566 #if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ \
1567 && _GLIBCXX_USE_CXX11_ABI == 0
1569 __do_get(iter_type __s, iter_type __end,
bool __intl,
ios_base& __io,
1570 ios_base::iostate& __err,
double& __units)
const;
1573 do_get(iter_type __s, iter_type __end,
bool __intl,
ios_base& __io,
1574 ios_base::iostate& __err,
long double& __units)
const;
1585 do_get(iter_type __s, iter_type __end,
bool __intl,
ios_base& __io,
1586 ios_base::iostate& __err, string_type& __digits)
const;
1589 #if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ \
1590 && _GLIBCXX_USE_CXX11_ABI == 0
1592 do_get(iter_type __s, iter_type __end,
bool __intl,
ios_base& __io,
1593 ios_base::iostate& __err,
long double& __units)
const;
1596 template<
bool _Intl>
1598 _M_extract(iter_type __s, iter_type __end,
ios_base& __io,
1599 ios_base::iostate& __err,
string& __digits)
const;
1602 template<
typename _CharT,
typename _InIter>
1603 locale::id money_get<_CharT, _InIter>::id;
1618 template<
typename _CharT,
typename _OutIter>
1661 char_type __fill,
long double __units)
const
1662 {
return this->
do_put(__s, __intl, __io, __fill, __units); }
1684 char_type __fill,
const string_type& __digits)
const
1685 {
return this->
do_put(__s, __intl, __io, __fill, __digits); }
1711 #if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ \
1712 && _GLIBCXX_USE_CXX11_ABI == 0
1714 __do_put(iter_type __s,
bool __intl,
ios_base& __io, char_type __fill,
1715 double __units)
const;
1718 do_put(iter_type __s,
bool __intl,
ios_base& __io, char_type __fill,
1719 long double __units)
const;
1742 do_put(iter_type __s,
bool __intl,
ios_base& __io, char_type __fill,
1743 const string_type& __digits)
const;
1746 #if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ \
1747 && _GLIBCXX_USE_CXX11_ABI == 0
1749 do_put(iter_type __s,
bool __intl,
ios_base& __io, char_type __fill,
1750 long double __units)
const;
1753 template<
bool _Intl>
1755 _M_insert(iter_type __s,
ios_base& __io, char_type __fill,
1756 const string_type& __digits)
const;
1759 template<
typename _CharT,
typename _OutIter>
1760 locale::id money_put<_CharT, _OutIter>::id;
1762 _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11
1770 typedef int catalog;
1773 _GLIBCXX_BEGIN_NAMESPACE_CXX11
1796 template<
typename _CharT>
1810 __c_locale _M_c_locale_messages;
1811 const char* _M_name_messages;
1839 messages(__c_locale __cloc,
const char* __s,
size_t __refs = 0);
1853 {
return this->do_open(__s, __loc); }
1888 get(catalog __c,
int __set,
int __msgid,
const string_type& __s)
const
1889 {
return this->do_get(__c, __set, __msgid, __s); }
1899 close(catalog __c)
const
1900 {
return this->do_close(__c); }
1919 do_open(
const basic_string<char>&,
const locale&)
const;
1938 do_get(catalog,
int,
int,
const string_type& __dfault)
const;
1946 do_close(catalog)
const;
1950 _M_convert_to_char(
const string_type& __msg)
const
1953 return reinterpret_cast<char*
>(
const_cast<_CharT*
>(__msg.c_str()));
1958 _M_convert_from_char(
char*)
const
1965 template<
typename _CharT>
1966 locale::id messages<_CharT>::id;
1971 messages<char>::do_get(catalog,
int,
int,
const string&)
const;
1973 #ifdef _GLIBCXX_USE_WCHAR_T
1976 messages<wchar_t>::do_get(catalog,
int,
int,
const wstring&)
const;
1980 template<
typename _CharT>
1984 typedef _CharT char_type;
1990 #if __cplusplus >= 201103L
2002 _GLIBCXX_END_NAMESPACE_CXX11
2004 _GLIBCXX_END_NAMESPACE_VERSION
_OutIter iter_type
Public typedefs.
virtual string_type do_curr_symbol() const
Return currency symbol string.
virtual char_type do_thousands_sep() const
Return thousands separator character.
_InIter iter_type
Public typedefs.
virtual iter_type do_put(iter_type __s, ios_base &__io, char_type __fill, const tm *__tm, char __format, char __mod) const
Format and output a time or date.
virtual iter_type do_get_year(iter_type __beg, iter_type __end, ios_base &__io, ios_base::iostate &__err, tm *__tm) const
Parse input year string.
class moneypunct_byname [22.2.6.4].
Container class for localization functionality.The locale class is first a class wrapper for C librar...
dateorder date_order() const
Return preferred order of month, day, and year.
basic_string< _CharT > string_type
Public typedefs.
ISO C++ entities toplevel namespace is std.
basic_string< _CharT > string_type
Public typedefs.
virtual ~moneypunct()
Destructor.
moneypunct(__cache_type *__cache, size_t __refs=0)
Constructor performs initialization.
iter_type do_get(iter_type __s, iter_type __end, ios_base &__f, ios_base::iostate &__err, tm *__tm, char __format, char __modifier) const
Parse input string according to format.
moneypunct(__c_locale __cloc, const char *__s, size_t __refs=0)
Internal constructor. Not for general use.
basic_string< wchar_t > wstring
A string of wchar_t.
class messages_byname [22.2.7.2].
virtual string_type do_positive_sign() const
Return positive sign string.
virtual string_type do_negative_sign() const
Return negative sign string.
virtual char_type do_decimal_point() const
Return decimal point character.
Money format ordering data.This class contains an ordered array of 4 fields to represent the pattern ...
class time_put_byname [22.2.5.4].
class time_get_byname [22.2.5.2].
time_put(size_t __refs=0)
Constructor performs initialization.
virtual iter_type do_get_time(iter_type __beg, iter_type __end, ios_base &__io, ios_base::iostate &__err, tm *__tm) const
Parse input time string.
virtual pattern do_pos_format() const
Return pattern for money values.
static locale::id id
Numpunct facet id.
pattern pos_format() const
Return pattern for money values.
string_type positive_sign() const
Return positive sign string.
iter_type get_time(iter_type __beg, iter_type __end, ios_base &__io, ios_base::iostate &__err, tm *__tm) const
Parse input time string.
iter_type put(iter_type __s, bool __intl, ios_base &__io, char_type __fill, long double __units) const
Format and output a monetary value.
Primary class template moneypunct.This facet encapsulates the punctuation, grouping and other formatt...
time_get(size_t __refs=0)
Constructor performs initialization.
moneypunct(size_t __refs=0)
Constructor performs initialization.
virtual string do_grouping() const
Return grouping specification.
virtual iter_type do_get_monthname(iter_type __beg, iter_type __end, ios_base &, ios_base::iostate &__err, tm *__tm) const
Parse input month string.
static locale::id id
Numpunct facet id.
Facet ID class.The ID class provides facets with an index used to identify them. Every facet class mu...
_CharT char_type
Public typedefs.
money_get(size_t __refs=0)
Constructor performs initialization.
char_type decimal_point() const
Return decimal point character.
Primary class template time_put.This facet encapsulates the code to format and output dates and times...
_CharT char_type
Public typedefs.
iter_type put(iter_type __s, bool __intl, ios_base &__io, char_type __fill, const string_type &__digits) const
Format and output a monetary value.
iter_type get_year(iter_type __beg, iter_type __end, ios_base &__io, ios_base::iostate &__err, tm *__tm) const
Parse input year string.
Primary class template time_get.This facet encapsulates the code to parse and return a date or time f...
basic_string< _CharT > string_type
Public typedefs.
facet(size_t __refs=0)
Facet constructor.
The base of the I/O class hierarchy.This class defines everything that can be defined about I/O that ...
virtual iter_type do_put(iter_type __s, bool __intl, ios_base &__io, char_type __fill, long double __units) const
Format and output a monetary value.
Messages facet base class providing catalog typedef.
iter_type put(iter_type __s, ios_base &__io, char_type __fill, const tm *__tm, const _CharT *__beg, const _CharT *__end) const
Format and output a time or date.
virtual iter_type do_get_weekday(iter_type __beg, iter_type __end, ios_base &, ios_base::iostate &__err, tm *__tm) const
Parse input weekday string.
virtual ~time_get()
Destructor.
basic_string< _CharT > string_type
Public typedefs.
char_type thousands_sep() const
Return thousands separator character.
virtual pattern do_neg_format() const
Return pattern for money values.
static locale::id id
Numpunct facet id.
iter_type get_date(iter_type __beg, iter_type __end, ios_base &__io, ios_base::iostate &__err, tm *__tm) const
Parse input date string.
Primary class template money_put.This facet encapsulates the code to format and output a monetary amo...
virtual ~money_get()
Destructor.
Localization functionality base class.The facet class is the base class for a localization feature...
_CharT char_type
Public typedefs.
static const bool intl
This value is provided by the standard, but no reason for its existence.
Primary class template messages.This facet encapsulates the code to retrieve messages from message ca...
virtual iter_type do_get_date(iter_type __beg, iter_type __end, ios_base &__io, ios_base::iostate &__err, tm *__tm) const
Parse input date string.
_CharT char_type
Public typedefs.
const _CharT * c_str() const noexcept
Return const pointer to null-terminated contents.
_CharT char_type
Public typedefs.
string_type curr_symbol() const
Return currency symbol string.
Time format ordering data.This class provides an enum representing different orderings of time: day...
static locale::id id
Numpunct facet id.
virtual ~money_put()
Destructor.
Primary class template money_get.This facet encapsulates the code to parse and return a monetary amou...
iter_type put(iter_type __s, ios_base &__io, char_type __fill, const tm *__tm, char __format, char __mod=0) const
Format and output a time or date.
money_put(size_t __refs=0)
Constructor performs initialization.
string_type negative_sign() const
Return negative sign string.
virtual ~messages()
Destructor.
string grouping() const
Return grouping specification.
virtual dateorder do_date_order() const
Return preferred order of month, day, and year.
static locale::id id
Numpunct facet id.
virtual ~time_put()
Destructor.
iter_type get_weekday(iter_type __beg, iter_type __end, ios_base &__io, ios_base::iostate &__err, tm *__tm) const
Parse input weekday string.
int frac_digits() const
Return number of digits in fraction.
virtual iter_type do_get(iter_type __s, iter_type __end, bool __intl, ios_base &__io, ios_base::iostate &__err, long double &__units) const
Read and parse a monetary value.
static locale::id id
Numpunct facet id.
_OutIter iter_type
Public typedefs.
iter_type get_monthname(iter_type __beg, iter_type __end, ios_base &__io, ios_base::iostate &__err, tm *__tm) const
Parse input month string.
virtual int do_frac_digits() const
Return number of digits in fraction.
pattern neg_format() const
Return pattern for money values.
_InIter iter_type
Public typedefs.
_CharT char_type
Public typedefs.
messages(size_t __refs=0)
Constructor performs initialization.