32#ifndef _RWSTD_LOC_TIME_GET_H_INCLUDED
33#define _RWSTD_LOC_TIME_GET_H_INCLUDED
37# pragma GCC system_header
51const void* __rw_get_timepunct (
const _RW::__rw_facet*,
int, _RWSTD_SIZE_T);
62 enum dateorder { no_order, dmy, mdy, ymd, ydm };
68template <
class _CharT,
class _InputIter = istreambuf_iterator<_CharT> >
69class time_get:
public _RW::__rw_facet,
public time_base
72 typedef _CharT char_type;
73 typedef _InputIter iter_type;
75 explicit time_get (_RWSTD_SIZE_T __ref = 0)
76 : _RW::__rw_facet (__ref) { }
80 dateorder date_order()
const {
81 return do_date_order();
85 get_time (iter_type __start, iter_type __end, ios_base &__flags,
87 return do_get_time (__start, __end, __flags, __err, __time);
91 get_date (iter_type __start, iter_type __end, ios_base &__flags,
93 return do_get_date(__start, __end, __flags, __err, __time);
97 get_weekday (iter_type __start, iter_type __end, ios_base &__flags,
99 return do_get_weekday (__start, __end, __flags, __err, __time);
103 get_monthname (iter_type __start, iter_type __end, ios_base &__flags,
105 return do_get_monthname (__start, __end, __flags, __err, __time);
109 get_year (iter_type __start, iter_type __end, ios_base &__flags,
111 return do_get_year (__start, __end, __flags, __err, __time);
115 static _RW::__rw_facet_id id;
118#ifdef _RWSTD_NO_EXT_TIME_GET
127 const char_type*,
const char_type*)
const;
131 get (iter_type __it, iter_type __end, ios_base &__flags,
133 char __fmt,
char __modifier =
'\0')
const {
134 return do_get (__it, __end, __flags, __err, __time, __fmt, __modifier);
139 virtual dateorder do_date_order()
const {
144 do_get_time (iter_type __it, iter_type __end, ios_base &__fl,
146 return do_get (__it, __end, __fl, __err, __tmb,
'X');
150 do_get_date (iter_type __it, iter_type __end, ios_base &__fl,
152 return do_get (__it, __end, __fl, __err, __tmb,
'x');
156 do_get_weekday (iter_type __it, iter_type __end, ios_base &__fl,
158 return do_get (__it, __end, __fl, __err, __tmb,
'a');
162 do_get_monthname (iter_type __it, iter_type __end, ios_base &__fl,
164 return do_get (__it, __end, __fl, __err, __tmb,
'b');
168 do_get_year (iter_type __it, iter_type __end, ios_base &__fl,
170 return do_get (__it, __end, __fl, __err, __tmb,
'Y');
173#ifdef _RWSTD_NO_EXT_TIME_GET
182 char,
char =
'\0')
const;
186#ifndef _RWSTD_NO_SPECIALIZED_FACET_ID
189_RW::__rw_facet_id time_get<char, istreambuf_iterator<char> >::id;
191# ifndef _RWSTD_NO_WCHAR_T
194_RW::__rw_facet_id time_get<wchar_t, istreambuf_iterator<wchar_t> >::id;
201template <
class _CharT,
class _InputIter = istreambuf_iterator<_CharT> >
202class time_get_byname:
public time_get<_CharT, _InputIter>
204 char _C_namebuf [32];
208 explicit time_get_byname (
const char *__name, _RWSTD_SIZE_T __ref = 0)
209 : time_get<_CharT, _InputIter>(__ref) {
210 this->_C_set_name (__name, _C_namebuf,
sizeof _C_namebuf);
219#if _RWSTD_DEFINE_TEMPLATE_FIRST (_TIME_GET)
225# pragma warning (push)
226# pragma warning (disable: 4231)
232#if _RWSTD_INSTANTIATE (_TIME_GET, _CHAR)
238#if _RWSTD_INSTANTIATE (_TIME_GET, _WCHAR_T)
248# pragma warning (pop)
252#if _RWSTD_DEFINE_TEMPLATE_LAST (_TIME_GET)
#define _RWSTD_SPECIALIZED_CLASS
#define _RWSTD_INSTANTIATE_1(arg)
#define _RWSTD_NAMESPACE(name)
#define _RWSTD_ATTRIBUTE_NOTHROW
std::__rw_smanip< time_get_manip< charT >, const charT * > get_time(std::tm *tmb, const charT *fmt)