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>
794 locale::id time_get<_CharT, _InIter>::id;
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>
927 locale::id time_put<_CharT, _OutIter>::id;
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>
1413 locale::id moneypunct<_CharT, _Intl>::id;
1415 template<
typename _CharT,
bool _Intl>
1416 const bool moneypunct<_CharT, _Intl>::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>
1651 locale::id money_get<_CharT, _InIter>::id;
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>
1816 locale::id money_put<_CharT, _OutIter>::id;
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>
2022 locale::id messages<_CharT>::id;
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
int frac_digits() const
Return number of digits in fraction.
class moneypunct_byname [22.2.6.4].
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.
char_type decimal_point() const
Return decimal point character.
Primary class template messages.This facet encapsulates the code to retrieve messages from message ca...
moneypunct(__c_locale __cloc, const char *__s, size_t __refs=0)
Internal constructor. Not for general use.
facet(size_t __refs=0)
Facet constructor.
basic_string< wchar_t > wstring
A string of wchar_t.
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.
iter_type get_date(iter_type __beg, iter_type __end, ios_base &__io, ios_base::iostate &__err, tm *__tm) const
Parse input date string.
money_get(size_t __refs=0)
Constructor performs initialization.
string_type curr_symbol() const
Return currency symbol string.
basic_string< _CharT > string_type
Public typedefs.
basic_string< _CharT > string_type
Public typedefs.
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 ~time_get()
Destructor.
string grouping() const
Return grouping specification.
virtual ~messages()
Destructor.
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...
Container class for localization functionality.The locale class is first a class wrapper for C librar...
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.
pattern neg_format() const
Return pattern for money values.
static const bool intl
This value is provided by the standard, but no reason for its existence.
iter_type get_year(iter_type __beg, iter_type __end, ios_base &__io, ios_base::iostate &__err, tm *__tm) const
Parse input year string.
Money format ordering data.This class contains an ordered array of 4 fields to represent the pattern ...
Primary class template time_get.This facet encapsulates the code to parse and return a date or time f...
_CharT char_type
Public typedefs.
iter_type get_weekday(iter_type __beg, iter_type __end, ios_base &__io, ios_base::iostate &__err, tm *__tm) const
Parse input weekday string.
_CharT char_type
Public typedefs.
virtual ~moneypunct()
Destructor.
virtual ~money_put()
Destructor.
static locale::id id
Numpunct facet id.
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.
iter_type get_monthname(iter_type __beg, iter_type __end, ios_base &__io, ios_base::iostate &__err, tm *__tm) const
Parse input month string.
moneypunct(__cache_type *__cache, size_t __refs=0)
Constructor performs initialization.
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.
class messages_byname [22.2.7.2].
virtual char_type do_thousands_sep() const
Return thousands separator character.
_CharT char_type
Public typedefs.
static locale::id id
Numpunct facet id.
static locale::id id
Numpunct facet id.
class time_get_byname [22.2.5.2].
messages(size_t __refs=0)
Constructor performs initialization.
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.
Facet ID class.The ID class provides facets with an index used to identify them. Every facet class mu...
Time format ordering data.This class provides an enum representing different orderings of time: day...
money_put(size_t __refs=0)
Constructor performs initialization.
virtual string_type do_negative_sign() const
Return negative sign string.
dateorder date_order() const
Return preferred order of month, day, and year.
virtual pattern do_neg_format() const
Return pattern for money values.
basic_string< _CharT > string_type
Public typedefs.
Primary class template money_put.This facet encapsulates the code to format and output a monetary amo...
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.
time_get(size_t __refs=0)
Constructor performs initialization.
moneypunct(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.
virtual pattern do_pos_format() const
Return pattern for money values.
virtual string_type do_curr_symbol() const
Return currency symbol string.
virtual int do_frac_digits() const
Return number of digits in fraction.
_CharT char_type
Public typedefs.
Localization functionality base class.The facet class is the base class for a localization feature...
virtual string do_grouping() const
Return grouping specification.
static locale::id id
Numpunct facet id.
virtual string_type do_positive_sign() const
Return positive sign string.
_CharT char_type
Public typedefs.
Messages facet base class providing catalog typedef.
class time_put_byname [22.2.5.4].
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.
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.
The base of the I/O class hierarchy.This class defines everything that can be defined about I/O that ...
string_type positive_sign() const
Return positive sign string.
virtual ~time_put()
Destructor.
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.
basic_string< _CharT > string_type
Public typedefs.
static locale::id id
Numpunct facet id.
_OutIter iter_type
Public typedefs.
_OutIter iter_type
Public typedefs.
_InIter iter_type
Public typedefs.
char_type thousands_sep() const
Return thousands separator character.
virtual ~money_get()
Destructor.
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.
_InIter iter_type
Public typedefs.
virtual char_type do_decimal_point() const
Return decimal point character.
time_put(size_t __refs=0)
Constructor performs initialization.
Primary class template time_put.This facet encapsulates the code to format and output dates and times...
const _CharT * c_str() const noexcept
Return const pointer to null-terminated contents.
Primary class template money_get.This facet encapsulates the code to parse and return a monetary amou...
pattern pos_format() const
Return pattern for money values.
string_type negative_sign() const
Return negative sign string.