34 #ifndef _LOCALE_FACETS_NONIO_H 35 #define _LOCALE_FACETS_NONIO_H 1 37 #ifdef _GLIBCXX_SYSHDR 38 #pragma GCC system_header 43 namespace std _GLIBCXX_VISIBILITY(default)
45 _GLIBCXX_BEGIN_NAMESPACE_VERSION
57 enum dateorder { no_order, dmy, mdy, ymd, ydm };
60 template<
typename _CharT>
64 static const _CharT* _S_timezones[14];
66 const _CharT* _M_date_format;
67 const _CharT* _M_date_era_format;
68 const _CharT* _M_time_format;
69 const _CharT* _M_time_era_format;
70 const _CharT* _M_date_time_format;
71 const _CharT* _M_date_time_era_format;
74 const _CharT* _M_am_pm_format;
77 const _CharT* _M_day1;
78 const _CharT* _M_day2;
79 const _CharT* _M_day3;
80 const _CharT* _M_day4;
81 const _CharT* _M_day5;
82 const _CharT* _M_day6;
83 const _CharT* _M_day7;
86 const _CharT* _M_aday1;
87 const _CharT* _M_aday2;
88 const _CharT* _M_aday3;
89 const _CharT* _M_aday4;
90 const _CharT* _M_aday5;
91 const _CharT* _M_aday6;
92 const _CharT* _M_aday7;
95 const _CharT* _M_month01;
96 const _CharT* _M_month02;
97 const _CharT* _M_month03;
98 const _CharT* _M_month04;
99 const _CharT* _M_month05;
100 const _CharT* _M_month06;
101 const _CharT* _M_month07;
102 const _CharT* _M_month08;
103 const _CharT* _M_month09;
104 const _CharT* _M_month10;
105 const _CharT* _M_month11;
106 const _CharT* _M_month12;
109 const _CharT* _M_amonth01;
110 const _CharT* _M_amonth02;
111 const _CharT* _M_amonth03;
112 const _CharT* _M_amonth04;
113 const _CharT* _M_amonth05;
114 const _CharT* _M_amonth06;
115 const _CharT* _M_amonth07;
116 const _CharT* _M_amonth08;
117 const _CharT* _M_amonth09;
118 const _CharT* _M_amonth10;
119 const _CharT* _M_amonth11;
120 const _CharT* _M_amonth12;
124 __timepunct_cache(
size_t __refs = 0) : facet(__refs),
125 _M_date_format(0), _M_date_era_format(0), _M_time_format(0),
126 _M_time_era_format(0), _M_date_time_format(0),
127 _M_date_time_era_format(0), _M_am(0), _M_pm(0),
128 _M_am_pm_format(0), _M_day1(0), _M_day2(0), _M_day3(0),
129 _M_day4(0), _M_day5(0), _M_day6(0), _M_day7(0),
130 _M_aday1(0), _M_aday2(0), _M_aday3(0), _M_aday4(0),
131 _M_aday5(0), _M_aday6(0), _M_aday7(0), _M_month01(0),
132 _M_month02(0), _M_month03(0), _M_month04(0), _M_month05(0),
133 _M_month06(0), _M_month07(0), _M_month08(0), _M_month09(0),
134 _M_month10(0), _M_month11(0), _M_month12(0), _M_amonth01(0),
135 _M_amonth02(0), _M_amonth03(0), _M_amonth04(0),
136 _M_amonth05(0), _M_amonth06(0), _M_amonth07(0),
137 _M_amonth08(0), _M_amonth09(0), _M_amonth10(0),
138 _M_amonth11(0), _M_amonth12(0), _M_allocated(false)
141 ~__timepunct_cache();
145 operator=(
const __timepunct_cache&);
148 __timepunct_cache(
const __timepunct_cache&);
151 template<
typename _CharT>
152 __timepunct_cache<_CharT>::~__timepunct_cache()
163 __timepunct_cache<char>::_S_timezones[14];
165 #ifdef _GLIBCXX_USE_WCHAR_T 168 __timepunct_cache<wchar_t>::_S_timezones[14];
172 template<
typename _CharT>
173 const _CharT* __timepunct_cache<_CharT>::_S_timezones[14];
175 template<
typename _CharT>
176 class __timepunct :
public locale::facet
180 typedef _CharT __char_type;
181 typedef __timepunct_cache<_CharT> __cache_type;
184 __cache_type* _M_data;
185 __c_locale _M_c_locale_timepunct;
186 const char* _M_name_timepunct;
190 static locale::id id;
193 __timepunct(
size_t __refs = 0);
196 __timepunct(__cache_type* __cache,
size_t __refs = 0);
209 __timepunct(__c_locale __cloc,
const char* __s,
size_t __refs = 0);
214 _M_put(_CharT* __s,
size_t __maxlen,
const _CharT* __format,
215 const tm* __tm)
const throw ();
218 _M_date_formats(
const _CharT** __date)
const 221 __date[0] = _M_data->_M_date_format;
222 __date[1] = _M_data->_M_date_era_format;
226 _M_time_formats(
const _CharT** __time)
const 229 __time[0] = _M_data->_M_time_format;
230 __time[1] = _M_data->_M_time_era_format;
234 _M_date_time_formats(
const _CharT** __dt)
const 237 __dt[0] = _M_data->_M_date_time_format;
238 __dt[1] = _M_data->_M_date_time_era_format;
241 #if !_GLIBCXX_INLINE_VERSION 243 _M_am_pm_format(
const _CharT*)
const 248 _M_am_pm_format(
const _CharT** __ampm_format)
const 250 __ampm_format[0] = _M_data->_M_am_pm_format;
254 _M_am_pm(
const _CharT** __ampm)
const 256 __ampm[0] = _M_data->_M_am;
257 __ampm[1] = _M_data->_M_pm;
261 _M_days(
const _CharT** __days)
const 263 __days[0] = _M_data->_M_day1;
264 __days[1] = _M_data->_M_day2;
265 __days[2] = _M_data->_M_day3;
266 __days[3] = _M_data->_M_day4;
267 __days[4] = _M_data->_M_day5;
268 __days[5] = _M_data->_M_day6;
269 __days[6] = _M_data->_M_day7;
273 _M_days_abbreviated(
const _CharT** __days)
const 275 __days[0] = _M_data->_M_aday1;
276 __days[1] = _M_data->_M_aday2;
277 __days[2] = _M_data->_M_aday3;
278 __days[3] = _M_data->_M_aday4;
279 __days[4] = _M_data->_M_aday5;
280 __days[5] = _M_data->_M_aday6;
281 __days[6] = _M_data->_M_aday7;
285 _M_months(
const _CharT** __months)
const 287 __months[0] = _M_data->_M_month01;
288 __months[1] = _M_data->_M_month02;
289 __months[2] = _M_data->_M_month03;
290 __months[3] = _M_data->_M_month04;
291 __months[4] = _M_data->_M_month05;
292 __months[5] = _M_data->_M_month06;
293 __months[6] = _M_data->_M_month07;
294 __months[7] = _M_data->_M_month08;
295 __months[8] = _M_data->_M_month09;
296 __months[9] = _M_data->_M_month10;
297 __months[10] = _M_data->_M_month11;
298 __months[11] = _M_data->_M_month12;
302 _M_months_abbreviated(
const _CharT** __months)
const 304 __months[0] = _M_data->_M_amonth01;
305 __months[1] = _M_data->_M_amonth02;
306 __months[2] = _M_data->_M_amonth03;
307 __months[3] = _M_data->_M_amonth04;
308 __months[4] = _M_data->_M_amonth05;
309 __months[5] = _M_data->_M_amonth06;
310 __months[6] = _M_data->_M_amonth07;
311 __months[7] = _M_data->_M_amonth08;
312 __months[8] = _M_data->_M_amonth09;
313 __months[9] = _M_data->_M_amonth10;
314 __months[10] = _M_data->_M_amonth11;
315 __months[11] = _M_data->_M_amonth12;
324 _M_initialize_timepunct(__c_locale __cloc = 0);
327 template<
typename _CharT>
328 locale::id __timepunct<_CharT>::id;
333 __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc);
337 __timepunct<char>::_M_put(
char*,
size_t,
const char*,
const tm*)
const throw ();
339 #ifdef _GLIBCXX_USE_WCHAR_T 342 __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc);
346 __timepunct<wchar_t>::_M_put(
wchar_t*,
size_t,
const wchar_t*,
347 const tm*)
const throw ();
350 _GLIBCXX_END_NAMESPACE_VERSION
356 namespace std _GLIBCXX_VISIBILITY(default)
358 _GLIBCXX_BEGIN_NAMESPACE_VERSION
360 struct __time_get_state
364 _M_finalize_state(tm* __tm);
366 unsigned int _M_have_I : 1;
367 unsigned int _M_have_wday : 1;
368 unsigned int _M_have_yday : 1;
369 unsigned int _M_have_mon : 1;
370 unsigned int _M_have_mday : 1;
371 unsigned int _M_have_uweek : 1;
372 unsigned int _M_have_wweek : 1;
373 unsigned int _M_have_century : 1;
374 unsigned int _M_is_pm : 1;
375 unsigned int _M_want_century : 1;
376 unsigned int _M_want_xday : 1;
377 unsigned int _M_pad1 : 5;
378 unsigned int _M_week_no : 6;
379 unsigned int _M_pad2 : 10;
384 _GLIBCXX_BEGIN_NAMESPACE_CXX11
399 template<
typename _CharT,
typename _InIter>
463 ios_base::iostate& __err, tm* __tm)
const 464 {
return this->
do_get_time(__beg, __end, __io, __err, __tm); }
488 ios_base::iostate& __err, tm* __tm)
const 489 {
return this->
do_get_date(__beg, __end, __io, __err, __tm); }
516 ios_base::iostate& __err, tm* __tm)
const 545 ios_base::iostate& __err, tm* __tm)
const 571 ios_base::iostate& __err, tm* __tm)
const 572 {
return this->
do_get_year(__beg, __end, __io, __err, __tm); }
574 #if __cplusplus >= 201103L 592 ios_base::iostate& __err, tm* __tm,
char __format,
593 char __modifier = 0)
const 595 return this->
do_get(__s, __end, __io, __err, __tm, __format,
618 ios_base::iostate& __err, tm* __tm,
const char_type* __fmt,
620 #endif // __cplusplus >= 201103L 657 ios_base::iostate& __err, tm* __tm)
const;
676 ios_base::iostate& __err, tm* __tm)
const;
695 ios_base::iostate& __err, tm* __tm)
const;
714 ios_base::iostate& __err, tm* __tm)
const;
733 ios_base::iostate& __err, tm* __tm)
const;
735 #if __cplusplus >= 201103L 753 #if _GLIBCXX_USE_CXX11_ABI 758 ios_base::iostate& __err, tm* __tm,
759 char __format,
char __modifier)
const;
760 #endif // __cplusplus >= 201103L 765 int __min,
int __max,
size_t __len,
766 ios_base& __io, ios_base::iostate& __err)
const;
771 const _CharT** __names,
size_t __indexlen,
772 ios_base& __io, ios_base::iostate& __err)
const;
777 const _CharT** __names,
size_t __indexlen,
778 ios_base& __io, ios_base::iostate& __err)
const;
783 ios_base::iostate& __err, tm* __tm,
784 const _CharT* __format)
const;
790 ios_base::iostate& __err, tm* __tm,
791 const _CharT* __format,
792 __time_get_state &__state)
const;
795 template<
typename _CharT,
typename _InIter>
799 template<
typename _CharT,
typename _InIter>
811 #if __cplusplus >= 201103L 822 _GLIBCXX_END_NAMESPACE_CXX11
836 template<
typename _CharT,
typename _OutIter>
878 const _CharT* __beg,
const _CharT* __end)
const;
898 const tm* __tm,
char __format,
char __mod = 0)
const 899 {
return this->
do_put(__s, __io, __fill, __tm, __format, __mod); }
925 char __format,
char __mod)
const;
928 template<
typename _CharT,
typename _OutIter>
932 template<
typename _CharT,
typename _OutIter>
945 #if __cplusplus >= 201103L 971 enum part { none, space, symbol, sign, value };
972 struct pattern {
char field[4]; };
974 static const pattern _S_default_pattern;
985 static const char* _S_atoms;
989 _GLIBCXX_CONST
static pattern
990 _S_construct_pattern(
char __precedes,
char __space,
char __posn)
throw ();
993 template<
typename _CharT,
bool _Intl>
996 const char* _M_grouping;
997 size_t _M_grouping_size;
998 bool _M_use_grouping;
999 _CharT _M_decimal_point;
1000 _CharT _M_thousands_sep;
1001 const _CharT* _M_curr_symbol;
1002 size_t _M_curr_symbol_size;
1003 const _CharT* _M_positive_sign;
1004 size_t _M_positive_sign_size;
1005 const _CharT* _M_negative_sign;
1006 size_t _M_negative_sign_size;
1008 money_base::pattern _M_pos_format;
1009 money_base::pattern _M_neg_format;
1014 _CharT _M_atoms[money_base::_S_end];
1018 __moneypunct_cache(
size_t __refs = 0) : facet(__refs),
1019 _M_grouping(0), _M_grouping_size(0), _M_use_grouping(false),
1020 _M_decimal_point(_CharT()), _M_thousands_sep(_CharT()),
1021 _M_curr_symbol(0), _M_curr_symbol_size(0),
1022 _M_positive_sign(0), _M_positive_sign_size(0),
1023 _M_negative_sign(0), _M_negative_sign_size(0),
1026 _M_neg_format(
money_base::pattern()), _M_allocated(false)
1029 ~__moneypunct_cache();
1032 _M_cache(
const locale& __loc);
1036 operator=(
const __moneypunct_cache&);
1039 __moneypunct_cache(
const __moneypunct_cache&);
1042 template<
typename _CharT,
bool _Intl>
1043 __moneypunct_cache<_CharT, _Intl>::~__moneypunct_cache()
1047 delete [] _M_grouping;
1048 delete [] _M_curr_symbol;
1049 delete [] _M_positive_sign;
1050 delete [] _M_negative_sign;
1054 _GLIBCXX_BEGIN_NAMESPACE_CXX11
1063 template<
typename _CharT,
bool _Intl>
1073 typedef __moneypunct_cache<_CharT, _Intl> __cache_type;
1076 __cache_type* _M_data;
1094 :
facet(__refs), _M_data(0)
1095 { _M_initialize_moneypunct(); }
1107 :
facet(__refs), _M_data(__cache)
1108 { _M_initialize_moneypunct(); }
1121 moneypunct(__c_locale __cloc,
const char* __s,
size_t __refs = 0)
1122 :
facet(__refs), _M_data(0)
1123 { _M_initialize_moneypunct(__cloc, __s); }
1300 {
return _M_data->_M_decimal_point; }
1312 {
return _M_data->_M_thousands_sep; }
1325 {
return _M_data->_M_grouping; }
1338 {
return _M_data->_M_curr_symbol; }
1351 {
return _M_data->_M_positive_sign; }
1364 {
return _M_data->_M_negative_sign; }
1378 {
return _M_data->_M_frac_digits; }
1392 {
return _M_data->_M_pos_format; }
1406 {
return _M_data->_M_neg_format; }
1410 _M_initialize_moneypunct(__c_locale __cloc = 0,
1411 const char* __name = 0);
1414 template<
typename _CharT,
bool _Intl>
1417 template<
typename _CharT,
bool _Intl>
1428 moneypunct<char, true>::_M_initialize_moneypunct(__c_locale,
const char*);
1432 moneypunct<char, false>::_M_initialize_moneypunct(__c_locale,
const char*);
1434 #ifdef _GLIBCXX_USE_WCHAR_T 1443 moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale,
1448 moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale,
1453 template<
typename _CharT,
bool _Intl>
1460 static const bool intl = _Intl;
1466 if (__builtin_strcmp(__s,
"C") != 0
1467 && __builtin_strcmp(__s,
"POSIX") != 0)
1470 this->_S_create_c_locale(__tmp, __s);
1471 this->_M_initialize_moneypunct(__tmp);
1472 this->_S_destroy_c_locale(__tmp);
1476 #if __cplusplus >= 201103L 1487 template<
typename _CharT,
bool _Intl>
1490 _GLIBCXX_END_NAMESPACE_CXX11
1492 _GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11
1507 template<
typename _CharT,
typename _InIter>
1561 ios_base::iostate& __err,
long double& __units)
const 1562 {
return this->
do_get(__s, __end, __intl, __io, __err, __units); }
1592 ios_base::iostate& __err,
string_type& __digits)
const 1593 {
return this->
do_get(__s, __end, __intl, __io, __err, __digits); }
1608 #if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ \ 1609 && (_GLIBCXX_USE_CXX11_ABI == 0 || defined __LONG_DOUBLE_IEEE128__) 1612 ios_base::iostate& __err,
double& __units)
const;
1616 ios_base::iostate& __err,
long double& __units)
const;
1628 ios_base::iostate& __err,
string_type& __digits)
const;
1631 #if defined _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT \ 1632 && defined __LONG_DOUBLE_IEEE128__ 1635 ios_base::iostate& __err, __ibm128& __units)
const;
1639 #if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ \ 1640 && (_GLIBCXX_USE_CXX11_ABI == 0 || defined __LONG_DOUBLE_IEEE128__) 1643 ios_base::iostate& __err,
long double& __units)
const;
1646 template<
bool _Intl>
1649 ios_base::iostate& __err,
string& __digits)
const;
1652 template<
typename _CharT,
typename _InIter>
1668 template<
typename _CharT,
typename _OutIter>
1711 char_type __fill,
long double __units)
const 1712 {
return this->
do_put(__s, __intl, __io, __fill, __units); }
1735 {
return this->
do_put(__s, __intl, __io, __fill, __digits); }
1761 #if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ \ 1762 && (_GLIBCXX_USE_CXX11_ABI == 0 || defined __LONG_DOUBLE_IEEE128__) 1765 double __units)
const;
1769 long double __units)
const;
1796 #if defined _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT \ 1797 && defined __LONG_DOUBLE_IEEE128__ 1800 __ibm128 __units)
const;
1804 #if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ \ 1805 && (_GLIBCXX_USE_CXX11_ABI == 0 || defined __LONG_DOUBLE_IEEE128__) 1808 long double __units)
const;
1811 template<
bool _Intl>
1817 template<
typename _CharT,
typename _OutIter>
1820 _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11
1828 typedef int catalog;
1831 _GLIBCXX_BEGIN_NAMESPACE_CXX11
1854 template<
typename _CharT>
1868 __c_locale _M_c_locale_messages;
1869 const char* _M_name_messages;
1897 messages(__c_locale __cloc,
const char* __s,
size_t __refs = 0);
1911 {
return this->do_open(__s, __loc); }
1946 get(catalog __c,
int __set,
int __msgid,
const string_type& __s)
const 1947 {
return this->do_get(__c, __set, __msgid, __s); }
1957 close(catalog __c)
const 1958 {
return this->do_close(__c); }
1977 do_open(
const basic_string<char>&,
const locale&)
const;
1996 do_get(catalog,
int,
int,
const string_type& __dfault)
const;
2004 do_close(catalog)
const;
2008 _M_convert_to_char(
const string_type& __msg)
const 2011 return reinterpret_cast<char*
>(
const_cast<_CharT*
>(__msg.c_str()));
2016 _M_convert_from_char(
char*)
const 2023 template<
typename _CharT>
2029 messages<char>::do_get(catalog,
int,
int,
const string&)
const;
2031 #ifdef _GLIBCXX_USE_WCHAR_T 2034 messages<wchar_t>::do_get(catalog,
int,
int,
const wstring&)
const;
2038 template<
typename _CharT>
2048 #if __cplusplus >= 201103L 2060 _GLIBCXX_END_NAMESPACE_CXX11
2062 _GLIBCXX_END_NAMESPACE_VERSION
virtual ~moneypunct()
Destructor.
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.
basic_string< _CharT > string_type
Public typedefs.
Primary class template messages.This facet encapsulates the code to retrieve messages from message ca...
_InIter iter_type
Public typedefs.
static locale::id id
Numpunct facet id.
static locale::id id
Numpunct facet id.
time_get(size_t __refs=0)
Constructor performs initialization.
char_type thousands_sep() const
Return thousands separator character.
static locale::id id
Numpunct facet id.
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 char_type do_thousands_sep() const
Return thousands separator character.
virtual string_type do_curr_symbol() const
Return currency symbol string.
Money format ordering data.This class contains an ordered array of 4 fields to represent the pattern ...
static locale::id id
Numpunct facet id.
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.
_InIter iter_type
Public typedefs.
class time_get_byname [22.2.5.2].
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_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.
string_type negative_sign() const
Return negative sign string.
moneypunct(size_t __refs=0)
Constructor performs initialization.
basic_string< _CharT > string_type
Public typedefs.
virtual char_type do_decimal_point() const
Return decimal point character.
string grouping() const
Return grouping specification.
static locale::id id
Numpunct facet id.
Primary class template money_get.This facet encapsulates the code to parse and return a monetary amou...
iter_type put(iter_type __s, bool __intl, ios_base &__io, char_type __fill, long double __units) const
Format and output a monetary value.
basic_string< _CharT > string_type
Public typedefs.
class time_put_byname [22.2.5.4].
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.
basic_string< _CharT > string_type
Public typedefs.
moneypunct(__c_locale __cloc, const char *__s, size_t __refs=0)
Internal constructor. Not for general use.
The base of the I/O class hierarchy.This class defines everything that can be defined about I/O that ...
Messages facet base class providing catalog typedef.
_CharT char_type
Public typedefs.
int frac_digits() const
Return number of digits in fraction.
class moneypunct_byname [22.2.6.4].
pattern pos_format() const
Return pattern for money values.
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.
_OutIter iter_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.
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.
pattern neg_format() const
Return pattern for money values.
virtual ~messages()
Destructor.
virtual string do_grouping() const
Return grouping specification.
class messages_byname [22.2.7.2].
virtual dateorder do_date_order() const
Return preferred order of month, day, and year.
time_put(size_t __refs=0)
Constructor performs initialization.
_CharT char_type
Public typedefs.
Time format ordering data.This class provides an enum representing different orderings of time: day...
_OutIter iter_type
Public typedefs.
Localization functionality base class.The facet class is the base class for a localization feature...
iter_type 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.
moneypunct(__cache_type *__cache, size_t __refs=0)
Constructor performs initialization.
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.
char_type decimal_point() const
Return decimal point character.
virtual int do_frac_digits() const
Return number of digits in fraction.
messages(size_t __refs=0)
Constructor performs initialization.
iter_type get_year(iter_type __beg, iter_type __end, ios_base &__io, ios_base::iostate &__err, tm *__tm) const
Parse input year string.
_CharT char_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.
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_put(size_t __refs=0)
Constructor performs initialization.
ISO C++ entities toplevel namespace is std.
string_type curr_symbol() const
Return currency symbol string.
virtual ~time_get()
Destructor.
string_type positive_sign() const
Return positive sign string.
Primary class template time_get.This facet encapsulates the code to parse and return a date or time f...
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.
_CharT char_type
Public typedefs.
virtual string_type do_negative_sign() const
Return negative sign string.
money_get(size_t __refs=0)
Constructor performs initialization.
static locale::id id
Numpunct facet id.
iter_type get_monthname(iter_type __beg, iter_type __end, ios_base &__io, ios_base::iostate &__err, tm *__tm) const
Parse input month string.
basic_string< wchar_t > wstring
A string of wchar_t.
const _CharT * c_str() const noexcept
Return const pointer to null-terminated contents.
Container class for localization functionality.The locale class is first a class wrapper for C librar...
virtual ~money_put()
Destructor.
facet(size_t __refs=0)
Facet constructor.
Primary class template time_put.This facet encapsulates the code to format and output dates and times...
virtual pattern do_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.
virtual ~money_get()
Destructor.
dateorder date_order() const
Return preferred order of month, day, and year.
_CharT char_type
Public typedefs.
_CharT char_type
Public typedefs.
Primary class template money_put.This facet encapsulates the code to format and output a monetary amo...
Facet ID class.The ID class provides facets with an index used to identify them. Every facet class mu...
Primary class template moneypunct.This facet encapsulates the punctuation, grouping and other formatt...
virtual string_type do_positive_sign() const
Return positive sign string.
virtual ~time_put()
Destructor.
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.