Make to_stream and from_stream return a stream reference

This commit is contained in:
Howard Hinnant
2017-06-17 13:12:27 -04:00
parent 8b51803d7b
commit 87620f4d1f
3 changed files with 272 additions and 115 deletions

View File

@@ -814,12 +814,12 @@ template <class charT, class traits, class Rep, class Period>
const duration<Rep, Period>& d); const duration<Rep, Period>& d);
template <class charT, class traits, class Rep, class Period> template <class charT, class traits, class Rep, class Period>
void basic_ostream<charT, traits>&
to_stream(basic_ostream<charT, traits>& os, const charT* fmt, to_stream(basic_ostream<charT, traits>& os, const charT* fmt,
const duration<Rep, Period>& d); const duration<Rep, Period>& d);
template <class Rep, class Period, class charT, class traits, class Alloc = allocator<charT>> template <class Rep, class Period, class charT, class traits, class Alloc = allocator<charT>>
void basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt, from_stream(basic_istream<charT, traits>& is, const charT* fmt,
duration<Rep, Period>& d, duration<Rep, Period>& d,
basic_string<charT, traits, Alloc>* abbrev = nullptr, basic_string<charT, traits, Alloc>* abbrev = nullptr,
@@ -967,63 +967,63 @@ template <class charT, class traits, class Duration>
// to_stream // to_stream
template <class charT, class traits, class Duration> template <class charT, class traits, class Duration>
void basic_ostream<charT, traits>&
to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const sys_time<Duration>& tp); to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const sys_time<Duration>& tp);
template <class charT, class traits, class Duration> template <class charT, class traits, class Duration>
void basic_ostream<charT, traits>&
to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const local_time<Duration>& tp, to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const local_time<Duration>& tp,
const string* abbrev = nullptr, const seconds* offset_sec = nullptr); const string* abbrev = nullptr, const seconds* offset_sec = nullptr);
template <class charT, class traits, class Duration> template <class charT, class traits, class Duration>
void basic_ostream<charT, traits>&
to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const utc_time<Duration>& tp); to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const utc_time<Duration>& tp);
template <class charT, class traits, class Duration> template <class charT, class traits, class Duration>
void basic_ostream<charT, traits>&
to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const tai_time<Duration>& tp); to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const tai_time<Duration>& tp);
template <class charT, class traits, class Duration> template <class charT, class traits, class Duration>
void basic_ostream<charT, traits>&
to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const gps_time<Duration>& tp); to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const gps_time<Duration>& tp);
template <class charT, class traits, class Duration> template <class charT, class traits, class Duration>
void basic_ostream<charT, traits>&
to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const file_time<Duration>& tp); to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const file_time<Duration>& tp);
// from_stream // from_stream
template <class Duration, class charT, class traits, class Alloc = allocator<charT>> template <class Duration, class charT, class traits, class Alloc = allocator<charT>>
void basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt, from_stream(basic_istream<charT, traits>& is, const charT* fmt,
sys_time<Duration>& tp, basic_string<charT, traits, Alloc>* abbrev = nullptr, sys_time<Duration>& tp, basic_string<charT, traits, Alloc>* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
template <class Duration, class charT, class traits, class Alloc = allocator<charT>> template <class Duration, class charT, class traits, class Alloc = allocator<charT>>
void basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt, from_stream(basic_istream<charT, traits>& is, const charT* fmt,
local_time<Duration>& tp, basic_string<charT, traits, Alloc>* abbrev = nullptr, local_time<Duration>& tp, basic_string<charT, traits, Alloc>* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
template <class Duration, class charT, class traits, class Alloc = allocator<charT>> template <class Duration, class charT, class traits, class Alloc = allocator<charT>>
void basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt, from_stream(basic_istream<charT, traits>& is, const charT* fmt,
utc_time<Duration>& tp, basic_string<charT, traits, Alloc>* abbrev = nullptr, utc_time<Duration>& tp, basic_string<charT, traits, Alloc>* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
template <class Duration, class charT, class traits, class Alloc = allocator<charT>> template <class Duration, class charT, class traits, class Alloc = allocator<charT>>
void basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt, from_stream(basic_istream<charT, traits>& is, const charT* fmt,
tai_time<Duration>& tp, basic_string<charT, traits, Alloc>* abbrev = nullptr, tai_time<Duration>& tp, basic_string<charT, traits, Alloc>* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
template <class Duration, class charT, class traits, class Alloc = allocator<charT>> template <class Duration, class charT, class traits, class Alloc = allocator<charT>>
void basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt, from_stream(basic_istream<charT, traits>& is, const charT* fmt,
gps_time<Duration>& tp, basic_string<charT, traits, Alloc>* abbrev = nullptr, gps_time<Duration>& tp, basic_string<charT, traits, Alloc>* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
template <class Duration, class charT, class traits, class Alloc = allocator<charT>> template <class Duration, class charT, class traits, class Alloc = allocator<charT>>
void basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt, from_stream(basic_istream<charT, traits>& is, const charT* fmt,
file_time<Duration>& tp, basic_string<charT, traits, Alloc>* abbrev = nullptr, file_time<Duration>& tp, basic_string<charT, traits, Alloc>* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -1051,11 +1051,11 @@ template<class charT, class traits>
operator<<(basic_ostream<class charT, class traits>& os, const day& d); operator<<(basic_ostream<class charT, class traits>& os, const day& d);
template <class charT, class traits, class Duration> template <class charT, class traits, class Duration>
void basic_ostream<charT, traits>&
to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const day& d); to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const day& d);
template <class Duration, class charT, class traits, class Alloc = allocator<charT>> template <class Duration, class charT, class traits, class Alloc = allocator<charT>>
void basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt, from_stream(basic_istream<charT, traits>& is, const charT* fmt,
day& d, basic_string<charT, traits, Alloc>* abbrev = nullptr, day& d, basic_string<charT, traits, Alloc>* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -1079,11 +1079,11 @@ template<class charT, class traits>
operator<<(basic_ostream<class charT, class traits>& os, const month& m); operator<<(basic_ostream<class charT, class traits>& os, const month& m);
template <class charT, class traits, class Duration> template <class charT, class traits, class Duration>
void basic_ostream<charT, traits>&
to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const month& m); to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const month& m);
template <class Duration, class charT, class traits, class Alloc = allocator<charT>> template <class Duration, class charT, class traits, class Alloc = allocator<charT>>
void basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt, from_stream(basic_istream<charT, traits>& is, const charT* fmt,
month& m, basic_string<charT, traits, Alloc>* abbrev = nullptr, month& m, basic_string<charT, traits, Alloc>* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -1107,11 +1107,11 @@ template<class charT, class traits>
operator<<(basic_ostream<class charT, class traits>& os, const year& y); operator<<(basic_ostream<class charT, class traits>& os, const year& y);
template <class charT, class traits, class Duration> template <class charT, class traits, class Duration>
void basic_ostream<charT, traits>&
to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const year& y); to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const year& y);
template <class Duration, class charT, class traits, class Alloc = allocator<charT>> template <class Duration, class charT, class traits, class Alloc = allocator<charT>>
void basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt, from_stream(basic_istream<charT, traits>& is, const charT* fmt,
year& y, basic_string<charT, traits, Alloc>* abbrev = nullptr, year& y, basic_string<charT, traits, Alloc>* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -1131,11 +1131,11 @@ template<class charT, class traits>
operator<<(basic_ostream<class charT, class traits>& os, const weekday& wd); operator<<(basic_ostream<class charT, class traits>& os, const weekday& wd);
template <class charT, class traits, class Duration> template <class charT, class traits, class Duration>
void basic_ostream<charT, traits>&
to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const weekday& wd); to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const weekday& wd);
template <class Duration, class charT, class traits, class Alloc = allocator<charT>> template <class Duration, class charT, class traits, class Alloc = allocator<charT>>
void basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt, from_stream(basic_istream<charT, traits>& is, const charT* fmt,
weekday& wd, basic_string<charT, traits, Alloc>* abbrev = nullptr, weekday& wd, basic_string<charT, traits, Alloc>* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -1172,11 +1172,11 @@ template<class charT, class traits>
operator<<(basic_ostream<class charT, class traits>& os, const month_day& md); operator<<(basic_ostream<class charT, class traits>& os, const month_day& md);
template <class charT, class traits, class Duration> template <class charT, class traits, class Duration>
void basic_ostream<charT, traits>&
to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const month_day& md); to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const month_day& md);
template <class Duration, class charT, class traits, class Alloc = allocator<charT>> template <class Duration, class charT, class traits, class Alloc = allocator<charT>>
void basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt, from_stream(basic_istream<charT, traits>& is, const charT* fmt,
month_day& md, basic_string<charT, traits, Alloc>* abbrev = nullptr, month_day& md, basic_string<charT, traits, Alloc>* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -1234,11 +1234,11 @@ template<class charT, class traits>
operator<<(basic_ostream<class charT, class traits>& os, const year_month& ym); operator<<(basic_ostream<class charT, class traits>& os, const year_month& ym);
template <class charT, class traits, class Duration> template <class charT, class traits, class Duration>
void basic_ostream<charT, traits>&
to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const year_month& ym); to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const year_month& ym);
template <class Duration, class charT, class traits, class Alloc = allocator<charT>> template <class Duration, class charT, class traits, class Alloc = allocator<charT>>
void basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt, from_stream(basic_istream<charT, traits>& is, const charT* fmt,
year_month& ym, basic_string<charT, traits, Alloc>* abbrev = nullptr, year_month& ym, basic_string<charT, traits, Alloc>* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -1264,11 +1264,11 @@ template<class charT, class traits>
operator<<(basic_ostream<class charT, class traits>& os, const year_month_day& ymd); operator<<(basic_ostream<class charT, class traits>& os, const year_month_day& ymd);
template <class charT, class traits, class Duration> template <class charT, class traits, class Duration>
void basic_ostream<charT, traits>&
to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const year_month_day& ymd); to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const year_month_day& ymd);
template <class Duration, class charT, class traits, class Alloc = allocator<charT>> template <class Duration, class charT, class traits, class Alloc = allocator<charT>>
void basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt, from_stream(basic_istream<charT, traits>& is, const charT* fmt,
year_month_day& ymd, basic_string<charT, traits, Alloc>* abbrev = nullptr, year_month_day& ymd, basic_string<charT, traits, Alloc>* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -1449,7 +1449,7 @@ template <class Duration>
operator<<(basic_ostream<class charT, class traits>& os, const zoned_time<Duration>& t); operator<<(basic_ostream<class charT, class traits>& os, const zoned_time<Duration>& t);
template <class charT, class traits, class Duration> template <class charT, class traits, class Duration>
void basic_ostream<charT, traits>&
to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const zoned_time<Duration>& tp); to_stream(basic_ostream<charT, traits>& os, const charT* fmt, const zoned_time<Duration>& tp);
// format // format
@@ -1673,7 +1673,7 @@ is encouraged. The implementation may substitute other encodings, including
<pre> <pre>
template &lt;class charT, class traits, class Rep, class Period&gt; template &lt;class charT, class traits, class Rep, class Period&gt;
void basic_ostream&lt;charT, traits&gt;&amp;
to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt,
const duration&lt;Rep, Period&gt;&amp; d); const duration&lt;Rep, Period&gt;&amp; d);
</pre> </pre>
@@ -1684,11 +1684,14 @@ to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt,
the null-terminated array <code>fmt</code>. <code>fmt</code> encoding follows the rules the null-terminated array <code>fmt</code>. <code>fmt</code> encoding follows the rules
specified by [time.format]. specified by [time.format].
</p> </p>
<p>
<i>Returns:</i> <code>os</code>.
</p>
</blockquote> </blockquote>
<pre> <pre>
template &lt;class Rep, class Period, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt; template &lt;class Rep, class Period, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt;
void basic_istream&lt;charT, traits&gt;&amp;
from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt, from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt,
duration&lt;Rep, Period&gt;&amp; d, duration&lt;Rep, Period&gt;&amp; d,
basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr,
@@ -1712,6 +1715,9 @@ If <code>%Z</code> is used and successfully parsed, that value will be assigned
If <code>%z</code> (or a modified variant) is used and successfully parsed, that value If <code>%z</code> (or a modified variant) is used and successfully parsed, that value
will be assigned to <code>*offset</code> if <code>offset</code> is non-null. will be assigned to <code>*offset</code> if <code>offset</code> is non-null.
</p> </p>
<p>
<i>Returns:</i> <code>is</code>.
</p>
</blockquote> </blockquote>
</blockquote> </blockquote>
@@ -2033,7 +2039,7 @@ os &lt;&lt; year_month_day{dp};
<pre> <pre>
template &lt;class charT, class traits, class Duration&gt; template &lt;class charT, class traits, class Duration&gt;
void basic_ostream&lt;charT, traits&gt;&amp;
to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const sys_time&lt;Duration&gt;&amp; tp); to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const sys_time&lt;Duration&gt;&amp; tp);
</pre> </pre>
@@ -2045,11 +2051,14 @@ specified by [time.format]. If <code>%Z</code> is used, it will be replaced wit
<code>"UTC"</code>. If <code>%z</code> is used (or a modified form of <code>%z</code>), <code>"UTC"</code>. If <code>%z</code> is used (or a modified form of <code>%z</code>),
an offset of <code>0min</code> will be formatted. an offset of <code>0min</code> will be formatted.
</p> </p>
<p>
<i>Returns:</i> <code>os</code>.
</p>
</blockquote> </blockquote>
<pre> <pre>
template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt; template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt;
void basic_istream&lt;charT, traits&gt;&amp;
from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt, from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt,
sys_time&lt;Duration&gt;&amp; tp, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr, sys_time&lt;Duration&gt;&amp; tp, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -2073,6 +2082,9 @@ will be assigned to <code>*offset</code> if <code>offset</code> is non-null.
Additionally, the parsed offset will be subtracted from the successfully parsed time stamp Additionally, the parsed offset will be subtracted from the successfully parsed time stamp
prior to assigning that difference to <code>tp</code>. prior to assigning that difference to <code>tp</code>.
</p> </p>
<p>
<i>Returns:</i> <code>is</code>.
</p>
</blockquote> </blockquote>
</blockquote> </blockquote>
@@ -2228,7 +2240,7 @@ operator&lt;&lt;(basic_ostream&lt;charT, traits&gt;&amp; os, const utc_time&lt;D
<pre> <pre>
template &lt;class charT, class traits, class Duration&gt; template &lt;class charT, class traits, class Duration&gt;
void basic_ostream&lt;charT, traits&gt;&amp;
to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const utc_time&lt;Duration&gt;&amp; tp); to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const utc_time&lt;Duration&gt;&amp; tp);
</pre> </pre>
@@ -2274,7 +2286,7 @@ Output:
<pre> <pre>
template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt; template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt;
void basic_istream&lt;charT, traits&gt;&amp;
from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt, from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt,
utc_time&lt;Duration&gt;&amp; tp, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr, utc_time&lt;Duration&gt;&amp; tp, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -2298,6 +2310,9 @@ will be assigned to <code>*offset</code> if <code>offset</code> is non-null.
Additionally, the parsed offset will be subtracted from the successfully parsed time stamp Additionally, the parsed offset will be subtracted from the successfully parsed time stamp
prior to assigning that difference to <code>tp</code>. prior to assigning that difference to <code>tp</code>.
</p> </p>
<p>
<i>Returns:</i> <code>is</code>.
</p>
</blockquote> </blockquote>
</blockquote> </blockquote>
@@ -2418,7 +2433,7 @@ operator&lt;&lt;(basic_ostream&lt;charT, traits&gt;&amp; os, const tai_time&lt;D
<pre> <pre>
template &lt;class charT, class traits, class Duration&gt; template &lt;class charT, class traits, class Duration&gt;
void basic_ostream&lt;charT, traits&gt;&amp;
to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const tai_time&lt;Duration&gt;&amp; tp); to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const tai_time&lt;Duration&gt;&amp; tp);
</pre> </pre>
@@ -2458,7 +2473,7 @@ Output:
<pre> <pre>
template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt; template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt;
void basic_istream&lt;charT, traits&gt;&amp;
from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt, from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt,
tai_time&lt;Duration&gt;&amp; tp, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr, tai_time&lt;Duration&gt;&amp; tp, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -2482,6 +2497,9 @@ will be assigned to <code>*offset</code> if <code>offset</code> is non-null.
Additionally, the parsed offset will be subtracted from the successfully parsed time stamp Additionally, the parsed offset will be subtracted from the successfully parsed time stamp
prior to assigning that difference to <code>tp</code>. prior to assigning that difference to <code>tp</code>.
</p> </p>
<p>
<i>Returns:</i> <code>is</code>.
</p>
</blockquote> </blockquote>
</blockquote> </blockquote>
@@ -2603,7 +2621,7 @@ operator&lt;&lt;(basic_ostream&lt;charT, traits&gt;&amp; os, const gps_time&lt;D
<pre> <pre>
template &lt;class charT, class traits, class Duration&gt; template &lt;class charT, class traits, class Duration&gt;
void basic_ostream&lt;charT, traits&gt;&amp;
to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const gps_time&lt;Duration&gt;&amp; tp); to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const gps_time&lt;Duration&gt;&amp; tp);
</pre> </pre>
@@ -2643,7 +2661,7 @@ Output:
<pre> <pre>
template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt; template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt;
void basic_istream&lt;charT, traits&gt;&amp;
from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt, from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt,
gps_time&lt;Duration&gt;&amp; tp, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr, gps_time&lt;Duration&gt;&amp; tp, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -2667,6 +2685,9 @@ will be assigned to <code>*offset</code> if <code>offset</code> is non-null.
Additionally, the parsed offset will be subtracted from the successfully parsed time stamp Additionally, the parsed offset will be subtracted from the successfully parsed time stamp
prior to assigning that difference to <code>tp</code>. prior to assigning that difference to <code>tp</code>.
</p> </p>
<p>
<i>Returns:</i> <code>is</code>.
</p>
</blockquote> </blockquote>
</blockquote> </blockquote>
@@ -2766,7 +2787,7 @@ operator&lt;&lt;(basic_ostream&lt;charT, traits&gt;&amp; os, const file_time&lt;
<pre> <pre>
template &lt;class charT, class traits, class Duration&gt; template &lt;class charT, class traits, class Duration&gt;
void basic_ostream&lt;charT, traits&gt;&amp;
to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const file_time&lt;Duration&gt;&amp; tp); to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const file_time&lt;Duration&gt;&amp; tp);
</pre> </pre>
@@ -2786,7 +2807,7 @@ equivalent to that formatted by a <code>sys_time</code> initialized with <code>t
<pre> <pre>
template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt; template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt;
void basic_istream&lt;charT, traits&gt;&amp;
from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt, from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt,
file_time&lt;Duration&gt;&amp; tp, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr, file_time&lt;Duration&gt;&amp; tp, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -2810,6 +2831,9 @@ will be assigned to <code>*offset</code> if <code>offset</code> is non-null.
Additionally, the parsed offset will be subtracted from the successfully parsed time stamp Additionally, the parsed offset will be subtracted from the successfully parsed time stamp
prior to assigning that difference to <code>tp</code>. prior to assigning that difference to <code>tp</code>.
</p> </p>
<p>
<i>Returns:</i> <code>is</code>.
</p>
</blockquote> </blockquote>
</blockquote> </blockquote>
@@ -2854,7 +2878,7 @@ os &lt;&lt; sys_time&lt;Duration&gt;{lt.time_since_epoch()};
<pre> <pre>
template &lt;class charT, class traits, class Duration&gt; template &lt;class charT, class traits, class Duration&gt;
void basic_ostream&lt;charT, traits&gt;&amp;
to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const local_time&lt;Duration&gt;&amp; tp, to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const local_time&lt;Duration&gt;&amp; tp,
const string* abbrev = nullptr, const seconds* offset_sec = nullptr); const string* abbrev = nullptr, const seconds* offset_sec = nullptr);
</pre> </pre>
@@ -2872,11 +2896,14 @@ specified by [time.format]. If <code>%Z</code> is used, it will be replaced wit
(or a modified form of <code>%z</code>) is used, and <code>offset_sec</code> is equal to (or a modified form of <code>%z</code>) is used, and <code>offset_sec</code> is equal to
<code>nullptr</code>, then <code>failbit</code> is set. <code>nullptr</code>, then <code>failbit</code> is set.
</p> </p>
<p>
<i>Returns:</i> <code>os</code>.
</p>
</blockquote> </blockquote>
<pre> <pre>
template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt; template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt;
void basic_istream&lt;charT, traits&gt;&amp;
from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt, from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt,
local_time&lt;Duration&gt;&amp; tp, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr, local_time&lt;Duration&gt;&amp; tp, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -2898,6 +2925,9 @@ If <code>%Z</code> is used and successfully parsed, that value will be assigned
If <code>%z</code> (or a modified variant) is used and successfully parsed, that value If <code>%z</code> (or a modified variant) is used and successfully parsed, that value
will be assigned to <code>*offset</code> if <code>offset</code> is non-null. will be assigned to <code>*offset</code> if <code>offset</code> is non-null.
</p> </p>
<p>
<i>Returns:</i> <code>is</code>.
</p>
</blockquote> </blockquote>
</blockquote> </blockquote>
@@ -3743,11 +3773,11 @@ basic_ostream&lt;charT, traits&gt;&amp;
operator&lt;&lt;(basic_ostream&lt;charT, traits&gt;&amp; os, const day&amp; d); operator&lt;&lt;(basic_ostream&lt;charT, traits&gt;&amp; os, const day&amp; d);
template &lt;class charT, class traits, class Duration&gt; template &lt;class charT, class traits, class Duration&gt;
void basic_ostream&lt;charT, traits&gt;&amp;
to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const day&amp; d); to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const day&amp; d);
template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt; template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt;
void basic_istream&lt;charT, traits&gt;&amp;
from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt, from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt,
day&amp; d, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr, day&amp; d, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -3987,7 +4017,7 @@ operator&lt;&lt;(basic_ostream&lt;charT, traits&gt;&amp; os, const day&amp; d);
<pre> <pre>
template &lt;class charT, class traits, class Duration&gt; template &lt;class charT, class traits, class Duration&gt;
void basic_ostream&lt;charT, traits&gt;&amp;
to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const day&amp; d); to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const day&amp; d);
</pre> </pre>
@@ -3997,11 +4027,14 @@ to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const da
the null-terminated array <code>fmt</code>. <code>fmt</code> encoding follows the rules the null-terminated array <code>fmt</code>. <code>fmt</code> encoding follows the rules
specified by [time.format]. specified by [time.format].
</p> </p>
<p>
<i>Returns:</i> <code>os</code>.
</p>
</blockquote> </blockquote>
<pre> <pre>
template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt; template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt;
void basic_istream&lt;charT, traits&gt;&amp;
from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt, from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt,
day&amp; d, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr, day&amp; d, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -4023,6 +4056,9 @@ If <code>%Z</code> is used and successfully parsed, that value will be assigned
If <code>%z</code> (or a modified variant) is used and successfully parsed, that value If <code>%z</code> (or a modified variant) is used and successfully parsed, that value
will be assigned to <code>*offset</code> if <code>offset</code> is non-null. will be assigned to <code>*offset</code> if <code>offset</code> is non-null.
</p> </p>
<p>
<i>Returns:</i> <code>is</code>.
</p>
</blockquote> </blockquote>
<pre> <pre>
@@ -4087,11 +4123,11 @@ template &lt;class charT, class traits&gt;
operator&lt;&lt;(basic_ostream&lt;charT, traits&gt;&amp; os, const month&amp; m); operator&lt;&lt;(basic_ostream&lt;charT, traits&gt;&amp; os, const month&amp; m);
template &lt;class charT, class traits, class Duration&gt; template &lt;class charT, class traits, class Duration&gt;
void basic_ostream&lt;charT, traits&gt;&amp;
to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const month&amp; m); to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const month&amp; m);
template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt; template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt;
void basic_istream&lt;charT, traits&gt;&amp;
from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt, from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt,
month&amp; m, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr, month&amp; m, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -4358,7 +4394,7 @@ output for the month field by <code>asctime</code>. Otherwise outputs
<pre> <pre>
template &lt;class charT, class traits, class Duration&gt; template &lt;class charT, class traits, class Duration&gt;
void basic_ostream&lt;charT, traits&gt;&amp;
to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const month&amp; m); to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const month&amp; m);
</pre> </pre>
@@ -4368,11 +4404,14 @@ to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const mo
the null-terminated array <code>fmt</code>. <code>fmt</code> encoding follows the rules the null-terminated array <code>fmt</code>. <code>fmt</code> encoding follows the rules
specified by [time.format]. specified by [time.format].
</p> </p>
<p>
<i>Returns:</i> <code>os</code>.
</p>
</blockquote> </blockquote>
<pre> <pre>
template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt; template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt;
void basic_istream&lt;charT, traits&gt;&amp;
from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt, from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt,
month&amp; m, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr, month&amp; m, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -4394,6 +4433,9 @@ If <code>%Z</code> is used and successfully parsed, that value will be assigned
If <code>%z</code> (or a modified variant) is used and successfully parsed, that value If <code>%z</code> (or a modified variant) is used and successfully parsed, that value
will be assigned to <code>*offset</code> if <code>offset</code> is non-null. will be assigned to <code>*offset</code> if <code>offset</code> is non-null.
</p> </p>
<p>
<i>Returns:</i> <code>is</code>.
</p>
</blockquote> </blockquote>
<a name="time.calendar.year"></a><h3>23.17.10.4 Class <code>year</code> [time.calendar.year]</h3> <a name="time.calendar.year"></a><h3>23.17.10.4 Class <code>year</code> [time.calendar.year]</h3>
@@ -4454,11 +4496,11 @@ template &lt;class charT, class traits&gt;
operator&lt;&lt;(basic_ostream&lt;charT, traits&gt;&amp; os, const year&amp; y); operator&lt;&lt;(basic_ostream&lt;charT, traits&gt;&amp; os, const year&amp; y);
template &lt;class charT, class traits, class Duration&gt; template &lt;class charT, class traits, class Duration&gt;
void basic_ostream&lt;charT, traits&gt;&amp;
to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const year&amp; y); to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const year&amp; y);
template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt; template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt;
void basic_istream&lt;charT, traits&gt;&amp;
from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt, from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt,
year&amp; y, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr, year&amp; y, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -4750,7 +4792,7 @@ into <code>os</code>. If the year is in the range [-999, 999], prefixes the year
<pre> <pre>
template &lt;class charT, class traits, class Duration&gt; template &lt;class charT, class traits, class Duration&gt;
void basic_ostream&lt;charT, traits&gt;&amp;
to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const year&amp; y); to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const year&amp; y);
</pre> </pre>
@@ -4760,11 +4802,14 @@ to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const ye
the null-terminated array <code>fmt</code>. <code>fmt</code> encoding follows the rules the null-terminated array <code>fmt</code>. <code>fmt</code> encoding follows the rules
specified by [time.format]. specified by [time.format].
</p> </p>
<p>
<i>Returns:</i> <code>os</code>.
</p>
</blockquote> </blockquote>
<pre> <pre>
template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt; template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt;
void basic_istream&lt;charT, traits&gt;&amp;
from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt, from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt,
year&amp; y, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr, year&amp; y, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -4786,6 +4831,9 @@ If <code>%Z</code> is used and successfully parsed, that value will be assigned
If <code>%z</code> (or a modified variant) is used and successfully parsed, that value If <code>%z</code> (or a modified variant) is used and successfully parsed, that value
will be assigned to <code>*offset</code> if <code>offset</code> is non-null. will be assigned to <code>*offset</code> if <code>offset</code> is non-null.
</p> </p>
<p>
<i>Returns:</i> <code>is</code>.
</p>
</blockquote> </blockquote>
<pre> <pre>
@@ -4867,11 +4915,11 @@ template &lt;class charT, class traits&gt;
operator&lt;&lt;(basic_ostream&lt;charT, traits&gt;&amp; os, const weekday&amp; wd); operator&lt;&lt;(basic_ostream&lt;charT, traits&gt;&amp; os, const weekday&amp; wd);
template &lt;class charT, class traits, class Duration&gt; template &lt;class charT, class traits, class Duration&gt;
void basic_ostream&lt;charT, traits&gt;&amp;
to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const weekday&amp; wd); to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const weekday&amp; wd);
template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt; template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt;
void basic_istream&lt;charT, traits&gt;&amp;
from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt, from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt,
weekday&amp; wd, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr, weekday&amp; wd, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -5150,7 +5198,7 @@ output for the weekday field by <code>asctime</code>. Otherwise outputs
<pre> <pre>
template &lt;class charT, class traits, class Duration&gt; template &lt;class charT, class traits, class Duration&gt;
void basic_ostream&lt;charT, traits&gt;&amp;
to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const weekday&amp; wd); to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const weekday&amp; wd);
</pre> </pre>
@@ -5160,11 +5208,14 @@ to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const we
the null-terminated array <code>fmt</code>. <code>fmt</code> encoding follows the rules the null-terminated array <code>fmt</code>. <code>fmt</code> encoding follows the rules
specified by [time.format]. specified by [time.format].
</p> </p>
<p>
<i>Returns:</i> <code>os</code>.
</p>
</blockquote> </blockquote>
<pre> <pre>
template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt; template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt;
void basic_istream&lt;charT, traits&gt;&amp;
from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt, from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt,
weekday&amp; wd, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr, weekday&amp; wd, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -5186,6 +5237,9 @@ If <code>%Z</code> is used and successfully parsed, that value will be assigned
If <code>%z</code> (or a modified variant) is used and successfully parsed, that value If <code>%z</code> (or a modified variant) is used and successfully parsed, that value
will be assigned to <code>*offset</code> if <code>offset</code> is non-null. will be assigned to <code>*offset</code> if <code>offset</code> is non-null.
</p> </p>
<p>
<i>Returns:</i> <code>is</code>.
</p>
</blockquote> </blockquote>
<a name="time.calendar.weekday_indexed"></a><h3>23.17.10.6 Class <code>weekday_indexed</code> [time.calendar.weekday_indexed]</h3> <a name="time.calendar.weekday_indexed"></a><h3>23.17.10.6 Class <code>weekday_indexed</code> [time.calendar.weekday_indexed]</h3>
@@ -5460,11 +5514,11 @@ template &lt;class charT, class traits&gt;
operator&lt;&lt;(basic_ostream&lt;charT, traits&gt;&amp; os, const month_day&amp; md); operator&lt;&lt;(basic_ostream&lt;charT, traits&gt;&amp; os, const month_day&amp; md);
template &lt;class charT, class traits, class Duration&gt; template &lt;class charT, class traits, class Duration&gt;
void basic_ostream&lt;charT, traits&gt;&amp;
to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const month_day&amp; md); to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const month_day&amp; md);
template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt; template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt;
void basic_istream&lt;charT, traits&gt;&amp;
from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt, from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt,
month_day&amp; md, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr, month_day&amp; md, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -5598,7 +5652,7 @@ return os &lt;&lt; md.month() &lt;&lt; '/' &lt;&lt; md.day();
<pre> <pre>
template &lt;class charT, class traits, class Duration&gt; template &lt;class charT, class traits, class Duration&gt;
void basic_ostream&lt;charT, traits&gt;&amp;
to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const month_day&amp; md); to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const month_day&amp; md);
</pre> </pre>
@@ -5608,11 +5662,14 @@ to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const mo
the null-terminated array <code>fmt</code>. <code>fmt</code> encoding follows the rules the null-terminated array <code>fmt</code>. <code>fmt</code> encoding follows the rules
specified by [time.format]. specified by [time.format].
</p> </p>
<p>
<i>Returns:</i> <code>os</code>.
</p>
</blockquote> </blockquote>
<pre> <pre>
template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt; template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt;
void basic_istream&lt;charT, traits&gt;&amp;
from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt, from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt,
month_day&amp; md, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr, month_day&amp; md, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -5634,6 +5691,9 @@ If <code>%Z</code> is used and successfully parsed, that value will be assigned
If <code>%z</code> (or a modified variant) is used and successfully parsed, that value If <code>%z</code> (or a modified variant) is used and successfully parsed, that value
will be assigned to <code>*offset</code> if <code>offset</code> is non-null. will be assigned to <code>*offset</code> if <code>offset</code> is non-null.
</p> </p>
<p>
<i>Returns:</i> <code>is</code>.
</p>
</blockquote> </blockquote>
<a name="time.calendar.month_day_last"></a><h3>23.17.10.9 Class <code>month_day_last</code> [time.calendar.month_day_last]</h3> <a name="time.calendar.month_day_last"></a><h3>23.17.10.9 Class <code>month_day_last</code> [time.calendar.month_day_last]</h3>
@@ -6066,11 +6126,11 @@ template &lt;class charT, class traits&gt;
operator&lt;&lt;(basic_ostream&lt;charT, traits&gt;&amp; os, const year_month&amp; ym); operator&lt;&lt;(basic_ostream&lt;charT, traits&gt;&amp; os, const year_month&amp; ym);
template &lt;class charT, class traits, class Duration&gt; template &lt;class charT, class traits, class Duration&gt;
void basic_ostream&lt;charT, traits&gt;&amp;
to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const year_month&amp; ym); to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const year_month&amp; ym);
template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt; template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt;
void basic_istream&lt;charT, traits&gt;&amp;
from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt, from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt,
year_month&amp; ym, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr, year_month&amp; ym, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -6328,7 +6388,7 @@ return os &lt;&lt; ym.year() &lt;&lt; '/' &lt;&lt; ym.month();
<pre> <pre>
template &lt;class charT, class traits, class Duration&gt; template &lt;class charT, class traits, class Duration&gt;
void basic_ostream&lt;charT, traits&gt;&amp;
to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const year_month&amp; ym); to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const year_month&amp; ym);
</pre> </pre>
@@ -6338,11 +6398,14 @@ to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const ye
the null-terminated array <code>fmt</code>. <code>fmt</code> encoding follows the rules the null-terminated array <code>fmt</code>. <code>fmt</code> encoding follows the rules
specified by [time.format]. specified by [time.format].
</p> </p>
<p>
<i>Returns:</i> <code>os</code>.
</p>
</blockquote> </blockquote>
<pre> <pre>
template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt; template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt;
void basic_istream&lt;charT, traits&gt;&amp;
from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt, from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt,
year_month&amp; ym, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr, year_month&amp; ym, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -6364,6 +6427,9 @@ If <code>%Z</code> is used and successfully parsed, that value will be assigned
If <code>%z</code> (or a modified variant) is used and successfully parsed, that value If <code>%z</code> (or a modified variant) is used and successfully parsed, that value
will be assigned to <code>*offset</code> if <code>offset</code> is non-null. will be assigned to <code>*offset</code> if <code>offset</code> is non-null.
</p> </p>
<p>
<i>Returns:</i> <code>is</code>.
</p>
</blockquote> </blockquote>
<a name="time.calendar.year_month_day"></a><h3>23.17.10.13 Class <code>year_month_day</code> [time.calendar.year_month_day]</h3> <a name="time.calendar.year_month_day"></a><h3>23.17.10.13 Class <code>year_month_day</code> [time.calendar.year_month_day]</h3>
@@ -6426,11 +6492,11 @@ template &lt;class charT, class traits&gt;
operator&lt;&lt;(basic_ostream&lt;charT, traits&gt;&amp; os, const year_month_day&amp; ymd); operator&lt;&lt;(basic_ostream&lt;charT, traits&gt;&amp; os, const year_month_day&amp; ymd);
template &lt;class charT, class traits, class Duration&gt; template &lt;class charT, class traits, class Duration&gt;
void basic_ostream&lt;charT, traits&gt;&amp;
to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const year_month_day&amp; ymd); to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const year_month_day&amp; ymd);
template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt; template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt;
void basic_istream&lt;charT, traits&gt;&amp;
from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt, from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt,
year_month_day&amp; ymd, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr, year_month_day&amp; ymd, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -6786,7 +6852,7 @@ are prefixed with <code>'0'</code> if necessary.
<pre> <pre>
template &lt;class charT, class traits, class Duration&gt; template &lt;class charT, class traits, class Duration&gt;
void basic_ostream&lt;charT, traits&gt;&amp;
to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const year_month_day&amp; ymd); to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const year_month_day&amp; ymd);
</pre> </pre>
@@ -6796,11 +6862,14 @@ to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const ye
the null-terminated array <code>fmt</code>. <code>fmt</code> encoding follows the rules the null-terminated array <code>fmt</code>. <code>fmt</code> encoding follows the rules
specified by [time.format]. specified by [time.format].
</p> </p>
<p>
<i>Returns:</i> <code>os</code>.
</p>
</blockquote> </blockquote>
<pre> <pre>
template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt; template &lt;class Duration, class charT, class traits, class Alloc = allocator&lt;charT&gt;&gt;
void basic_istream&lt;charT, traits&gt;&amp;
from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt, from_stream(basic_istream&lt;charT, traits&gt;&amp; is, const charT* fmt,
year_month_day&amp; ymd, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr, year_month_day&amp; ymd, basic_string&lt;charT, traits, Alloc&gt;* abbrev = nullptr,
minutes* offset = nullptr); minutes* offset = nullptr);
@@ -6822,6 +6891,9 @@ If <code>%Z</code> is used and successfully parsed, that value will be assigned
If <code>%z</code> (or a modified variant) is used and successfully parsed, that value If <code>%z</code> (or a modified variant) is used and successfully parsed, that value
will be assigned to <code>*offset</code> if <code>offset</code> is non-null. will be assigned to <code>*offset</code> if <code>offset</code> is non-null.
</p> </p>
<p>
<i>Returns:</i> <code>is</code>.
</p>
</blockquote> </blockquote>
<a name="time.calendar.year_month_day_last"></a><h3>23.17.10.14 Class <code>year_month_day_last</code> [time.calendar.year_month_day_last]</h3> <a name="time.calendar.year_month_day_last"></a><h3>23.17.10.14 Class <code>year_month_day_last</code> [time.calendar.year_month_day_last]</h3>
@@ -9537,7 +9609,7 @@ template &lt;class Duration&gt;
operator&lt;&lt;(basic_ostream&lt;class charT, class traits&gt;&amp; os, const zoned_time&lt;Duration&gt;& t); operator&lt;&lt;(basic_ostream&lt;class charT, class traits&gt;&amp; os, const zoned_time&lt;Duration&gt;& t);
template &lt;class charT, class traits, class Duration&gt; template &lt;class charT, class traits, class Duration&gt;
void basic_ostream&lt;charT, traits&gt;&amp;
to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const zoned_time&lt;Duration&gt;&amp; tp); to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const zoned_time&lt;Duration&gt;&amp; tp);
</pre> </pre>
@@ -9860,7 +9932,7 @@ and the value returned from <code>t.get_local_time()</code>.
<pre> <pre>
template &lt;class charT, class traits, class Duration&gt; template &lt;class charT, class traits, class Duration&gt;
void basic_ostream&lt;charT, traits&gt;&amp;
to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const zoned_time&lt;Duration&gt;&amp; tp); to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const zoned_time&lt;Duration&gt;&amp; tp);
</pre> </pre>
@@ -9870,6 +9942,9 @@ to_stream(basic_ostream&lt;charT, traits&gt;&amp; os, const charT* fmt, const zo
which for exposition purposes will be referred to as <code>info</code>. Then calls which for exposition purposes will be referred to as <code>info</code>. Then calls
<code>to_stream(os, fmt, tp.get_local_time(), &amp;info.abbrev, &amp;info.offset)</code>. <code>to_stream(os, fmt, tp.get_local_time(), &amp;info.abbrev, &amp;info.offset)</code>.
</p> </p>
<p>
<i>Returns:</i> <code>os</code>.
</p>
</blockquote> </blockquote>
</blockquote> </blockquote>

129
date.html
View File

@@ -1679,7 +1679,7 @@ using months = std::chrono::duration
<pre> <pre>
template &lt;class CharT, class Traits, class Rep, class Period&gt; template &lt;class CharT, class Traits, class Rep, class Period&gt;
void std::basic_ostream&lt;CharT, Traits&gt;&amp;
to_stream(std::basic_ostream&lt;CharT, Traits&gt;&amp; os, const CharT* fmt, to_stream(std::basic_ostream&lt;CharT, Traits&gt;&amp; os, const CharT* fmt,
const std::chrono::duration&lt;Rep, Period&gt;&amp; d); const std::chrono::duration&lt;Rep, Period&gt;&amp; d);
</pre> </pre>
@@ -1695,11 +1695,14 @@ is undefined except for the following flags (or modified versions of these flags
<code>%R</code>, <code>%S</code>, <code>%T</code>, <code>%X</code>, <code>%n</code>, <code>%R</code>, <code>%S</code>, <code>%T</code>, <code>%X</code>, <code>%n</code>,
<code>%t</code> or <code>%%</code>. <code>%t</code> or <code>%%</code>.
</p> </p>
<p>
<i>Returns:</i> <code>os</code>.
</p>
</blockquote> </blockquote>
<pre> <pre>
template &lt;class Rep, class Period, class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt; template &lt;class Rep, class Period, class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt;
void std::basic_istream&lt;CharT, Traits&gt;&amp;
from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt,
std::chrono::duration&lt;Rep, Period&gt;&amp; d, std::chrono::duration&lt;Rep, Period&gt;&amp; d,
std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr, std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr,
@@ -1720,6 +1723,9 @@ flags): <code>%H</code>, <code>%I</code>, <code>%M</code>, <code>%p</code>,
<code>offset</code> is not equal to <code>nullptr</code>, the information parsed by <code>offset</code> is not equal to <code>nullptr</code>, the information parsed by
<code>%z</code> (if present) will be placed in <code>*offset</code>. <code>%z</code> (if present) will be placed in <code>*offset</code>.
</p> </p>
<p>
<i>Returns:</i> <code>is</code>.
</p>
</blockquote> </blockquote>
<pre> <pre>
@@ -1835,7 +1841,7 @@ using sys_seconds = sys_time&lt;std::chrono::seconds&gt;;
<pre> <pre>
template &lt;class CharT, class Traits, class Duration&gt; template &lt;class CharT, class Traits, class Duration&gt;
void std::basic_ostream&lt;CharT, Traits&gt;&amp;
to_stream(std::basic_ostream&lt;CharT, Traits&gt;&amp; os, const CharT* fmt, to_stream(std::basic_ostream&lt;CharT, Traits&gt;&amp; os, const CharT* fmt,
const sys_time&lt;Duration&gt;&amp; tp); const sys_time&lt;Duration&gt;&amp; tp);
</pre> </pre>
@@ -1849,11 +1855,14 @@ string <code>fmt</code> as specified by the
<code>%Z</code> is in the formatting string <code>"UTC"</code> will be used. If <code>%Z</code> is in the formatting string <code>"UTC"</code> will be used. If
<code>%z</code> is in the formatting string <code>"+0000"</code> will be used. <code>%z</code> is in the formatting string <code>"+0000"</code> will be used.
</p> </p>
<p>
<i>Returns:</i> <code>os</code>.
</p>
</blockquote> </blockquote>
<pre> <pre>
template &lt;class Duration, class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt; template &lt;class Duration, class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt;
void std::basic_istream&lt;CharT, Traits&gt;&amp;
from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt,
sys_time&lt;Duration&gt;&amp; tp, std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr, sys_time&lt;Duration&gt;&amp; tp, std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr,
std::chrono::minutes* offset = nullptr); std::chrono::minutes* offset = nullptr);
@@ -1872,6 +1881,9 @@ If <code>abbrev</code> is not equal to <code>nullptr</code>, the information par
is parsed, or a time of day which is outside of the conventional bounds, <code>failbit</code> is parsed, or a time of day which is outside of the conventional bounds, <code>failbit</code>
will be set and <code>tp</code> will not be altered. will be set and <code>tp</code> will not be altered.
</p> </p>
<p>
<i>Returns:</i> <code>is</code>.
</p>
</blockquote> </blockquote>
<a name="local_time"></a><h3><code>local_time</code></h3> <a name="local_time"></a><h3><code>local_time</code></h3>
@@ -1930,7 +1942,7 @@ using local_seconds = local_time&lt;std::chrono::seconds&gt;;
<pre> <pre>
template &lt;class CharT, class Traits, class Duration&gt; template &lt;class CharT, class Traits, class Duration&gt;
void std::basic_ostream&lt;CharT, Traits&gt;&amp;
to_stream(std::basic_ostream&lt;CharT, Traits&gt;&amp; os, const CharT* fmt, to_stream(std::basic_ostream&lt;CharT, Traits&gt;&amp; os, const CharT* fmt,
const local_time&lt;Duration&gt;&amp; tp, const std::string* abbrev = nullptr, const local_time&lt;Duration&gt;&amp; tp, const std::string* abbrev = nullptr,
const std::chrono::seconds* offset_sec = nullptr); const std::chrono::seconds* offset_sec = nullptr);
@@ -1951,11 +1963,15 @@ If <code>%Z</code> is in the formatting string and <code>abbrev == nullptr</code
<code>%z</code> is in the formatting string and <code>offset_sec == nullptr</code>, <code>%z</code> is in the formatting string and <code>offset_sec == nullptr</code>,
<code>failbit</code> will be set for <code>os</code>. <code>failbit</code> will be set for <code>os</code>.
</p> </p>
<p>
<i>Returns:</i> <code>os</code>.
</p>
</blockquote> </blockquote>
<pre> <pre>
template &lt;class Duration, class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt; template &lt;class Duration, class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt;
void std::basic_istream&lt;CharT, Traits&gt;&amp;
from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt,
local_time&lt;Duration&gt;&amp; tp, std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr, local_time&lt;Duration&gt;&amp; tp, std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr,
std::chrono::minutes* offset = nullptr); std::chrono::minutes* offset = nullptr);
@@ -1973,6 +1989,9 @@ If <code>abbrev</code> is not equal to <code>nullptr</code>, the information par
is parsed, or a time of day which is outside of the conventional bounds, <code>failbit</code> is parsed, or a time of day which is outside of the conventional bounds, <code>failbit</code>
will be set and <code>tp</code> will not be altered. will be set and <code>tp</code> will not be altered.
</p> </p>
<p>
<i>Returns:</i> <code>is</code>.
</p>
</blockquote> </blockquote>
<a name="last_spec"></a><h3><code>last_spec</code></h3> <a name="last_spec"></a><h3><code>last_spec</code></h3>
@@ -2038,12 +2057,12 @@ std::basic_ostream&lt;class CharT, class Traits&gt;&amp;
operator&lt;&lt;(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const day&amp; d); operator&lt;&lt;(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const day&amp; d);
template&lt;class CharT, class Traits&gt; template&lt;class CharT, class Traits&gt;
void std::basic_ostream&lt;CharT, Traits&gt;&amp;
to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt, to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt,
const day&amp; d); const day&amp; d);
template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt; template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt;
void std::basic_istream&lt;CharT, Traits&gt;&amp;
from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, day&amp; d, from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, day&amp; d,
std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr, std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr,
std::chrono::minutes* offset = nullptr); std::chrono::minutes* offset = nullptr);
@@ -2313,7 +2332,7 @@ operator&lt;&lt;(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, co
<pre> <pre>
template&lt;class CharT, class Traits&gt; template&lt;class CharT, class Traits&gt;
void std::basic_ostream&lt;CharT, Traits&gt;&amp;
to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt, to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt,
const day&amp; d); const day&amp; d);
</pre> </pre>
@@ -2327,11 +2346,14 @@ is undefined except for the following flags (or modified versions of these flags
<code>%d</code>, <code>%e</code>, <code>%n</code>, <code>%t</code> <code>%d</code>, <code>%e</code>, <code>%n</code>, <code>%t</code>
or <code>%%</code>. or <code>%%</code>.
</p> </p>
<p>
<i>Returns:</i> <code>os</code>.
</p>
</blockquote> </blockquote>
<pre> <pre>
template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt; template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt;
void std::basic_istream&lt;CharT, Traits&gt;&amp;
from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, day&amp; d, from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, day&amp; d,
std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr, std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr,
std::chrono::minutes* offset = nullptr); std::chrono::minutes* offset = nullptr);
@@ -2350,6 +2372,9 @@ flags): <code>%e</code>, <code>%e</code>, <code>%n</code>,
<code>offset</code> is not equal to <code>nullptr</code>, the information parsed by <code>offset</code> is not equal to <code>nullptr</code>, the information parsed by
<code>%z</code> (if present) will be placed in <code>*offset</code>. <code>%z</code> (if present) will be placed in <code>*offset</code>.
</p> </p>
<p>
<i>Returns:</i> <code>is</code>.
</p>
</blockquote> </blockquote>
</blockquote> </blockquote>
@@ -2396,12 +2421,12 @@ std::basic_ostream&lt;class CharT, class Traits&gt;&amp;
operator&lt;&lt;(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const month&amp; m); operator&lt;&lt;(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const month&amp; m);
template&lt;class CharT, class Traits&gt; template&lt;class CharT, class Traits&gt;
void std::basic_ostream&lt;CharT, Traits&gt;&amp;
to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt, to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt,
const month&amp; m); const month&amp; m);
template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt; template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt;
void std::basic_istream&lt;CharT, Traits&gt;&amp;
from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, month&amp; m, from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, month&amp; m,
std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr, std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr,
std::chrono::minutes* offset = nullptr); std::chrono::minutes* offset = nullptr);
@@ -2699,7 +2724,7 @@ output for the month field by <code>asctime</code>. Otherwise outputs
<pre> <pre>
template&lt;class CharT, class Traits&gt; template&lt;class CharT, class Traits&gt;
void std::basic_ostream&lt;CharT, Traits&gt;&amp;
to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt, to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt,
const month&amp; m); const month&amp; m);
</pre> </pre>
@@ -2713,11 +2738,14 @@ is undefined except for the following flags (or modified versions of these flags
<code>%b</code>, <code>%B</code>, <code>%h</code>, <code>%m</code>, <code>%n</code>, <code>%b</code>, <code>%B</code>, <code>%h</code>, <code>%m</code>, <code>%n</code>,
<code>%t</code> or <code>%%</code>. <code>%t</code> or <code>%%</code>.
</p> </p>
<p>
<i>Returns:</i> <code>os</code>.
</p>
</blockquote> </blockquote>
<pre> <pre>
template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt; template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt;
void std::basic_istream&lt;CharT, Traits&gt;&amp;
from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, month&amp; m, from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, month&amp; m,
std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr, std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr,
std::chrono::minutes* offset = nullptr); std::chrono::minutes* offset = nullptr);
@@ -2736,6 +2764,9 @@ flags): <code>%b</code>, <code>%B</code>, <code>%h</code>, <code>%m</code>,
<code>offset</code> is not equal to <code>nullptr</code>, the information parsed by <code>offset</code> is not equal to <code>nullptr</code>, the information parsed by
<code>%z</code> (if present) will be placed in <code>*offset</code>. <code>%z</code> (if present) will be placed in <code>*offset</code>.
</p> </p>
<p>
<i>Returns:</i> <code>is</code>.
</p>
</blockquote> </blockquote>
</blockquote> </blockquote>
@@ -2790,12 +2821,12 @@ std::basic_ostream&lt;class CharT, class Traits&gt;&amp;
operator&lt;&lt;(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const year&amp; y); operator&lt;&lt;(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const year&amp; y);
template&lt;class CharT, class Traits&gt; template&lt;class CharT, class Traits&gt;
void std::basic_ostream&lt;CharT, Traits&gt;&amp;
to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt, to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt,
const year&amp; y); const year&amp; y);
template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt; template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt;
void std::basic_istream&lt;CharT, Traits&gt;&amp;
from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, year&amp; y, from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, year&amp; y,
std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr, std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr,
std::chrono::minutes* offset = nullptr); std::chrono::minutes* offset = nullptr);
@@ -3117,7 +3148,7 @@ into <code>os</code>. If the year is less than four decimal digits, pads the yea
<pre> <pre>
template&lt;class CharT, class Traits&gt; template&lt;class CharT, class Traits&gt;
void std::basic_ostream&lt;CharT, Traits&gt;&amp;
to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt, to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt,
const year&amp; y); const year&amp; y);
</pre> </pre>
@@ -3131,11 +3162,14 @@ is undefined except for the following flags (or modified versions of these flags
<code>%C</code>, <code>%y</code>, <code>%Y</code>, <code>%n</code>, <code>%t</code> <code>%C</code>, <code>%y</code>, <code>%Y</code>, <code>%n</code>, <code>%t</code>
or <code>%%</code>. or <code>%%</code>.
</p> </p>
<p>
<i>Returns:</i> <code>os</code>.
</p>
</blockquote> </blockquote>
<pre> <pre>
template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt; template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt;
void std::basic_istream&lt;CharT, Traits&gt;&amp;
from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, year&amp; y, from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, year&amp; y,
std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr, std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr,
std::chrono::minutes* offset = nullptr); std::chrono::minutes* offset = nullptr);
@@ -3154,6 +3188,9 @@ flags): <code>%C</code>, <code>%y</code>, <code>%Y</code>, <code>%n</code>,
<code>offset</code> is not equal to <code>nullptr</code>, the information parsed by <code>offset</code> is not equal to <code>nullptr</code>, the information parsed by
<code>%z</code> (if present) will be placed in <code>*offset</code>. <code>%z</code> (if present) will be placed in <code>*offset</code>.
</p> </p>
<p>
<i>Returns:</i> <code>is</code>.
</p>
</blockquote> </blockquote>
</blockquote> </blockquote>
@@ -3200,12 +3237,12 @@ std::basic_ostream&lt;class CharT, class Traits&gt;&amp;
operator&lt;&lt;(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const weekday&amp; wd); operator&lt;&lt;(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const weekday&amp; wd);
template&lt;class CharT, class Traits&gt; template&lt;class CharT, class Traits&gt;
void std::basic_ostream&lt;CharT, Traits&gt;&amp;
to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt, to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt,
const weekday&amp; wd); const weekday&amp; wd);
template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt; template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt;
void std::basic_istream&lt;CharT, Traits&gt;&amp;
from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, weekday&amp; wd, from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, weekday&amp; wd,
std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr, std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr,
std::chrono::minutes* offset = nullptr); std::chrono::minutes* offset = nullptr);
@@ -3525,7 +3562,7 @@ output for the weekday field by <code>asctime</code>. Otherwise outputs
<pre> <pre>
template&lt;class CharT, class Traits&gt; template&lt;class CharT, class Traits&gt;
void std::basic_ostream&lt;CharT, Traits&gt;&amp;
to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt, to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt,
const weekday&amp; wd); const weekday&amp; wd);
</pre> </pre>
@@ -3539,11 +3576,14 @@ is undefined except for the following flags (or modified versions of these flags
<code>%a</code>, <code>%A</code>, <code>%u</code>, <code>%w</code>, <code>%n</code>, <code>%a</code>, <code>%A</code>, <code>%u</code>, <code>%w</code>, <code>%n</code>,
<code>%t</code> or <code>%%</code>. <code>%t</code> or <code>%%</code>.
</p> </p>
<p>
<i>Returns:</i> <code>os</code>.
</p>
</blockquote> </blockquote>
<pre> <pre>
template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt; template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt;
void std::basic_istream&lt;CharT, Traits&gt;&amp;
from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, weekday&amp; wd, from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, weekday&amp; wd,
std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr, std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr,
std::chrono::minutes* offset = nullptr); std::chrono::minutes* offset = nullptr);
@@ -3562,6 +3602,9 @@ flags): <code>%a</code>, <code>%A</code>, <code>%u</code>, <code>%w</code>, <cod
<code>offset</code> is not equal to <code>nullptr</code>, the information parsed by <code>offset</code> is not equal to <code>nullptr</code>, the information parsed by
<code>%z</code> (if present) will be placed in <code>*offset</code>. <code>%z</code> (if present) will be placed in <code>*offset</code>.
</p> </p>
<p>
<i>Returns:</i> <code>is</code>.
</p>
</blockquote> </blockquote>
</blockquote> </blockquote>
@@ -3856,12 +3899,12 @@ std::basic_ostream&lt;class CharT, class Traits&gt;&amp;
operator&lt;&lt;(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const month_day&amp; md); operator&lt;&lt;(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const month_day&amp; md);
template&lt;class CharT, class Traits&gt; template&lt;class CharT, class Traits&gt;
void std::basic_ostream&lt;CharT, Traits&gt;&amp;
to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt, to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt,
const month_day&amp; md); const month_day&amp; md);
template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt; template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt;
void std::basic_istream&lt;CharT, Traits&gt;&amp;
from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, month_day&amp; md, from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, month_day&amp; md,
std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr, std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr,
std::chrono::minutes* offset = nullptr); std::chrono::minutes* offset = nullptr);
@@ -4009,7 +4052,7 @@ operator&lt;&lt;(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, co
<pre> <pre>
template&lt;class CharT, class Traits&gt; template&lt;class CharT, class Traits&gt;
void std::basic_ostream&lt;CharT, Traits&gt;&amp;
to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt, to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt,
const month_day&amp; md); const month_day&amp; md);
</pre> </pre>
@@ -4023,11 +4066,14 @@ is undefined except for the following flags (or modified versions of these flags
<code>%b</code>, <code>%B</code>, <code>%d</code>, <code>%e</code>, <code>%h</code>, <code>%b</code>, <code>%B</code>, <code>%d</code>, <code>%e</code>, <code>%h</code>,
<code>%m</code>, <code>%n</code>, <code>%t</code> or <code>%%</code>. <code>%m</code>, <code>%n</code>, <code>%t</code> or <code>%%</code>.
</p> </p>
<p>
<i>Returns:</i> <code>os</code>.
</p>
</blockquote> </blockquote>
<pre> <pre>
template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt; template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt;
void std::basic_istream&lt;CharT, Traits&gt;&amp;
from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, month_day&amp; md, from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, month_day&amp; md,
std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr, std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr,
std::chrono::minutes* offset = nullptr); std::chrono::minutes* offset = nullptr);
@@ -4047,6 +4093,9 @@ placed in <code>*abbrev</code>. If <code>offset</code> is not equal to
<code>nullptr</code>, the information parsed by <code>%z</code> (if present) will be <code>nullptr</code>, the information parsed by <code>%z</code> (if present) will be
placed in <code>*offset</code>. placed in <code>*offset</code>.
</p> </p>
<p>
<i>Returns:</i> <code>is</code>.
</p>
</blockquote> </blockquote>
</blockquote> </blockquote>
@@ -4509,12 +4558,12 @@ std::basic_ostream&lt;class CharT, class Traits&gt;&amp;
operator&lt;&lt;(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const year_month&amp; ym); operator&lt;&lt;(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const year_month&amp; ym);
template&lt;class CharT, class Traits&gt; template&lt;class CharT, class Traits&gt;
void std::basic_ostream&lt;CharT, Traits&gt;&amp;
to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt, to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt,
const year_month&amp; ym); const year_month&amp; ym);
template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt; template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt;
void std::basic_istream&lt;CharT, Traits&gt;&amp;
from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, year_month&amp; ym, from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, year_month&amp; ym,
std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr, std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr,
std::chrono::minutes* offset = nullptr); std::chrono::minutes* offset = nullptr);
@@ -4787,7 +4836,7 @@ operator&lt;&lt;(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, co
<pre> <pre>
template&lt;class CharT, class Traits&gt; template&lt;class CharT, class Traits&gt;
void std::basic_ostream&lt;CharT, Traits&gt;&amp;
to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt, to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt,
const year_month&amp; ym); const year_month&amp; ym);
</pre> </pre>
@@ -4801,11 +4850,14 @@ is undefined except for the following flags (or modified versions of these flags
<code>%b</code>, <code>%B</code>, <code>%C</code>, <code>%h</code>, <code>%m</code>, <code>%b</code>, <code>%B</code>, <code>%C</code>, <code>%h</code>, <code>%m</code>,
<code>%y</code>, <code>%Y</code>, <code>%n</code>, <code>%t</code> or <code>%%</code>. <code>%y</code>, <code>%Y</code>, <code>%n</code>, <code>%t</code> or <code>%%</code>.
</p> </p>
<p>
<i>Returns:</i> <code>os</code>.
</p>
</blockquote> </blockquote>
<pre> <pre>
template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt; template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt;
void std::basic_istream&lt;CharT, Traits&gt;&amp;
from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, year_month&amp; ym, from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, year_month&amp; ym,
std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr, std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr,
std::chrono::minutes* offset = nullptr); std::chrono::minutes* offset = nullptr);
@@ -4825,6 +4877,9 @@ placed in <code>*abbrev</code>. If <code>offset</code> is not equal to
<code>nullptr</code>, the information parsed by <code>%z</code> (if present) will be <code>nullptr</code>, the information parsed by <code>%z</code> (if present) will be
placed in <code>*offset</code>. placed in <code>*offset</code>.
</p> </p>
<p>
<i>Returns:</i> <code>is</code>.
</p>
</blockquote> </blockquote>
</blockquote> </blockquote>
@@ -4881,12 +4936,12 @@ std::basic_ostream&lt;class CharT, class Traits&gt;&amp;
operator&lt;&lt;(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const year_month_day&amp; ymd); operator&lt;&lt;(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const year_month_day&amp; ymd);
template&lt;class CharT, class Traits&gt; template&lt;class CharT, class Traits&gt;
void std::basic_ostream&lt;CharT, Traits&gt;&amp;
to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt, to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt,
const year_month_day&amp; ymd); const year_month_day&amp; ymd);
template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt; template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt;
void std::basic_istream&lt;CharT, Traits&gt;&amp;
from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, year_month_day&amp; ymd, from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, year_month_day&amp; ymd,
std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr, std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr,
std::chrono::minutes* offset = nullptr); std::chrono::minutes* offset = nullptr);
@@ -5260,7 +5315,7 @@ are prefixed with <code>'0'</code> if necessary..
<pre> <pre>
template&lt;class CharT, class Traits&gt; template&lt;class CharT, class Traits&gt;
void std::basic_ostream&lt;CharT, Traits&gt;&amp;
to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt, to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const CharT* fmt,
const year_month_day&amp; ymd); const year_month_day&amp; ymd);
</pre> </pre>
@@ -5275,11 +5330,14 @@ to_stream(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const Cha
If <code>%z</code> or <code>%Z</code> is used in the <code>fmt</code> string If <code>%z</code> or <code>%Z</code> is used in the <code>fmt</code> string
<code>failbit</code> will be set for <code>os</code>. <code>failbit</code> will be set for <code>os</code>.
</p> </p>
<p>
<i>Returns:</i> <code>os</code>.
</p>
</blockquote> </blockquote>
<pre> <pre>
template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt; template &lt;class CharT, class Traits, class Alloc = std::allocator&lt;CharT&gt;&gt;
void std::basic_istream&lt;CharT, Traits&gt;&amp;
from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, year_month_day&amp; ymd, from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, year_month_day&amp; ymd,
std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr, std::basic_string&lt;CharT, Traits, Alloc&gt;* abbrev = nullptr,
std::chrono::minutes* offset = nullptr); std::chrono::minutes* offset = nullptr);
@@ -5295,6 +5353,9 @@ from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, y
<code>offset</code> is not equal to <code>nullptr</code>, the information parsed by <code>offset</code> is not equal to <code>nullptr</code>, the information parsed by
<code>%z</code> (if present) will be placed in <code>*offset</code>. <code>%z</code> (if present) will be placed in <code>*offset</code>.
</p> </p>
<p>
<i>Returns:</i> <code>is</code>.
</p>
</blockquote> </blockquote>
</blockquote> </blockquote>

