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;
239 #if !_GLIBCXX_INLINE_VERSION 241 _M_am_pm_format(
const _CharT*)
const 246 _M_am_pm_format(
const _CharT** __ampm_format)
const 248 __ampm_format[0] = _M_data->_M_am_pm_format;
252 _M_am_pm(
const _CharT** __ampm)
const 254 __ampm[0] = _M_data->_M_am;
255 __ampm[1] = _M_data->_M_pm;
259 _M_days(
const _CharT** __days)
const 261 __days[0] = _M_data->_M_day1;
262 __days[1] = _M_data->_M_day2;
263 __days[2] = _M_data->_M_day3;
264 __days[3] = _M_data->_M_day4;
265 __days[4] = _M_data->_M_day5;
266 __days[5] = _M_data->_M_day6;
267 __days[6] = _M_data->_M_day7;
271 _M_days_abbreviated(
const _CharT** __days)
const 273 __days[0] = _M_data->_M_aday1;
274 __days[1] = _M_data->_M_aday2;
275 __days[2] = _M_data->_M_aday3;
276 __days[3] = _M_data->_M_aday4;
277 __days[4] = _M_data->_M_aday5;
278 __days[5] = _M_data->_M_aday6;
279 __days[6] = _M_data->_M_aday7;
283 _M_months(
const _CharT** __months)
const 285 __months[0] = _M_data->_M_month01;
286 __months[1] = _M_data->_M_month02;
287 __months[2] = _M_data->_M_month03;
288 __months[3] = _M_data->_M_month04;
289 __months[4] = _M_data->_M_month05;
290 __months[5] = _M_data->_M_month06;
291 __months[6] = _M_data->_M_month07;
292 __months[7] = _M_data->_M_month08;
293 __months[8] = _M_data->_M_month09;
294 __months[9] = _M_data->_M_month10;
295 __months[10] = _M_data->_M_month11;
296 __months[11] = _M_data->_M_month12;
300 _M_months_abbreviated(
const _CharT** __months)
const 302 __months[0] = _M_data->_M_amonth01;
303 __months[1] = _M_data->_M_amonth02;
304 __months[2] = _M_data->_M_amonth03;
305 __months[3] = _M_data->_M_amonth04;
306 __months[4] = _M_data->_M_amonth05;
307 __months[5] = _M_data->_M_amonth06;
308 __months[6] = _M_data->_M_amonth07;
309 __months[7] = _M_data->_M_amonth08;
310 __months[8] = _M_data->_M_amonth09;
311 __months[9] = _M_data->_M_amonth10;
312 __months[10] = _M_data->_M_amonth11;
313 __months[11] = _M_data->_M_amonth12;
322 _M_initialize_timepunct(__c_locale __cloc = 0);
325 template<
typename _CharT>
326 locale::id __timepunct<_CharT>::id;
331 __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc);
335 __timepunct<char>::_M_put(
char*,
size_t,
const char*,
const tm*)
const throw ();
337 #ifdef _GLIBCXX_USE_WCHAR_T 340 __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc);
344 __timepunct<wchar_t>::_M_put(
wchar_t*,
size_t,
const wchar_t*,
345 const tm*)
const throw ();
348 _GLIBCXX_END_NAMESPACE_VERSION
354 namespace std _GLIBCXX_VISIBILITY(default)
356 _GLIBCXX_BEGIN_NAMESPACE_VERSION
358 struct __time_get_state
362 _M_finalize_state(tm* __tm);
364 unsigned int _M_have_I : 1;
365 unsigned int _M_have_wday : 1;
366 unsigned int _M_have_yday : 1;
367 unsigned int _M_have_mon : 1;
368 unsigned int _M_have_mday : 1;
369 unsigned int _M_have_uweek : 1;
370 unsigned int _M_have_wweek : 1;
371 unsigned int _M_have_century : 1;
372 unsigned int _M_is_pm : 1;
373 unsigned int _M_want_century : 1;
374 unsigned int _M_want_xday : 1;
375 unsigned int _M_pad1 : 5;
376 unsigned int _M_week_no : 6;
377 unsigned int _M_pad2 : 10;
382 _GLIBCXX_BEGIN_NAMESPACE_CXX11
397 template<
typename _CharT,
typename _InIter>
461 ios_base::iostate& __err, tm* __tm)
const 462 {
return this->
do_get_time(__beg, __end, __io, __err, __tm); }
486 ios_base::iostate& __err, tm* __tm)
const 487 {
return this->
do_get_date(__beg, __end, __io, __err, __tm); }
514 ios_base::iostate& __err, tm* __tm)
const 543 ios_base::iostate& __err, tm* __tm)
const 569 ios_base::iostate& __err, tm* __tm)
const 570 {
return this->
do_get_year(__beg, __end, __io, __err, __tm); }
572 #if __cplusplus >= 201103L 590 ios_base::iostate& __err, tm* __tm,
char __format,
591 char __modifier = 0)
const 593 return this->
do_get(__s, __end, __io, __err, __tm, __format,
616 ios_base::iostate& __err, tm* __tm,
const char_type* __fmt,
618 #endif // __cplusplus >= 201103L 655 ios_base::iostate& __err, tm* __tm)
const;
674 ios_base::iostate& __err, tm* __tm)
const;
693 ios_base::iostate& __err, tm* __tm)
const;
712 ios_base::iostate& __err, tm* __tm)
const;
731 ios_base::iostate& __err, tm* __tm)
const;
733 #if __cplusplus >= 201103L 751 #if _GLIBCXX_USE_CXX11_ABI 756 ios_base::iostate& __err, tm* __tm,
757 char __format,
char __modifier)
const;
758 #endif // __cplusplus >= 201103L 763 int __min,
int __max,
size_t __len,
764 ios_base& __io, ios_base::iostate& __err)
const;
769 const _CharT** __names,
size_t __indexlen,
770 ios_base& __io, ios_base::iostate& __err)
const;
775 const _CharT** __names,
size_t __indexlen,
776 ios_base& __io, ios_base::iostate& __err)
const;
781 ios_base::iostate& __err, tm* __tm,
782 const _CharT* __format)
const;
788 ios_base::iostate& __err, tm* __tm,
789 const _CharT* __format,
790 __time_get_state &__state)
const;
793 template<
typename _CharT,
typename _InIter>
797 template<
typename _CharT,
typename _InIter>
809 #if __cplusplus >= 201103L 820 _GLIBCXX_END_NAMESPACE_CXX11
834 template<
typename _CharT,
typename _OutIter>
876 const _CharT* __beg,
const _CharT* __end)
const;
896 const tm* __tm,
char __format,
char __mod = 0)
const 897 {
return this->
do_put(__s, __io, __fill, __tm, __format, __mod); }
923 char __format,
char __mod)
const;
926 template<
typename _CharT,
typename _OutIter>
930 template<
typename _CharT,
typename _OutIter>
943 #if __cplusplus >= 201103L 969 enum part { none, space, symbol, sign, value };
970 struct pattern {
char field[4]; };
972 static const pattern _S_default_pattern;
983 static const char* _S_atoms;
987 _GLIBCXX_CONST
static pattern
988 _S_construct_pattern(
char __precedes,
char __space,
char __posn)
throw ();
991 template<
typename _CharT,
bool _Intl>
994 const char* _M_grouping;
995 size_t _M_grouping_size;
996 bool _M_use_grouping;
997 _CharT _M_decimal_point;
998 _CharT _M_thousands_sep;
999 const _CharT* _M_curr_symbol;
1000 size_t _M_curr_symbol_size;
1001 const _CharT* _M_positive_sign;
1002 size_t _M_positive_sign_size;
1003 const _CharT* _M_negative_sign;
1004 size_t _M_negative_sign_size;
1006 money_base::pattern _M_pos_format;
1007 money_base::pattern _M_neg_format;
1012 _CharT _M_atoms[money_base::_S_end];
1016 __moneypunct_cache(
size_t __refs = 0) : facet(__refs),
1017 _M_grouping(0), _M_grouping_size(0), _M_use_grouping(false),
1018 _M_decimal_point(_CharT()), _M_thousands_sep(_CharT()),
1019 _M_curr_symbol(0), _M_curr_symbol_size(0),
1020 _M_positive_sign(0), _M_positive_sign_size(0),
1021 _M_negative_sign(0), _M_negative_sign_size(0),
1024 _M_neg_format(
money_base::pattern()), _M_allocated(false)
1027 ~__moneypunct_cache();
1030 _M_cache(
const locale& __loc);
1034 operator=(
const __moneypunct_cache&);
1037 __moneypunct_cache(
const __moneypunct_cache&);
1040 template<
typename _CharT,
bool _Intl>
1041 __moneypunct_cache<_CharT, _Intl>::~__moneypunct_cache()
1045 delete [] _M_grouping;
1046 delete [] _M_curr_symbol;
1047 delete [] _M_positive_sign;
1048 delete [] _M_negative_sign;
1052 _GLIBCXX_BEGIN_NAMESPACE_CXX11
1061 template<
typename _CharT,
bool _Intl>
1071 typedef __moneypunct_cache<_CharT, _Intl> __cache_type;
1074 __cache_type* _M_data;
1092 :
facet(__refs), _M_data(0)
1093 { _M_initialize_moneypunct(); }
1105 :
facet(__refs), _M_data(__cache)
1106 { _M_initialize_moneypunct(); }
1119 moneypunct(__c_locale __cloc,
const char* __s,
size_t __refs = 0)
1120 :
facet(__refs), _M_data(0)
1121 { _M_initialize_moneypunct(__cloc, __s); }
1298 {
return _M_data->_M_decimal_point; }
1310 {
return _M_data->_M_thousands_sep; }
1323 {
return _M_data->_M_grouping; }
1336 {
return _M_data->_M_curr_symbol; }
1349 {
return _M_data->_M_positive_sign; }
1362 {
return _M_data->_M_negative_sign; }
1376 {
return _M_data->_M_frac_digits; }
1390 {
return _M_data->_M_pos_format; }
1404 {
return _M_data->_M_neg_format; }
1408 _M_initialize_moneypunct(__c_locale __cloc = 0,
1409 const char* __name = 0);
1412 template<
typename _CharT,
bool _Intl>
1415 template<
typename _CharT,
bool _Intl>
1426 moneypunct<char, true>::_M_initialize_moneypunct(__c_locale,
const char*);
1430 moneypunct<char, false>::_M_initialize_moneypunct(__c_locale,
const char*);
1432 #ifdef _GLIBCXX_USE_WCHAR_T 1441 moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale,
1446 moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale,
1451 template<
typename _CharT,
bool _Intl>
1458 static const bool intl = _Intl;
1464 if (__builtin_strcmp(__s,
"C") != 0
1465 && __builtin_strcmp(__s,
"POSIX") != 0)
1468 this->_S_create_c_locale(__tmp, __s);
1469 this->_M_initialize_moneypunct(__tmp);
1470 this->_S_destroy_c_locale(__tmp);
1474 #if __cplusplus >= 201103L 1485 template<
typename _CharT,
bool _Intl>
1488 _GLIBCXX_END_NAMESPACE_CXX11
1490 _GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11
1505 template<
typename _CharT,
typename _InIter>
1559 ios_base::iostate& __err,
long double& __units)
const 1560 {
return this->
do_get(__s, __end, __intl, __io, __err, __units); }
1590 ios_base::iostate& __err,
string_type& __digits)
const 1591 {
return this->
do_get(__s, __end, __intl, __io, __err, __digits); }
1606 #if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ \ 1607 && (_GLIBCXX_USE_CXX11_ABI == 0 || defined __LONG_DOUBLE_IEEE128__) 1610 ios_base::iostate& __err,
double& __units)
const;
1614 ios_base::iostate& __err,
long double& __units)
const;
1626 ios_base::iostate& __err,
string_type& __digits)
const;
1629 #if defined _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT \ 1630 && defined __LONG_DOUBLE_IEEE128__ 1633 ios_base::iostate& __err, __ibm128& __units)
const;
1637 #if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ \ 1638 && (_GLIBCXX_USE_CXX11_ABI == 0 || defined __LONG_DOUBLE_IEEE128__) 1641 ios_base::iostate& __err,
long double& __units)
const;
1644 template<
bool _Intl>
1647 ios_base::iostate& __err,
string& __digits)
const;
1650 template<
typename _CharT,
typename _InIter>
1666 template<
typename _CharT,
typename _OutIter>
1709 char_type __fill,
long double __units)
const 1710 {
return this->
do_put(__s, __intl, __io, __fill, __units); }
1733 {
return this->
do_put(__s, __intl, __io, __fill, __digits); }
1759 #if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ \ 1760 && (_GLIBCXX_USE_CXX11_ABI == 0 || defined __LONG_DOUBLE_IEEE128__) 1763 double __units)
const;
1767 long double __units)
const;
1794 #if defined _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT \ 1795 && defined __LONG_DOUBLE_IEEE128__ 1798 __ibm128 __units)
const;
1802 #if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ \ 1803 && (_GLIBCXX_USE_CXX11_ABI == 0 || defined __LONG_DOUBLE_IEEE128__) 1806 long double __units)
const;
1809 template<
bool _Intl>
1815 template<
typename _CharT,
typename _OutIter>
1818 _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11
1826 typedef int catalog;
1829 _GLIBCXX_BEGIN_NAMESPACE_CXX11
1852 template<
typename _CharT>
1866 __c_locale _M_c_locale_messages;
1867 const char* _M_name_messages;
1895 messages(__c_locale __cloc,
const char* __s,
size_t __refs = 0);
1909 {
return this->do_open(__s, __loc); }
1944 get(catalog __c,
int __set,
int __msgid,
const string_type& __s)
const 1945 {
return this->do_get(__c, __set, __msgid, __s); }
1955 close(catalog __c)
const 1956 {
return this->do_close(__c); }
1975 do_open(
const basic_string<char>&,
const locale&)
const;
1994 do_get(catalog,
int,
int,
const string_type& __dfault)
const;
2002 do_close(catalog)
const;
2006 _M_convert_to_char(
const string_type& __msg)
const 2009 return reinterpret_cast<char*
>(
const_cast<_CharT*
>(__msg.c_str()));
2014 _M_convert_from_char(
char*)
const 2021 template<
typename _CharT>
2027 messages<char>::do_get(catalog,
int,
int,
const string&)
const;
2029 #ifdef _GLIBCXX_USE_WCHAR_T 2032 messages<wchar_t>::do_get(catalog,
int,
int,
const wstring&)
const;
2036 template<
typename _CharT>
2046 #if __cplusplus >= 201103L 2058 _GLIBCXX_END_NAMESPACE_CXX11
2060 _GLIBCXX_END_NAMESPACE_VERSION
const _CharT * c_str() const noexcept
Return const pointer to null-terminated contents.
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.
time_put(size_t __refs=0)
Constructor performs initialization.
_CharT char_type
Public typedefs.
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.
Messages facet base class providing catalog typedef.
static const bool intl
This value is provided by the standard, but no reason for its existence.
virtual char_type do_decimal_point() const
Return decimal point character.
static locale::id id
Numpunct facet id.
class time_put_byname [22.2.5.4].
static locale::id id
Numpunct facet id.
virtual ~messages()
Destructor.
string grouping() const
Return grouping specification.
Primary class template time_get.This facet encapsulates the code to parse and return a date or time f...
virtual ~money_get()
Destructor.
_CharT char_type
Public typedefs.
static locale::id id
Numpunct facet id.
basic_string< _CharT > string_type
Public typedefs.
moneypunct(__cache_type *__cache, size_t __refs=0)
Constructor performs initialization.
_CharT char_type
Public typedefs.
virtual string_type do_positive_sign() const
Return positive sign string.
facet(size_t __refs=0)
Facet constructor.
iter_type get_weekday(iter_type __beg, iter_type __end, ios_base &__io, ios_base::iostate &__err, tm *__tm) const
Parse input weekday string.
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.
money_put(size_t __refs=0)
Constructor performs initialization.
virtual ~time_get()
Destructor.
class moneypunct_byname [22.2.6.4].
Time format ordering data.This class provides an enum representing different orderings of time: day...
Container class for localization functionality.The locale class is first a class wrapper for C librar...
Primary class template time_put.This facet encapsulates the code to format and output dates and times...
virtual ~time_put()
Destructor.
class messages_byname [22.2.7.2].
virtual char_type do_thousands_sep() const
Return thousands separator character.
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.
Primary class template money_put.This facet encapsulates the code to format and output a monetary amo...
_CharT char_type
Public typedefs.
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.
Primary class template moneypunct.This facet encapsulates the punctuation, grouping and other formatt...
The base of the I/O class hierarchy.This class defines everything that can be defined about I/O that ...
_CharT char_type
Public typedefs.
ISO C++ entities toplevel namespace is std.
_OutIter iter_type
Public typedefs.
iter_type put(iter_type __s, bool __intl, ios_base &__io, char_type __fill, long double __units) const
Format and output a monetary value.
virtual ~money_put()
Destructor.
_InIter iter_type
Public typedefs.
virtual string_type do_curr_symbol() const
Return currency symbol string.
basic_string< _CharT > string_type
Public typedefs.
Primary class template messages.This facet encapsulates the code to retrieve messages from message ca...
basic_string< _CharT > string_type
Public typedefs.
_CharT char_type
Public typedefs.
virtual ~moneypunct()
Destructor.
char_type thousands_sep() const
Return thousands separator character.
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.
dateorder date_order() const
Return preferred order of month, day, and year.
virtual pattern do_neg_format() const
Return pattern for money values.
Facet ID class.The ID class provides facets with an index used to identify them. Every facet class mu...
virtual string do_grouping() const
Return grouping specification.
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.
char_type decimal_point() const
Return decimal point character.
int frac_digits() const
Return number of digits in fraction.
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.
static locale::id id
Numpunct facet id.
virtual pattern do_pos_format() const
Return pattern for money values.
_InIter iter_type
Public typedefs.
virtual dateorder do_date_order() const
Return preferred order of month, day, and year.
iter_type get_time(iter_type __beg, iter_type __end, ios_base &__io, ios_base::iostate &__err, tm *__tm) const
Parse input time string.
static locale::id id
Numpunct facet id.
string_type curr_symbol() const
Return currency symbol string.
iter_type get_year(iter_type __beg, iter_type __end, ios_base &__io, ios_base::iostate &__err, tm *__tm) const
Parse input year string.
static locale::id id
Numpunct facet id.
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_get(size_t __refs=0)
Constructor performs initialization.
Localization functionality base class.The facet class is the base class for a localization feature...
pattern neg_format() const
Return pattern for money values.
moneypunct(__c_locale __cloc, const char *__s, size_t __refs=0)
Internal constructor. Not for general use.
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.
iter_type get_date(iter_type __beg, iter_type __end, ios_base &__io, ios_base::iostate &__err, tm *__tm) const
Parse input date string.
string_type positive_sign() const
Return positive sign string.
string_type negative_sign() const
Return negative sign string.
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 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.
virtual string_type do_negative_sign() const
Return negative sign string.
time_get(size_t __refs=0)
Constructor performs initialization.
Money format ordering data.This class contains an ordered array of 4 fields to represent the pattern ...
moneypunct(size_t __refs=0)
Constructor performs initialization.
class time_get_byname [22.2.5.2].
virtual int do_frac_digits() const
Return number of digits in fraction.
basic_string< _CharT > string_type
Public typedefs.
basic_string< wchar_t > wstring
A string of wchar_t.
pattern pos_format() const
Return pattern for money values.
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.
messages(size_t __refs=0)
Constructor performs initialization.
Primary class template money_get.This facet encapsulates the code to parse and return a monetary amou...
_OutIter iter_type
Public typedefs.