std::time_get< _CharT, _InIter >

Section: C Library Functions (3)
Updated: Wed Apr 17 2019
Page Index
 

NAME

std::time_get< _CharT, _InIter > - Primary class template time_get.

This facet encapsulates the code to parse and return a date or time from a string. It is used by the istream numeric extraction operators.

 

SYNOPSIS


Inherits std::locale::facet, and std::time_base.

Inherited by std::time_get_byname< _CharT, _InIter >.  

Public Types


enum dateorder { no_order, dmy, mdy, ymd, ydm }



typedef _CharT char_type
Public typedefs.
typedef _InIter iter_type
Public typedefs.  

Public Member Functions


time_get (size_t __refs=0)
Constructor performs initialization.
dateorder date_order () const
Return preferred order of month, day, and year.
iter_type get (iter_type __s, iter_type __end, ios_base &__io, ios_base::iostate &__err, tm *__tm, char __format, char __modifier=0) const
Parse input string according to format.
iter_type get (iter_type __s, iter_type __end, ios_base &__io, ios_base::iostate &__err, tm *__tm, const char_type *__fmt, const char_type *__fmtend) const
Parse input string according to format.
iter_type get_date (iter_type __beg, iter_type __end, ios_base &__io, ios_base::iostate &__err, tm *__tm) const
Parse input date 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.
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 get_weekday (iter_type __beg, iter_type __end, ios_base &__io, ios_base::iostate &__err, tm *__tm) const
Parse input weekday 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 Public Attributes


static locale::id id
Numpunct facet id.  

Protected Member Functions


virtual ~time_get ()
Destructor.
iter_type _M_extract_name (iter_type __beg, iter_type __end, int &__member, const _CharT **__names, size_t __indexlen, ios_base &__io, ios_base::iostate &__err) const

iter_type _M_extract_num (iter_type __beg, iter_type __end, int &__member, int __min, int __max, size_t __len, ios_base &__io, ios_base::iostate &__err) const

iter_type _M_extract_via_format (iter_type __beg, iter_type __end, ios_base &__io, ios_base::iostate &__err, tm *__tm, const _CharT *__format) const

iter_type _M_extract_wday_or_month (iter_type __beg, iter_type __end, int &__member, const _CharT **__names, size_t __indexlen, ios_base &__io, ios_base::iostate &__err) const

virtual dateorder do_date_order () const
Return preferred order of month, day, and year.
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 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.
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.
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 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 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.  

Static Protected Member Functions


static __c_locale _S_clone_c_locale (__c_locale &__cloc) throw ()

static void _S_create_c_locale (__c_locale &__cloc, const char *__s, __c_locale __old=0)

static void _S_destroy_c_locale (__c_locale &__cloc)

static __c_locale _S_get_c_locale ()

static const char * _S_get_c_name () throw ()

static __c_locale _S_lc_ctype_c_locale (__c_locale __cloc, const char *__s)
 

Detailed Description

 

template<typename _CharT, typename _InIter>


class std::time_get< _CharT, _InIter >" Primary class template time_get.

This facet encapsulates the code to parse and return a date or time from a string. It is used by the istream numeric extraction operators.

The time_get template uses protected virtual functions to provide the actual results. The public accessors forward the call to the virtual functions. These virtual functions are hooks for developers to implement the behavior they require from the time_get facet.

Definition at line 368 of file locale_facets_nonio.h.  

Member Typedef Documentation

 

template<typename _CharT , typename _InIter > typedef _CharT std::time_get< _CharT, _InIter >::char_type

Public typedefs.

Definition at line 374 of file locale_facets_nonio.h.  

template<typename _CharT , typename _InIter > typedef _InIter std::time_get< _CharT, _InIter >::iter_type

Public typedefs.

Definition at line 375 of file locale_facets_nonio.h.  

Constructor & Destructor Documentation

 

template<typename _CharT , typename _InIter > std::time_get< _CharT, _InIter >::time_get (size_t __refs = 0) [inline], [explicit]

Constructor performs initialization. This is the constructor provided by the standard.

Parameters:

__refs Passed to the base facet class.

Definition at line 389 of file locale_facets_nonio.h.  

template<typename _CharT , typename _InIter > virtual std::time_get< _CharT, _InIter >::~time_get () [inline], [protected], [virtual]

Destructor.

Definition at line 593 of file locale_facets_nonio.h.  

Member Function Documentation

 

