forked from HowardHinnant/date
Simplify the implementation of format and parse:
* For format, all a type must do is implement to_stream. * For parse, each type X must specialize parse_manip<X,CharT,Traits>. Each specialization must include a public typedef to itself named type. * Each parse_manip specialization must have a stream extraction operator. * This commit depends on expression-SFINAE. If this commit breaks your build, it is likely that your compiler/version does not support expression-SFINAE. To fix this NO_EXPRESSION_SFINAE needs to be defined in the configuration area of date.h for that compiler/version.
This commit is contained in:
457
tz.html
457
tz.html
@@ -1999,7 +1999,14 @@ make_zoned(const std::string& name, const sys_time<Duration>& st)
|
||||
template <class CharT, class Traits, , class Rep, class Period>
|
||||
void
|
||||
to_stream(std::basic_ostream<CharT, Traits>& os, const CharT* fmt,
|
||||
const std::chrono::duration<Rep, Period>& d);
|
||||
const std::chrono::duration<Rep, Period>& d);
|
||||
</pre>
|
||||
|
||||
<pre>
|
||||
template <class CharT, class Traits, , class Rep, class Period>
|
||||
void
|
||||
to_stream(std::basic_ostream<CharT, Traits>& os, const CharT* fmt,
|
||||
const year_month_day& ymd);
|
||||
</pre>
|
||||
|
||||
<pre>
|
||||
@@ -2030,6 +2037,20 @@ to_stream(std::basic_ostream<CharT, Traits>& os, const CharT* fmt,
|
||||
const utc_time<Duration>& tp);
|
||||
</pre>
|
||||
|
||||
<pre>
|
||||
template <class CharT, class Traits, class Duration>
|
||||
void
|
||||
to_stream(std::basic_ostream<CharT, Traits>& os, const CharT* fmt,
|
||||
const tai_time<Duration>& tp);
|
||||
</pre>
|
||||
|
||||
<pre>
|
||||
template <class CharT, class Traits, class Duration>
|
||||
void
|
||||
to_stream(std::basic_ostream<CharT, Traits>& os, const CharT* fmt,
|
||||
const gps_time<Duration>& tp);
|
||||
</pre>
|
||||
|
||||
<blockquote>
|
||||
<p>
|
||||
These are lower-level functions with respect to <code>format</code>. These functions
|
||||
@@ -2046,110 +2067,29 @@ creates temporary strings or streams to format into.
|
||||
<a name="format"></a><h3><code>format</code></h3>
|
||||
<blockquote>
|
||||
<pre>
|
||||
template <class CharT, class Traits, class Duration>
|
||||
std::basic_string<class CharT, class Traits>
|
||||
format(const std::locale& loc, const std::basic_string<class CharT, class Traits>& format,
|
||||
const local_time<Duration>& tp);
|
||||
|
||||
template <class CharT, class Traits, class Duration>
|
||||
std::basic_string<class CharT, class Traits>
|
||||
format(const std::basic_string<class CharT, class Traits>& format, const local_time<Duration>& tp);
|
||||
|
||||
template <class CharT, class Traits, class Duration>
|
||||
std::basic_string<class CharT, class Traits>
|
||||
format(const std::locale& loc, const std::basic_string<class CharT, class Traits>& format,
|
||||
const zoned_time<Duration>& tp);
|
||||
|
||||
template <class CharT, class Traits, class Duration>
|
||||
std::basic_string<class CharT, class Traits>
|
||||
format(const std::basic_string<class CharT, class Traits>& format, const zoned_time<Duration>& tp);
|
||||
|
||||
template <class CharT, class Traits, class Duration>
|
||||
std::basic_string<class CharT, class Traits>
|
||||
format(const std::locale& loc, const std::basic_string<class CharT, class Traits>& format,
|
||||
const sys_time<Duration>& tp);
|
||||
|
||||
template <class CharT, class Traits, class Duration>
|
||||
std::basic_string<class CharT, class Traits>
|
||||
format(const std::basic_string<class CharT, class Traits>& format, const sys_time<Duration>& tp);
|
||||
|
||||
template <class CharT, class Traits, class Duration>
|
||||
std::basic_string<class CharT, class Traits>
|
||||
format(const std::locale& loc, const std::basic_string<class CharT, class Traits>& format,
|
||||
const utc_time<Duration>& tp);
|
||||
|
||||
template <class CharT, class Traits, class Duration>
|
||||
std::basic_string<class CharT, class Traits>
|
||||
format(const std::basic_string<class CharT, class Traits>& format, const utc_time<Duration>& tp);
|
||||
|
||||
template <class CharT, class Traits, class Duration>
|
||||
std::basic_string<class CharT, class Traits>
|
||||
format(const std::basic_string<class CharT, class Traits>& format, const tai_time<Duration>& tp);
|
||||
|
||||
template <class CharT, class Traits, class Duration>
|
||||
std::basic_string<class CharT, class Traits>
|
||||
format(const std::basic_string<class CharT, class Traits>& format, const gps_time<Duration>& tp);
|
||||
|
||||
template <class CharT, class Traits>
|
||||
std::basic_string<class CharT, class Traits>
|
||||
format(const std::basic_string<class CharT, class Traits>& format, const year_month_day& ymd);
|
||||
|
||||
template <class CharT, class Traits, class Rep, class Period>
|
||||
template <class CharT, class Streamable>
|
||||
std::basic_string<CharT>
|
||||
format(const std::basic_string<CharT, Traits>& fmt, const std::chrono::duration<Rep, Period>& d);
|
||||
format(const std::locale& loc, const CharT* fmt, const Streamable& tp);
|
||||
|
||||
// const CharT* formats
|
||||
|
||||
template <class CharT, class Duration>
|
||||
std::basic_string<class CharT>
|
||||
format(const std::locale& loc, const CharT* format, const local_time<Duration>& tp);
|
||||
|
||||
template <class CharT, class Duration>
|
||||
std::basic_string<class CharT>
|
||||
format(const CharT* format, const local_time<Duration>& tp);
|
||||
|
||||
template <class CharT, class Duration>
|
||||
std::basic_string<class CharT>
|
||||
format(const std::locale& loc, const CharT* format, const zoned_time<Duration>& tp);
|
||||
|
||||
template <class CharT, class Duration>
|
||||
std::basic_string<class CharT>
|
||||
format(const CharT* format, const zoned_time<Duration>& tp);
|
||||
|
||||
template <class CharT, class Duration>
|
||||
std::basic_string<class CharT>
|
||||
format(const std::locale& loc, const CharT* format, const sys_time<Duration>& tp);
|
||||
|
||||
template <class CharT, class Duration>
|
||||
std::basic_string<class CharT>
|
||||
format(const CharT* format, const sys_time<Duration>& tp);
|
||||
|
||||
template <class CharT, class Duration>
|
||||
std::basic_string<class CharT>
|
||||
format(const std::locale& loc, const CharT* format, const utc_time<Duration>& tp);
|
||||
|
||||
template <class CharT, class Duration>
|
||||
std::basic_string<class CharT>
|
||||
format(const CharT* format, const utc_time<Duration>& tp);
|
||||
|
||||
template <class CharT, class Duration>
|
||||
std::basic_string<class CharT>
|
||||
format(const CharT* format, const tai_time<Duration>& tp);
|
||||
|
||||
template <class CharT, class Duration>
|
||||
std::basic_string<class CharT>
|
||||
format(const CharT* format, const gps_time<Duration>& tp);
|
||||
|
||||
template <class CharT>
|
||||
std::basic_string<class CharT>
|
||||
format(const CharT* format, const year_month_day& ymd);
|
||||
|
||||
template <class CharT, class Rep, class Period>
|
||||
template <class CharT, class Streamable>
|
||||
std::basic_string<CharT>
|
||||
format(const CharT* fmt, const std::chrono::duration<Rep, Period>& d)
|
||||
format(const CharT* fmt, const Streamable& tp);
|
||||
|
||||
template <class CharT, class Traits, class Streamable>
|
||||
std::basic_string<CharT>
|
||||
format(const std::locale& loc, const std::basic_string<CharT, Traits>& fmt, const Streamable& tp);
|
||||
|
||||
template <class CharT, class Traits, class Streamable>
|
||||
std::basic_string<CharT>
|
||||
format(const std::basic_string<CharT, Traits>& fmt, const Streamable& tp);
|
||||
</pre>
|
||||
<blockquote>
|
||||
<p>
|
||||
<i>Remarks:</i> These functions do not participate in overload resolution unless
|
||||
<code>Streamable</code> has a <code>to_stream</code> overload of the form described in the
|
||||
previous section.
|
||||
</p>
|
||||
<p>
|
||||
<i>Effects:</i> These functions create a formatted time stamp using the
|
||||
arguments, returning the result in a <code>std::string</code>.
|
||||
</p>
|
||||
@@ -2235,8 +2175,10 @@ For the overloads taking a <code>zoned_time</code> it is the value returned by
|
||||
<a name="parse"></a><h3><code>parse</code></h3>
|
||||
<blockquote>
|
||||
<p>
|
||||
One can parse in a <code>sys_time<Duration></code>,
|
||||
<code>local_time<Duration></code>, or a <code>duration<Rep, Period></code>.
|
||||
One can parse in a <code>year_month_day</code>, <code>sys_time<Duration></code>,
|
||||
<code>local_time<Duration></code>, <code>utc_time<Duration></code>,
|
||||
<code>tai_time<Duration></code>, <code>gps_time<Duration></code>,
|
||||
or a <code>duration<Rep, Period></code>.
|
||||
Optionally, one can also pass in a reference
|
||||
to a <code>std::string</code> in order to capture the time zone abbreviation, or one
|
||||
can pass in a reference to a <code>std::chrono::minutes</code> to capture a time zone
|
||||
@@ -2244,307 +2186,56 @@ UTC offset (formatted as <code>+0000</code>), or one can pass in both in either
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Each of the functions below return an unspecified <i>manipulator</i> which can be used
|
||||
to extract the desired information from a stream.
|
||||
Each of the functions below return a <code>parse_manip</code> <i>manipulator</i> which is
|
||||
specialized on the type to be parsed, and which can be used to extract the desired
|
||||
information from a stream.
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, sys_time<Duration>& tp);
|
||||
template <class Parsable, class CharT, class Traits = std::char_traits<CharT>>
|
||||
struct parse_manip;
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, sys_time<Duration>& tp,
|
||||
template <class Parsable, class CharT, class Traits>
|
||||
typename parse_manip<Parsable, CharT, Traits>::type
|
||||
parse(const std::basic_string<CharT, Traits>& format, Parsable& tp);
|
||||
|
||||
template <class Parsable, class CharT, class Traits>
|
||||
typename parse_manip<Parsable, CharT, Traits>::type
|
||||
parse(const std::basic_string<CharT, Traits>& format, Parsable& tp,
|
||||
std::basic_string<CharT, Traits>& abbrev);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, sys_time<Duration>& tp,
|
||||
template <class Parsable, class CharT, class Traits>
|
||||
typename parse_manip<Parsable, CharT, Traits>::type
|
||||
parse(const std::basic_string<CharT, Traits>& format, Parsable& tp,
|
||||
std::chrono::minutes& offset);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, sys_time<Duration>& tp,
|
||||
template <class Parsable, class CharT, class Traits>
|
||||
typename parse_manip<Parsable, CharT, Traits>::type
|
||||
parse(const std::basic_string<CharT, Traits>& format, Parsable& tp,
|
||||
std::basic_string<CharT, Traits>& abbrev, std::chrono::minutes& offset);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, sys_time<Duration>& tp,
|
||||
std::chrono::minutes& offset, std::basic_string<CharT, Traits>& abbrev);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, local_time<Duration>& tp);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, local_time<Duration>& tp,
|
||||
std::basic_string<CharT, Traits>& abbrev);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, local_time<Duration>& tp,
|
||||
std::chrono::minutes& offset);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, local_time<Duration>& tp,
|
||||
std::basic_string<CharT, Traits>& abbrev, std::chrono::minutes& offset);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, local_time<Duration>& tp,
|
||||
std::chrono::minutes& offset, std::basic_string<CharT, Traits>& abbrev);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, utc_time<Duration>& tp);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, utc_time<Duration>& tp,
|
||||
std::basic_string<CharT, Traits>& abbrev);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, utc_time<Duration>& tp,
|
||||
std::chrono::minutes& offset);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, utc_time<Duration>& tp,
|
||||
std::basic_string<CharT, Traits>& abbrev, std::chrono::minutes& offset);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, utc_time<Duration>& tp,
|
||||
std::chrono::minutes& offset, std::basic_string<CharT, Traits>& abbrev);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, tai_time<Duration>& tp);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, tai_time<Duration>& tp,
|
||||
std::basic_string<CharT, Traits>& abbrev);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, tai_time<Duration>& tp,
|
||||
std::chrono::minutes& offset);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, tai_time<Duration>& tp,
|
||||
std::basic_string<CharT, Traits>& abbrev, std::chrono::minutes& offset);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, tai_time<Duration>& tp,
|
||||
std::chrono::minutes& offset, std::basic_string<CharT, Traits>& abbrev);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, gps_time<Duration>& tp);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, gps_time<Duration>& tp,
|
||||
std::basic_string<CharT, Traits>& abbrev);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, gps_time<Duration>& tp,
|
||||
std::chrono::minutes& offset);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, gps_time<Duration>& tp,
|
||||
std::basic_string<CharT, Traits>& abbrev, std::chrono::minutes& offset);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, gps_time<Duration>& tp,
|
||||
std::chrono::minutes& offset, std::basic_string<CharT, Traits>& abbrev);
|
||||
|
||||
template <class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, year_month_day& ymd);
|
||||
|
||||
template <class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, year_month_day& ymd,
|
||||
std::basic_string<CharT, Traits>& abbrev);
|
||||
|
||||
template <class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, year_month_day& ymd,
|
||||
std::chrono::minutes& offset);
|
||||
|
||||
template <class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, year_month_day& ymd,
|
||||
std::basic_string<CharT, Traits>& abbrev, std::chrono::minutes& offset);
|
||||
|
||||
template <class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format, year_month_day& ymd,
|
||||
std::chrono::minutes& offset, std::basic_string<CharT, Traits>& abbrev);
|
||||
|
||||
template <class Rep, class Period, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const std::basic_string<CharT, Traits>& format,
|
||||
std::chrono::duration<Rep, Period>& d);
|
||||
|
||||
// const CharT* formats
|
||||
|
||||
template <class Duration, class CharT>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, sys_time<Duration>& tp);
|
||||
template <class Parsable, class CharT>
|
||||
typename parse_manip<Parsable, CharT>::type
|
||||
parse(const CharT* format, Parsable& tp);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, sys_time<Duration>& tp,
|
||||
std::basic_string<CharT, Traits>& abbrev);
|
||||
template <class Parsable, class CharT, class Traits>
|
||||
typename parse_manip<Parsable, CharT>::type
|
||||
parse(const CharT* format, Parsable& tp, std::basic_string<CharT, Traits>& abbrev);
|
||||
|
||||
template <class Duration, class CharT>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, sys_time<Duration>& tp, std::chrono::minutes& offset);
|
||||
template <class Parsable, class CharT>
|
||||
typename parse_manip<Parsable, CharT>::type
|
||||
parse(const CharT* format, Parsable& tp, std::chrono::minutes& offset);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, sys_time<Duration>& tp,
|
||||
template <class Parsable, class CharT, class Traits>
|
||||
typename parse_manip<Parsable, CharT>::type
|
||||
parse(const CharT* format, Parsable& tp,
|
||||
std::basic_string<CharT, Traits>& abbrev, std::chrono::minutes& offset);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, sys_time<Duration>& tp,
|
||||
std::chrono::minutes& offset, std::basic_string<CharT, Traits>& abbrev);
|
||||
|
||||
template <class Duration, class CharT>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, local_time<Duration>& tp);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, local_time<Duration>& tp,
|
||||
std::basic_string<CharT, Traits>& abbrev);
|
||||
|
||||
template <class Duration, class CharT>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, local_time<Duration>& tp, std::chrono::minutes& offset);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, local_time<Duration>& tp,
|
||||
std::basic_string<CharT, Traits>& abbrev, std::chrono::minutes& offset);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, local_time<Duration>& tp, std::chrono::minutes& offset,
|
||||
std::basic_string<CharT, Traits>& abbrev);
|
||||
|
||||
template <class Duration, class CharT>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, utc_time<Duration>& tp);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, utc_time<Duration>& tp,
|
||||
std::basic_string<CharT, Traits>& abbrev);
|
||||
|
||||
template <class Duration, class CharT>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, utc_time<Duration>& tp, std::chrono::minutes& offset);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, utc_time<Duration>& tp,
|
||||
std::basic_string<CharT, Traits>& abbrev, std::chrono::minutes& offset);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, utc_time<Duration>& tp,
|
||||
std::chrono::minutes& offset, std::basic_string<CharT, Traits>& abbrev);
|
||||
|
||||
template <class Duration, class CharT>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, tai_time<Duration>& tp);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, tai_time<Duration>& tp,
|
||||
std::basic_string<CharT, Traits>& abbrev);
|
||||
|
||||
template <class Duration, class CharT>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, tai_time<Duration>& tp, std::chrono::minutes& offset);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, tai_time<Duration>& tp,
|
||||
std::basic_string<CharT, Traits>& abbrev, std::chrono::minutes& offset);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, tai_time<Duration>& tp,
|
||||
std::chrono::minutes& offset, std::basic_string<CharT, Traits>& abbrev);
|
||||
|
||||
template <class Duration, class CharT>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, gps_time<Duration>& tp);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, gps_time<Duration>& tp,
|
||||
std::basic_string<CharT, Traits>& abbrev);
|
||||
|
||||
template <class Duration, class CharT>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, gps_time<Duration>& tp, std::chrono::minutes& offset);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, gps_time<Duration>& tp,
|
||||
std::basic_string<CharT, Traits>& abbrev, std::chrono::minutes& offset);
|
||||
|
||||
template <class Duration, class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, gps_time<Duration>& tp,
|
||||
std::chrono::minutes& offset, std::basic_string<CharT, Traits>& abbrev);
|
||||
|
||||
template <class CharT>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, year_month_day& ymd);
|
||||
|
||||
template <class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, year_month_day& ymd,
|
||||
std::basic_string<CharT, Traits>& abbrev);
|
||||
|
||||
template <class CharT>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, year_month_day& ymd, std::chrono::minutes& offset);
|
||||
|
||||
template <class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, year_month_day& ymd,
|
||||
std::basic_string<CharT, Traits>& abbrev, std::chrono::minutes& offset);
|
||||
|
||||
template <class CharT, class Traits>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, year_month_day& ymd,
|
||||
std::chrono::minutes& offset, std::basic_string<CharT, Traits>& abbrev);
|
||||
|
||||
template <class Rep, class Period, class CharT>
|
||||
<i>unspecified istream manipulator</i>
|
||||
parse(const CharT* format, std::chrono::duration<Rep, Period>& d);
|
||||
</pre>
|
||||
<blockquote>
|
||||
<p>
|
||||
<i>Effects:</i> These functions attempt to parse a <code>time_point</code> out of
|
||||
<i>Effects:</i> These functions attempt to parse an object out of
|
||||
<code>is</code> according to <code>format</code>. If the parse is unsuccessful,
|
||||
calls <code>is.setstate(std::ios::failbit)</code> which may throw an exception.
|
||||
<code>tp</code>, <code>abbrev</code>, and <code>offset</code> are altered only in
|
||||
|
Reference in New Issue
Block a user