Rewrite in terms of string_view

This commit is contained in:
Howard Hinnant
2017-06-29 21:19:50 -04:00
parent cd888b2928
commit 2b55bdb2e4

View File

@@ -59,8 +59,7 @@ Document number: D0355R4<br>
<h3>Changes since <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0355r3.html">R3</a></h3>
<ul>
<li><ins>Rewrite in terms of <code>string_view</code>
without compromising constructor deduction functionality.</ins></li>
<li>Rewrite in terms of <code>string_view</code>.</li>
<li><ins>Improve spec for operator-(const year_month& x, const year_month& y).</ins></li>
<li>Refine constraints on conversions from calendar types to sys_days.</li>
<li>Added <code>zoned_time</code> default constructor.</li>
@@ -1406,15 +1405,15 @@ template&lt;class charT, class traits, class Rep, class Period&gt;
struct tzdb;
const tzdb&amp; get_tzdb();
const time_zone* locate_zone(const string&amp; tz_name);
const time_zone* locate_zone(const string_view&amp; tz_name);
const time_zone* current_zone();
// Remote time zone database -- Needs discussion
const tzdb&amp; reload_tzdb();
string remote_version();
bool remote_download(const string&amp; version);
bool remote_install(const string&amp; version);
bool remote_download(const string_view&amp; version);
bool remote_install(const string_view&amp; version);
// exception classes
class nonexistent_local_time;
@@ -9115,7 +9114,7 @@ be returned to a valid <code>tzdb</code>.
</blockquote>
<pre>
const time_zone* locate_zone(const string&amp; tz_name);
const time_zone* locate_zone(const string_view&amp; tz_name);
</pre>
<blockquote>
<p>
@@ -9215,7 +9214,7 @@ discover if you have the latest database installed.
</blockquote>
<pre>
bool remote_download(const string&amp; version);
bool remote_download(const string_view&amp; version);
</pre>
<blockquote>
<p>
@@ -9235,7 +9234,7 @@ creation of the tar file.
</blockquote>
<pre>
bool remote_install(const string&amp; version);
bool remote_install(const string_view&amp; version);
</pre>
<blockquote>
<p>
@@ -9668,28 +9667,23 @@ public:
zoned_time(const sys_time&lt;Duration&gt;&amp; st);
explicit zoned_time(const time_zone* z);
explicit zoned_time(const string&amp; name);
explicit zoned_time(const string_view&amp; name);
template &lt;class Duration2&gt;
zoned_time(const zoned_time&lt;Duration2&gt;&amp; zt) noexcept;
zoned_time(const time_zone* z, const local_time&lt;Duration&gt;&amp; tp);
zoned_time(const string&amp; name, const local_time&lt;Duration&gt;&amp; tp);
zoned_time(const char* name, const local_time&lt;Duration&gt;&amp; tp);
zoned_time(const string_view&amp; name, const local_time&lt;Duration&gt;&amp; tp);
zoned_time(const time_zone* z, const local_time&lt;Duration&gt;&amp; tp, choose c);
zoned_time(const string&amp; name, const local_time&lt;Duration&gt;&amp; tp, choose c);
zoned_time(const char* name, const local_time&lt;Duration&gt;&amp; tp, choose c);
zoned_time(const string_view&amp; name, const local_time&lt;Duration&gt;&amp; tp, choose c);
zoned_time(const time_zone* z, const zoned_time&lt;Duration&gt;&amp; zt);
zoned_time(const string&amp; name, const zoned_time&lt;Duration&gt;&amp; zt);
zoned_time(const char* name, const zoned_time&lt;Duration&gt;&amp; zt);
zoned_time(const string_view&amp; name, const zoned_time&lt;Duration&gt;&amp; zt);
zoned_time(const time_zone* z, const zoned_time&lt;Duration&gt;&amp; zt, choose);
zoned_time(const string&amp; name, const zoned_time&lt;Duration&gt;&amp; zt, choose);
zoned_time(const char* name, const zoned_time&lt;Duration&gt;&amp; zt, choose);
zoned_time(const string_view&amp; name, const zoned_time&lt;Duration&gt;&amp; zt, choose);
zoned_time(const time_zone* z, const sys_time&lt;Duration&gt;&amp; st);
zoned_time(const string&amp; name, const sys_time&lt;Duration&gt;&amp; st);
zoned_time(const char* name, const sys_time&lt;Duration&gt;&amp; st);
zoned_time(const string_view&amp; name, const sys_time&lt;Duration&gt;&amp; st);
zoned_time&amp; operator=(const sys_time&lt;Duration&gt;&amp; st);
zoned_time&amp; operator=(const local_time&lt;Duration&gt;&amp; ut);
@@ -9777,7 +9771,7 @@ explicit zoned_time&lt;Duration&gt;::zoned_time(const time_zone* z);
</blockquote>
<pre>
explicit zoned_time&lt;Duration&gt;::zoned_time(const string&amp; name);
explicit zoned_time&lt;Duration&gt;::zoned_time(const string_view&amp; name);
</pre>
<blockquote>
<p>
@@ -9821,8 +9815,7 @@ zoned_time&lt;Duration&gt;::zoned_time(const time_zone* z, const local_time&lt;D
</blockquote>
<pre>
zoned_time&lt;Duration&gt;::zoned_time(const string&amp; name, const local_time&lt;Duration&gt;&amp; tp);
zoned_time&lt;Duration&gt;::zoned_time(const char* name, const local_time&lt;Duration&gt;&amp; tp);
zoned_time&lt;Duration&gt;::zoned_time(const string_view&amp; name, const local_time&lt;Duration&gt;&amp; tp);
</pre>
<blockquote>
<p>
@@ -9845,8 +9838,7 @@ zoned_time&lt;Duration&gt;::zoned_time(const time_zone* z, const local_time&lt;D
</blockquote>
<pre>
zoned_time&lt;Duration&gt;::zoned_time(const string&amp; name, const local_time&lt;Duration&gt;&amp; tp, choose c);
zoned_time&lt;Duration&gt;::zoned_time(const char* name, const local_time&lt;Duration&gt;&amp; tp, choose c);
zoned_time&lt;Duration&gt;::zoned_time(const string_view&amp; name, const local_time&lt;Duration&gt;&amp; tp, choose c);
</pre>
<blockquote>
<p>
@@ -9869,8 +9861,7 @@ zoned_time&lt;Duration&gt;::zoned_time(const time_zone* z, const zoned_time&lt;D
</blockquote>
<pre>
zoned_time&lt;Duration&gt;::zoned_time(const string&amp; name, const zoned_time&lt;Duration&gt;&amp; y);
zoned_time&lt;Duration&gt;::zoned_time(const char* name, const zoned_time&lt;Duration&gt;&amp; y);
zoned_time&lt;Duration&gt;::zoned_time(const string_view&amp; name, const zoned_time&lt;Duration&gt;&amp; y);
</pre>
<blockquote>
<p>
@@ -9896,8 +9887,7 @@ zoned_time&lt;Duration&gt;::zoned_time(const time_zone* z, const zoned_time&lt;D
</blockquote>
<pre>
zoned_time&lt;Duration&gt;::zoned_time(const string&amp; name, const zoned_time&lt;Duration&gt;&amp; y, choose);
zoned_time&lt;Duration&gt;::zoned_time(const char* name, const zoned_time&lt;Duration&gt;&amp; y, choose);
zoned_time&lt;Duration&gt;::zoned_time(const string_view&amp; name, const zoned_time&lt;Duration&gt;&amp; y, choose);
</pre>
<blockquote>
<p>
@@ -9922,8 +9912,7 @@ zoned_time&lt;Duration&gt;::zoned_time(const time_zone* z, const sys_time&lt;Dur
</blockquote>
<pre>
zoned_time&lt;Duration&gt;::zoned_time(const string&amp; name, const sys_time&lt;Duration&gt;&amp; st);
zoned_time&lt;Duration&gt;::zoned_time(const char* name, const sys_time&lt;Duration&gt;&amp; st);
zoned_time&lt;Duration&gt;::zoned_time(const string_view&amp; name, const sys_time&lt;Duration&gt;&amp; st);
</pre>
<blockquote>
<p>