template<typename _CharT , typename _InIter > dateorder std::time_get< _CharT, _InIter >::date_order () const [inline]

Return preferred order of month, day, and year. This function returns an enum from time_base::dateorder giving the preferred ordering if the format x given to time_put::put() only uses month, day, and year. If the format x for the associated locale uses other fields, this function returns time_base::dateorder::noorder.

NOTE: The library always returns noorder at the moment.

Returns:

A member of time_base::dateorder.

Definition at line 406 of file locale_facets_nonio.h.

References std::time_get< _CharT, _InIter >::do_date_order().  

template<typename _CharT , typename _InIter > _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 time_base::dateorder std::time_get< _CharT, _InIter >::do_date_order () const [protected], [virtual]

Return preferred order of month, day, and year. This function returns an enum from time_base::dateorder giving the preferred ordering if the format x given to time_put::put() only uses month, day, and year. This function is a hook for derived classes to change the value returned.

Returns:

A member of time_base::dateorder.

Definition at line 627 of file locale_facets_nonio.tcc.

Referenced by std::time_get< _CharT, _InIter >::date_order().  

template<typename _CharT , typename _InIter > _InIter std::time_get< _CharT, _InIter >::do_get (iter_type __s, iter_type __end, ios_base & __f, ios_base::iostate & __err, tm * __tm, char __format, char __modifier) const [inline], [protected]

Parse input string according to format. This function parses the string according to the provided format and optional modifier. This function is a hook for derived classes to change the value returned.

See also:

get() for more details.

Parameters:

__s Start of string to parse.
__end End of string to parse.
__f Source of the locale.
__err Error flags to set.
__tm Pointer to struct tm to fill in.
__format Format specifier.
__modifier Format modifier.

Returns:

Iterator to first char not parsed.

Definition at line 1241 of file locale_facets_nonio.tcc.

References std::ios_base::_M_getloc(), std::ios_base::eofbit, std::ios_base::goodbit, and std::__ctype_abstract_base< _CharT >::widen().

Referenced by std::time_get< _CharT, _InIter >::get().  

template<typename _CharT , typename _InIter > _InIter std::time_get< _CharT, _InIter >::do_get_date (iter_type __beg, iter_type __end, ios_base & __io, ios_base::iostate & __err, tm * __tm) const [protected], [virtual]

Parse input date string. This function parses a date according to the format X and puts the results into a user-supplied struct tm. This function is a hook for derived classes to change the value returned.

See also:

get_date() for details.

Parameters:

__beg Start of string to parse.
__end End of string to parse.
__io Source of the locale.
__err Error flags to set.
__tm Pointer to struct tm to fill in.

Returns:

Iterator to first char beyond date string.

Definition at line 1077 of file locale_facets_nonio.tcc.

References std::ios_base::_M_getloc(), and std::ios_base::eofbit.

Referenced by std::time_get< _CharT, _InIter >::get_date().  

template<typename _CharT , typename _InIter > _InIter std::time_get< _CharT, _InIter >::do_get_monthname (iter_type __beg, iter_type __end, ios_base & __io, ios_base::iostate & __err, tm * __tm) const [protected], [virtual]

Parse input month string. This function parses a month name and puts the results into a user-supplied struct tm. This function is a hook for derived classes to change the value returned.

See also:

get_monthname() for details.

Parameters:

__beg Start of string to parse.
__end End of string to parse.
__io Source of the locale.
__err Error flags to set.
__tm Pointer to struct tm to fill in.

Returns:

Iterator to first char beyond month name.

Definition at line 1120 of file locale_facets_nonio.tcc.

References std::ios_base::_M_getloc(), std::ios_base::eofbit, std::ios_base::failbit, and std::ios_base::goodbit.

Referenced by std::time_get< _CharT, _InIter >::get_monthname().  

template<typename _CharT , typename _InIter > _InIter std::time_get< _CharT, _InIter >::do_get_time (iter_type __beg, iter_type __end, ios_base & __io, ios_base::iostate & __err, tm * __tm) const [protected], [virtual]

Parse input time string. This function parses a time according to the format x and puts the results into a user-supplied struct tm. This function is a hook for derived classes to change the value returned.

See also:

get_time() for details.

Parameters:

__beg Start of string to parse.
__end End of string to parse.
__io Source of the locale.
__err Error flags to set.
__tm Pointer to struct tm to fill in.

Returns:

Iterator to first char beyond time string.

Definition at line 1060 of file locale_facets_nonio.tcc.