37
tz.html
View File

@@ -1617,7 +1617,7 @@ std::basic_ostream&lt;class CharT, class Traits&gt;&amp;
operator&lt;&lt;(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const zoned_time&lt;Duration&gt;& t) operator&lt;&lt;(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, const zoned_time&lt;Duration&gt;& t)
template &lt;class CharT, class Traits, class Duration&gt; template &lt;class CharT, class Traits, class Duration&gt;
void std::basic_ostream&lt;CharT, Traits&gt;&amp;
to_stream(std::basic_ostream&lt;CharT, Traits&gt;&amp; os, const CharT* fmt, to_stream(std::basic_ostream&lt;CharT, Traits&gt;&amp; os, const CharT* fmt,
const zoned_time&lt;Duration&gt;&amp; tp); const zoned_time&lt;Duration&gt;&amp; tp);
</pre> </pre>
@@ -1935,7 +1935,7 @@ operator&lt;&lt;(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, co
<pre> <pre>
template &lt;class CharT, class Traits, class Duration&gt; template &lt;class CharT, class Traits, class Duration&gt;
void std::basic_ostream&lt;CharT, Traits&gt;&amp;
to_stream(std::basic_ostream&lt;CharT, Traits&gt;&amp; os, const CharT* fmt, to_stream(std::basic_ostream&lt;CharT, Traits&gt;&amp; os, const CharT* fmt,
const zoned_time&lt;Duration&gt;&amp; tp); const zoned_time&lt;Duration&gt;&amp; tp);
</pre> </pre>
@@ -1946,6 +1946,9 @@ to_stream(std::basic_ostream&lt;CharT, Traits&gt;&amp; os, const CharT* fmt,
<code>tp.get_info()</code> (stored in a local named <code>info</code> for example). <code>tp.get_info()</code> (stored in a local named <code>info</code> for example).
Then calls <code>to_stream(os, fmt, tp.get_local_time(), &amp;info.abbrev, &amp;info.offset)</code>. Then calls <code>to_stream(os, fmt, tp.get_local_time(), &amp;info.abbrev, &amp;info.offset)</code>.
</p> </p>
<p>
<i>Returns:</i> <code>os</code>.
</p>
</blockquote> </blockquote>
</blockquote> </blockquote>
@@ -2205,7 +2208,7 @@ operator&lt;&lt;(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, co
<pre> <pre>
template &lt;class CharT, class Traits, class Duration&gt; template &lt;class CharT, class Traits, class Duration&gt;
void std::basic_ostream&lt;CharT, Traits&gt;&amp;
to_stream(std::basic_ostream&lt;CharT, Traits&gt;&amp; os, const CharT* fmt, to_stream(std::basic_ostream&lt;CharT, Traits&gt;&amp; os, const CharT* fmt,
const utc_time&lt;Duration&gt;&amp; tp); const utc_time&lt;Duration&gt;&amp; tp);
</pre> </pre>
@@ -2220,11 +2223,14 @@ Time points representing leap second insertions which format seconds will show
If <code>%Z</code> is in the formatting string <code>"UTC"</code> will be used. If <code>%Z</code> is in the formatting string <code>"UTC"</code> will be used.
If <code>%z</code> is in the formatting string <code>"+0000"</code> will be used. If <code>%z</code> is in the formatting string <code>"+0000"</code> will be used.
</p> </p>
<p>
<i>Returns:</i> <code>os</code>.
</p>
</blockquote> </blockquote>
<pre> <pre>
template &lt;class Duration, class CharT, class Traits&gt; template &lt;class Duration, class CharT, class Traits&gt;
void std::basic_istream&lt;CharT, Traits&gt;&amp;
from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt,
utc_time&lt;Duration&gt;&amp; tp, std::basic_string&lt;CharT, Traits&gt;* abbrev = nullptr, utc_time&lt;Duration&gt;&amp; tp, std::basic_string&lt;CharT, Traits&gt;* abbrev = nullptr,
std::chrono::minutes* offset = nullptr); std::chrono::minutes* offset = nullptr);
@@ -2241,6 +2247,9 @@ If <code>abbrev</code> is not equal to <code>nullptr</code>, the information par
<code>offset</code> is not equal to <code>nullptr</code>, the information parsed by <code>offset</code> is not equal to <code>nullptr</code>, the information parsed by
<code>%z</code> (if present) will be placed in <code>*offset</code>. <code>%z</code> (if present) will be placed in <code>*offset</code>.
</p> </p>
<p>
<i>Returns:</i> <code>is</code>.
</p>
</blockquote> </blockquote>
</blockquote> </blockquote>
@@ -2355,7 +2364,7 @@ operator&lt;&lt;(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, co
<pre> <pre>
template &lt;class CharT, class Traits, class Duration&gt; template &lt;class CharT, class Traits, class Duration&gt;
void std::basic_ostream&lt;CharT, Traits&gt;&amp;
to_stream(std::basic_ostream&lt;CharT, Traits&gt;&amp; os, const CharT* fmt, to_stream(std::basic_ostream&lt;CharT, Traits&gt;&amp; os, const CharT* fmt,
const tai_time&lt;Duration&gt;&amp; tp); const tai_time&lt;Duration&gt;&amp; tp);
</pre> </pre>
@@ -2368,11 +2377,14 @@ string <code>fmt</code> as specified by the
If <code>%Z</code> is in the formatting string <code>"TAI"</code> will be used. If <code>%Z</code> is in the formatting string <code>"TAI"</code> will be used.
If <code>%z</code> is in the formatting string <code>"+0000"</code> will be used. If <code>%z</code> is in the formatting string <code>"+0000"</code> will be used.
</p> </p>
<p>
<i>Returns:</i> <code>os</code>.
</p>
</blockquote> </blockquote>
<pre> <pre>
template &lt;class Duration, class CharT, class Traits&gt; template &lt;class Duration, class CharT, class Traits&gt;
void std::basic_istream&lt;CharT, Traits&gt;&amp;
from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt,
tai_time&lt;Duration&gt;&amp; tp, std::basic_string&lt;CharT, Traits&gt;* abbrev = nullptr, tai_time&lt;Duration&gt;&amp; tp, std::basic_string&lt;CharT, Traits&gt;* abbrev = nullptr,
std::chrono::minutes* offset = nullptr); std::chrono::minutes* offset = nullptr);
@@ -2389,6 +2401,9 @@ If <code>abbrev</code> is not equal to <code>nullptr</code>, the information par
<code>offset</code> is not equal to <code>nullptr</code>, the information parsed by <code>offset</code> is not equal to <code>nullptr</code>, the information parsed by
<code>%z</code> (if present) will be placed in <code>*offset</code>. <code>%z</code> (if present) will be placed in <code>*offset</code>.
</p> </p>
<p>
<i>Returns:</i> <code>is</code>.
</p>
</blockquote> </blockquote>
</blockquote> </blockquote>
@@ -2502,7 +2517,7 @@ operator&lt;&lt;(std::basic_ostream&lt;class CharT, class Traits&gt;&amp; os, co
<pre> <pre>
template &lt;class CharT, class Traits, class Duration&gt; template &lt;class CharT, class Traits, class Duration&gt;
void std::basic_ostream&lt;CharT, Traits&gt;&amp;
to_stream(std::basic_ostream&lt;CharT, Traits&gt;&amp; os, const CharT* fmt, to_stream(std::basic_ostream&lt;CharT, Traits&gt;&amp; os, const CharT* fmt,
const gps_time&lt;Duration&gt;&amp; tp); const gps_time&lt;Duration&gt;&amp; tp);
</pre> </pre>
@@ -2515,11 +2530,14 @@ string <code>fmt</code> as specified by the
If <code>%Z</code> is in the formatting string <code>"GPS"</code> will be used. If <code>%Z</code> is in the formatting string <code>"GPS"</code> will be used.
If <code>%z</code> is in the formatting string <code>"+0000"</code> will be used. If <code>%z</code> is in the formatting string <code>"+0000"</code> will be used.
</p> </p>
<p>
<i>Returns:</i> <code>os</code>.
</p>
</blockquote> </blockquote>
<pre> <pre>
template &lt;class Duration, class CharT, class Traits&gt; template &lt;class Duration, class CharT, class Traits&gt;
void std::basic_istream&lt;CharT, Traits&gt;&amp;
from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt, from_stream(std::basic_istream&lt;CharT, Traits&gt;&amp; is, const CharT* fmt,
gps_time&lt;Duration&gt;&amp; tp, std::basic_string&lt;CharT, Traits&gt;* abbrev = nullptr, gps_time&lt;Duration&gt;&amp; tp, std::basic_string&lt;CharT, Traits&gt;* abbrev = nullptr,
std::chrono::minutes* offset = nullptr); std::chrono::minutes* offset = nullptr);
@@ -2536,6 +2554,9 @@ If <code>abbrev</code> is not equal to <code>nullptr</code>, the information par
<code>offset</code> is not equal to <code>nullptr</code>, the information parsed by <code>offset</code> is not equal to <code>nullptr</code>, the information parsed by
<code>%z</code> (if present) will be placed in <code>*offset</code>. <code>%z</code> (if present) will be placed in <code>*offset</code>.
</p> </p>
<p>
<i>Returns:</i> <code>is</code>.
</p>
</blockquote> </blockquote>
<p> <p>