References std::ios_base::_M_getloc(), and std::ios_base::eofbit.

Referenced by std::time_get< _CharT, _InIter >::get_time().  

template<typename _CharT , typename _InIter > _InIter std::time_get< _CharT, _InIter >::do_get_weekday (iter_type __beg, iter_type __end, ios_base & __io, ios_base::iostate & __err, tm * __tm) const [protected], [virtual]

Parse input weekday string. This function parses a weekday name and puts the results into a user-supplied struct tm. This function is a hook for derived classes to change the value returned.

See also:

get_weekday() for details.

Parameters:

__beg Start of string to parse.
__end End of string to parse.
__io Source of the locale.
__err Error flags to set.
__tm Pointer to struct tm to fill in.

Returns:

Iterator to first char beyond weekday name.

Definition at line 1094 of file locale_facets_nonio.tcc.

References std::ios_base::_M_getloc(), std::ios_base::eofbit, std::ios_base::failbit, and std::ios_base::goodbit.

Referenced by std::time_get< _CharT, _InIter >::get_weekday().  

template<typename _CharT , typename _InIter > _InIter std::time_get< _CharT, _InIter >::do_get_year (iter_type __beg, iter_type __end, ios_base & __io, ios_base::iostate & __err, tm * __tm) const [protected], [virtual]

Parse input year string. This function reads up to 4 characters to parse a year string and puts the results into a user-supplied struct tm. This function is a hook for derived classes to change the value returned.

See also:

get_year() for details.

Parameters:

__beg Start of string to parse.
__end End of string to parse.
__io Source of the locale.
__err Error flags to set.
__tm Pointer to struct tm to fill in.

Returns:

Iterator to first char beyond year.

Definition at line 1146 of file locale_facets_nonio.tcc.

References std::ios_base::eofbit, std::ios_base::failbit, and std::ios_base::goodbit.

Referenced by std::time_get< _CharT, _InIter >::get_year().  

template<typename _CharT , typename _InIter > iter_type std::time_get< _CharT, _InIter >::get (iter_type __s, iter_type __end, ios_base & __io, ios_base::iostate & __err, tm * __tm, char __format, char __modifier = 0) const [inline]

Parse input string according to format. This function calls time_get::do_get with the provided parameters.

See also:

do_get() and get().

Parameters:

__s Start of string to parse.
__end End of string to parse.
__io Source of the locale.
__err Error flags to set.
__tm Pointer to struct tm to fill in.
__format Format specifier.
__modifier Format modifier.

Returns:

Iterator to first char not parsed.

Definition at line 559 of file locale_facets_nonio.h.

References std::time_get< _CharT, _InIter >::do_get().  

template<typename _CharT , typename _InIter > _InIter std::time_get< _CharT, _InIter >::get (iter_type __s, iter_type __end, ios_base & __io, ios_base::iostate & __err, tm * __tm, const char_type * __fmt, const char_type * __fmtend) const [inline]

Parse input string according to format. This function parses the input string according to a provided format string. It does the inverse of time_put::put. The format string follows the format specified for strftime(3)/strptime(3). The actual parsing is done by time_get::do_get.

Parameters:

__s Start of string to parse.
__end End of string to parse.
__io Source of the locale.
__err Error flags to set.
__tm Pointer to struct tm to fill in.
__fmt Start of the format string.
__fmtend End of the format string.

Returns:

Iterator to first char not parsed.

Definition at line 1169 of file locale_facets_nonio.tcc.

References std::ios_base::_M_getloc(), std::ios_base::eofbit, std::ios_base::failbit, std::ios_base::goodbit, std::__ctype_abstract_base< _CharT >::is(), std::__ctype_abstract_base< _CharT >::narrow(), std::__ctype_abstract_base< _CharT >::tolower(), and std::__ctype_abstract_base< _CharT >::toupper().  

template<typename _CharT , typename _InIter > iter_type std::time_get< _CharT, _InIter >::get_date (iter_type __beg, iter_type __end, ios_base & __io, ios_base::iostate & __err, tm * __tm) const [inline]

Parse input date string. This function parses a date according to the format x and puts the results into a user-supplied struct tm. The result is returned by calling time_get::do_get_date().

If there is a valid date string according to format x, tm will be filled in accordingly and the returned iterator will point to the first character beyond the date string. If an error occurs before the end, err |= ios_base::failbit. If parsing reads all the characters, err |= ios_base::eofbit.

Parameters:

__beg Start of string to parse.
__end End of string to parse.
__io Source of the locale.
__err Error flags to set.
__tm Pointer to struct tm to fill in.

Returns:

Iterator to first char beyond date string.

Definition at line 455 of file locale_facets_nonio.h.

References std::time_get< _CharT, _InIter >::do_get_date().  

template<typename _CharT , typename _InIter > iter_type std::time_get< _CharT, _InIter >::get_monthname (iter_type __beg, iter_type __end, ios_base & __io, ios_base::iostate & __err, tm * __tm) const [inline]

Parse input month string. This function parses a month name and puts the results into a user-supplied struct tm. The result is returned by calling time_get::do_get_monthname().

Parsing starts by parsing an abbreviated month name. If a valid abbreviation is followed by a character that would lead to the full month name, parsing continues until the full name is found or an error occurs. Otherwise parsing finishes at the end of the abbreviated name.

If an error occurs before the end, err |= ios_base::failbit. If parsing reads all the characters, err |= ios_base::eofbit.

Parameters:

__beg Start of string to parse.
__end End of string to parse.
__io Source of the locale.
__err Error flags to set.
__tm Pointer to struct tm to fill in.

Returns:

Iterator to first char beyond month name.

Definition at line 512 of file locale_facets_nonio.h.

References std::time_get< _CharT, _InIter >::do_get_monthname().  

template<typename _CharT , typename _InIter > iter_type std::time_get< _CharT, _InIter >::get_time (iter_type __beg, iter_type __end, ios_base & __io, ios_base::iostate & __err, tm * __tm) const [inline]

Parse input time string. This function parses a time according to the format X and puts the results into a user-supplied struct tm. The result is returned by calling time_get::do_get_time().

If there is a valid time string according to format X, tm will be filled in accordingly and the returned iterator will point to the first character beyond the time string. If an error occurs before the end, err |= ios_base::failbit. If parsing reads all the characters, err |= ios_base::eofbit.

Parameters:

__beg Start of string to parse.
__end End of string to parse.
__io Source of the locale.
__err Error flags to set.
__tm Pointer to struct tm to fill in.

Returns:

Iterator to first char beyond time string.

Definition at line 430 of file locale_facets_nonio.h.

References std::time_get< _CharT, _InIter >::do_get_time().  

template<typename _CharT , typename _InIter > iter_type std::time_get< _CharT, _InIter >::get_weekday (iter_type __beg, iter_type __end, ios_base & __io, ios_base::iostate & __err, tm * __tm) const [inline]

Parse input weekday string. This function parses a weekday name and puts the results into a user-supplied struct tm. The result is returned by calling time_get::do_get_weekday().

Parsing starts by parsing an abbreviated weekday name. If a valid abbreviation is followed by a character that would lead to the full weekday name, parsing continues until the full name is found or an error occurs. Otherwise parsing finishes at the end of the abbreviated name.

If an error occurs before the end, err |= ios_base::failbit. If parsing reads all the characters, err |= ios_base::eofbit.

Parameters:

__beg Start of string to parse.
__end End of string to parse.
__io Source of the locale.
__err Error flags to set.
__tm Pointer to struct tm to fill in.

Returns:

Iterator to first char beyond weekday name.

Definition at line 483 of file locale_facets_nonio.h.

References std::time_get< _CharT, _InIter >::do_get_weekday().  

template<typename _CharT , typename _InIter > iter_type std::time_get< _CharT, _InIter >::get_year (iter_type __beg, iter_type __end, ios_base & __io, ios_base::iostate & __err, tm * __tm) const [inline]

Parse input year string. This function reads up to 4 characters to parse a year string and puts the results into a user-supplied struct tm. The result is returned by calling time_get::do_get_year().

4 consecutive digits are interpreted as a full year. If there are exactly 2 consecutive digits, the library interprets this as the number of years since 1900.

If an error occurs before the end, err |= ios_base::failbit. If parsing reads all the characters, err |= ios_base::eofbit.

Parameters:

__beg Start of string to parse.
__end End of string to parse.
__io Source of the locale.
__err Error flags to set.
__tm Pointer to struct tm to fill in.

Returns:

Iterator to first char beyond year.

Definition at line 538 of file locale_facets_nonio.h.

References std::time_get< _CharT, _InIter >::do_get_year().  

Member Data Documentation

 

template<typename _CharT , typename _InIter > locale::id std::time_get< _CharT, _InIter >::id [static]

Numpunct facet id.

Definition at line 379 of file locale_facets_nonio.h.

 

Author

Generated automatically by Doxygen for libstdc++ from the source code.


 

Index

NAME
SYNOPSIS
Public Types
Public Member Functions
Static Public Attributes
Protected Member Functions
Static Protected Member Functions
Detailed Description
template<typename _CharT, typename _InIter>
Member Typedef Documentation
template<typename _CharT , typename _InIter > typedef _CharT std::time_get< _CharT, _InIter >::char_type
template<typename _CharT , typename _InIter > typedef _InIter std::time_get< _CharT, _InIter >::iter_type
Constructor & Destructor Documentation
template<typename _CharT , typename _InIter > std::time_get< _CharT, _InIter >::time_get (size_t __refs = 0) [inline], [explicit]
template<typename _CharT , typename _InIter > virtual std::time_get< _CharT, _InIter >::~time_get () [inline], [protected], [virtual]
Member Function Documentation
template<typename _CharT , typename _InIter > dateorder std::time_get< _CharT, _InIter >::date_order () const [inline]
template<typename _CharT , typename _InIter > _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 time_base::dateorder std::time_get< _CharT, _InIter >::do_date_order () const [protected], [virtual]
template<typename _CharT , typename _InIter > _InIter std::time_get< _CharT, _InIter >::do_get (iter_type __s, iter_type __end, ios_base & __f, ios_base::iostate & __err, tm * __tm, char __format, char __modifier) const [inline], [protected]
template<typename _CharT , typename _InIter > _InIter std::time_get< _CharT, _InIter >::do_get_date (iter_type __beg, iter_type __end, ios_base & __io, ios_base::iostate & __err, tm * __tm) const [protected], [virtual]
template<typename _CharT , typename _InIter > _InIter std::time_get< _CharT, _InIter >::do_get_monthname (iter_type __beg, iter_type __end, ios_base & __io, ios_base::iostate & __err, tm * __tm) const [protected], [virtual]
template<typename _CharT , typename _InIter > _InIter std::time_get< _CharT, _InIter >::do_get_time (iter_type __beg, iter_type __end, ios_base & __io, ios_base::iostate & __err, tm * __tm) const [protected], [virtual]
template<typename _CharT , typename _InIter > _InIter std::time_get< _CharT, _InIter >::do_get_weekday (iter_type __beg, iter_type __end, ios_base & __io, ios_base::iostate & __err, tm * __tm) const [protected], [virtual]
template<typename _CharT , typename _InIter > _InIter std::time_get< _CharT, _InIter >::do_get_year (iter_type __beg, iter_type __end, ios_base & __io, ios_base::iostate & __err, tm * __tm) const [protected], [virtual]
template<typename _CharT , typename _InIter > iter_type std::time_get< _CharT, _InIter >::get (iter_type __s, iter_type __end, ios_base & __io, ios_base::iostate & __err, tm * __tm, char __format, char __modifier = 0) const [inline]
template<typename _CharT , typename _InIter > _InIter std::time_get< _CharT, _InIter >::get (iter_type __s, iter_type __end, ios_base & __io, ios_base::iostate & __err, tm * __tm, const char_type * __fmt, const char_type * __fmtend) const [inline]
template<typename _CharT , typename _InIter > iter_type std::time_get< _CharT, _InIter >::get_date (iter_type __beg, iter_type __end, ios_base & __io, ios_base::iostate & __err, tm * __tm) const [inline]
template<typename _CharT , typename _InIter > iter_type std::time_get< _CharT, _InIter >::get_monthname (iter_type __beg, iter_type __end, ios_base & __io, ios_base::iostate & __err, tm * __tm) const [inline]
template<typename _CharT , typename _InIter > iter_type std::time_get< _CharT, _InIter >::get_time (iter_type __beg, iter_type __end, ios_base & __io, ios_base::iostate & __err, tm * __tm) const [inline]
template<typename _CharT , typename _InIter > iter_type std::time_get< _CharT, _InIter >::get_weekday (iter_type __beg, iter_type __end, ios_base & __io, ios_base::iostate & __err, tm * __tm) const [inline]
template<typename _CharT , typename _InIter > iter_type std::time_get< _CharT, _InIter >::get_year (iter_type __beg, iter_type __end, ios_base & __io, ios_base::iostate & __err, tm * __tm) const [inline]
Member Data Documentation
template<typename _CharT , typename _InIter > locale::id std::time_get< _CharT, _InIter >::id [static]
Author