|
1 | 1 | <!DOCTYPE html>
|
2 | 2 | <!-- Sources at https://github.com/cplusplus/fundamentals-ts -->
|
3 |
| -<html lang="en"><head><!--[if lte IE 8]><script>document.createElement("nav");document.createElement("section");document.createElement("time");document.createElement("CXX-TITLEPAGE");document.createElement("CXX-DOCNUM");document.createElement("CXX-REVISES");document.createElement("CXX-EDITOR");document.createElement("CXX-EMAIL");document.createElement("CXX-TOC");document.createElement("CXX-CLAUSE");document.createElement("CXX-SECTION");document.createElement("CXX-REF");document.createElement("CXX-FOOTNOTE");document.createElement("CXX-FOREIGN-INDEX");document.createElement("CXX-EDNOTE");document.createElement("CXX-EXAMPLE");document.createElement("CXX-NOTE");document.createElement("CXX-FUNCTION");document.createElement("CXX-SIGNATURE");document.createElement("CXX-REMARKS");document.createElement("CXX-EFFECTS");document.createElement("CXX-TERM");document.createElement("W-BR");document.createElement("CXX-RETURNS");document.createElement("CXX-POSTCONDITIONS");document.createElement("CXX-REQUIRES");document.createElement("CXX-RANGE");document.createElement("CXX-THROWS");document.createElement("CXX-COMPLEXITY");document.createElement("CXX-NOTES");document.createElement("CXX-EXCEPTION-SAFETY");document.createElement("CXX-FIGURE");document.createElement("CXX-PUBLISH-BUTTON");</script><![endif]--><style>template {display: none !important;} /* injected by platform.js */</style><style>body {transition: opacity ease-in 0.2s; } |
| 3 | +<html lang="en"><head><!--[if lte IE 8]><script>document.createElement("nav");document.createElement("section");document.createElement("time");document.createElement("CXX-TITLEPAGE");document.createElement("CXX-DOCNUM");document.createElement("CXX-REVISES");document.createElement("CXX-EDITOR");document.createElement("CXX-EMAIL");document.createElement("CXX-TOC");document.createElement("CXX-CLAUSE");document.createElement("CXX-SECTION");document.createElement("CXX-REF");document.createElement("CXX-FOREIGN-INDEX");document.createElement("CXX-EDNOTE");document.createElement("CXX-EXAMPLE");document.createElement("CXX-NOTE");document.createElement("CXX-FUNCTION");document.createElement("CXX-SIGNATURE");document.createElement("CXX-REMARKS");document.createElement("CXX-EFFECTS");document.createElement("CXX-TERM");document.createElement("W-BR");document.createElement("CXX-RETURNS");document.createElement("CXX-POSTCONDITIONS");document.createElement("CXX-REQUIRES");document.createElement("CXX-RANGE");document.createElement("CXX-THROWS");document.createElement("CXX-COMPLEXITY");document.createElement("CXX-NOTES");document.createElement("CXX-FOOTNOTE");document.createElement("CXX-EXCEPTION-SAFETY");document.createElement("CXX-FIGURE");document.createElement("CXX-PUBLISH-BUTTON");</script><![endif]--><style>template {display: none !important;} /* injected by platform.js */</style><style>body {transition: opacity ease-in 0.2s; } |
4 | 4 | body[unresolved] {opacity: 0; display: block; overflow: hidden; position: relative; }
|
5 | 5 | </style><style shim-shadowdom-css="">style { display: none !important; }
|
6 | 6 | cxx-function {
|
|
225 | 225 | font-weight: bold; margin-top: 20px; margin-bottom: 20px; page-break-inside: avoid; page-break-after: avoid;
|
226 | 226 | }
|
227 | 227 |
|
228 |
| -cxx-section header:after { |
| 228 | +cxx-section header::after { |
229 | 229 | clear: both; display: block; content: " "; height: 0px;
|
230 | 230 | }cxx-clause {
|
231 | 231 | display: block;
|
|
247 | 247 | font-weight: bold; margin-top: 20px; margin-bottom: 20px; page-break-inside: avoid; page-break-after: avoid;
|
248 | 248 | }
|
249 | 249 |
|
250 |
| -cxx-clause header:after { |
| 250 | +cxx-clause header::after { |
251 | 251 | clear: both; display: block; content: " "; height: 0px;
|
252 | 252 | }[is=cxx-table] {
|
253 | 253 | margin-left: auto; margin-right: auto; border-collapse: collapse; border: thin solid black;
|
|
289 | 289 | padding-left: 0px; margin: 0px;
|
290 | 290 | }
|
291 | 291 |
|
292 |
| -[is=cxx-table].list ul li:before { |
| 292 | +[is=cxx-table].list ul li::before { |
293 | 293 | content: "";
|
294 | 294 | }cxx-figure {
|
295 | 295 | margin-left: auto; margin-right: auto;
|
|
464 | 464 | }cxx-note .nowrap {
|
465 | 465 | white-space: nowrap;
|
466 | 466 | }cxx-footnote {
|
467 |
| - font-family: serif; white-space: normal; text-indent: initial;textIndent: initial; |
| 467 | + font-family: serif; white-space: normal; text-indent: initial;textIndent: initial; text-indent: initial; |
468 | 468 | }
|
469 | 469 |
|
470 | 470 | @media screen {
|
|
511 | 511 | white-space: normal;
|
512 | 512 | }
|
513 | 513 |
|
514 |
| -w-br:after { |
| 514 | +w-br::after { |
515 | 515 | content: "";
|
516 | 516 | }</style>
|
517 | 517 | <meta charset="utf-8">
|
|
539 | 539 | @bottom-right { content: counter(page); font-size: 10pt; }
|
540 | 540 | }
|
541 | 541 | @page :first {
|
542 |
| - @top-left { content: "© ISO 2014 — All rights reserved"; } |
| 542 | + /* @top-left is defined by base.js. */ |
543 | 543 | @top-right { content: normal; }
|
544 | 544 | @bottom-left { content: normal; }
|
545 | 545 | @bottom-right { content: normal; }
|
|
932 | 932 | box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
|
933 | 933 | border-radius: 5px 5px 5px 5px;
|
934 | 934 | }</style>
|
935 |
| -<title>C++ Extensions for Library Fundamentals, Working Draft</title></head> |
| 935 | +<style>@page :first { @top-left { content: "© ISO 2015 — All rights reserved"; } }</style><title>C++ Extensions for Library Fundamentals, Working Draft</title></head> |
936 | 936 | <body class="cxx-draft">
|
937 | 937 | <cxx-titlepage>
|
938 | 938 |
|
@@ -1683,10 +1683,7 @@ <h1>Contents</h1>
|
1683 | 1683 | of the referenced document (including any amendments) applies.</p>
|
1684 | 1684 |
|
1685 | 1685 | <ul>
|
1686 |
| - <li>ISO/IEC 14882:—<cxx-footnote><!-- |
1687 |
| - Be sure not to introduce whitespace here, as it appears around the footnote. |
1688 |
| - --><sup id="footnote-call-1"><a href="#footnote-body-1">1</a></sup><aside class="footnote" id="footnote-body-1"><span class="marker"><a href="#footnote-call-1">1</a>) </span>To be published. Section references are relative to <a href="http://www.open-std.org/jtc1/sc22/wg21/prot/14882fdis/n3937.pdf">N3937</a>.</aside></cxx-footnote>, |
1689 |
| - <cite>Programming Languages — C++</cite> |
| 1686 | + <li>ISO/IEC 14882:2014, <cite>Programming Languages — C++</cite> |
1690 | 1687 | </li>
|
1691 | 1688 | </ul>
|
1692 | 1689 |
|
@@ -1787,7 +1784,7 @@ <h1>Contents</h1>
|
1787 | 1784 | <caption>Table 1 — <wbr><span>C++ library headers</span></caption>
|
1788 | 1785 |
|
1789 | 1786 |
|
1790 |
| - <tbody><tr><td><ul><li><code><experimental/algorithm></code></li><li><code><experimental/any></code></li><li><code><experimental/chrono></code></li><li><code><experimental/deque></code></li><li><code><experimental/forward_list></code></li><li><code><experimental/functional></code></li><li><code><experimental/future></code></li><li><code><experimental/list></code></li><li><code><experimental/map></code></li></ul></td><td><ul><li><code><experimental/memory></code></li><li><code><experimental/memory_resource></code></li><li><code><experimental/net></code></li><li><code><experimental/optional></code></li><li><code><experimental/ratio></code></li><li><code><experimental/regex></code></li><li><code><experimental/set></code></li><li><code><experimental/string></code></li><li><code><experimental/string_view></code></li></ul></td><td><ul><li><code><experimental/system_error></code></li><li><code><experimental/tuple></code></li><li><code><experimental/type_traits></code></li><li><code><experimental/unordered_map></code></li><li><code><experimental/unordered_set></code></li><li><code><experimental/utility></code></li><li><code><experimental/vector></code></li></ul></td></tr> |
| 1787 | + <tbody><tr><td><ul><li><code><experimental/algorithm></code></li><li><code><experimental/any></code></li><li><code><experimental/chrono></code></li><li><code><experimental/deque></code></li><li><code><experimental/forward_list></code></li><li><code><experimental/functional></code></li><li><code><experimental/future></code></li><li><code><experimental/list></code></li></ul></td><td><ul><li><code><experimental/map></code></li><li><code><experimental/memory></code></li><li><code><experimental/memory_resource></code></li><li><code><experimental/optional></code></li><li><code><experimental/ratio></code></li><li><code><experimental/regex></code></li><li><code><experimental/set></code></li><li><code><experimental/string></code></li></ul></td><td><ul><li><code><experimental/string_view></code></li><li><code><experimental/system_error></code></li><li><code><experimental/tuple></code></li><li><code><experimental/type_traits></code></li><li><code><experimental/unordered_map></code></li><li><code><experimental/unordered_set></code></li><li><code><experimental/utility></code></li><li><code><experimental/vector></code></li></ul></td></tr> |
1791 | 1788 | </tbody>
|
1792 | 1789 | </table>
|
1793 | 1790 |
|
@@ -2242,7 +2239,7 @@ <h1>Contents</h1>
|
2242 | 2239 | <pre><code>template <class F, class Tuple, size_t... I>
|
2243 | 2240 | constexpr decltype(auto) apply_impl( // <i>exposition only</i>
|
2244 | 2241 | F&& f, Tuple&& t, index_sequence<I...>) {
|
2245 |
| - return std::forward<F>(f)(std::get<I>(std::forward<Tuple>(t))...); |
| 2242 | + return <em>INVOKE</em>(std::forward<F>(f), std::get<I>(std::forward<Tuple>(t))...); |
2246 | 2243 | }</code></pre>
|
2247 | 2244 | <p>Equivalent to</p>
|
2248 | 2245 | <pre><code>return apply_impl(std::forward<F>(f), std::forward<Tuple>(t),
|
@@ -5830,7 +5827,7 @@ <h1>Contents</h1>
|
5830 | 5827 | typedef <var>implementation-defined</var> const_iterator; // See <cxx-ref to="string.view.iterators"><a title="string.view.iterators" href="#string.view.iterators">7.4</a></cxx-ref>
|
5831 | 5828 | typedef const_iterator iterator;<cxx-footnote><!--
|
5832 | 5829 | Be sure not to introduce whitespace here, as it appears around the footnote.
|
5833 |
| - --><sup id="footnote-call-2"><a href="#footnote-body-2">2</a></sup><aside class="footnote" id="footnote-body-2"><span class="marker"><a href="#footnote-call-2">2</a>) </span>Because <code>basic_string_view</code> refers to a constant sequence, <code>iterator</code> and <code>const_iterator</code> are the same type.</aside></cxx-footnote> |
| 5830 | + --><sup id="footnote-call-1"><a href="#footnote-body-1">1</a></sup><aside class="footnote" id="footnote-body-1"><span class="marker"><a href="#footnote-call-1">1</a>) </span>Because <code>basic_string_view</code> refers to a constant sequence, <code>iterator</code> and <code>const_iterator</code> are the same type.</aside></cxx-footnote> |
5834 | 5831 | typedef reverse_iterator<const_iterator> const_reverse_iterator;
|
5835 | 5832 | typedef const_reverse_iterator reverse_iterator;
|
5836 | 5833 | typedef size_t size_type;
|
@@ -6437,7 +6434,7 @@ <h1>Contents</h1>
|
6437 | 6434 | <pre><code><cxx-signature>template<class Allocator>
|
6438 | 6435 | explicit<cxx-footnote><!--
|
6439 | 6436 | Be sure not to introduce whitespace here, as it appears around the footnote.
|
6440 |
| - --><sup id="footnote-call-3"><a href="#footnote-body-3">3</a></sup><aside class="footnote" id="footnote-body-3"><span class="marker"><a href="#footnote-call-3">3</a>) </span>This conversion is explicit to avoid accidental O(N) operations on type mismatches.</aside></cxx-footnote> operator basic_string< |
| 6437 | + --><sup id="footnote-call-2"><a href="#footnote-body-2">2</a></sup><aside class="footnote" id="footnote-body-2"><span class="marker"><a href="#footnote-call-2">2</a>) </span>This conversion is explicit to avoid accidental O(N) operations on type mismatches.</aside></cxx-footnote> operator basic_string< |
6441 | 6438 | charT, traits, Allocator>() const;</cxx-signature></code></pre>
|
6442 | 6439 |
|
6443 | 6440 | <dl>
|
@@ -7663,10 +7660,10 @@ <h1>Contents</h1>
|
7663 | 7660 |
|
7664 | 7661 |
|
7665 | 7662 |
|
7666 |
| - <cxx-requires para_num="33" id="memory.smartptr.shared.const.33"> |
| 7663 | + <cxx-remarks para_num="33" id="memory.smartptr.shared.const.33"> |
7667 | 7664 |
|
7668 |
| - <dt>Requires:</dt><dd><code>Y*</code> shall be <em>compatible with</em> <code>T*</code>.</dd> |
7669 |
| - </cxx-requires> |
| 7665 | + <dt>Remarks:</dt><dd>This constructor shall not participate in overload resolution unless <code>Y*</code> is <em>compatible with</em> <code>T*</code>.</dd> |
| 7666 | + </cxx-remarks> |
7670 | 7667 |
|
7671 | 7668 | <cxx-effects para_num="34" id="memory.smartptr.shared.const.34">
|
7672 | 7669 |
|
@@ -10031,7 +10028,7 @@ <h1>Contents</h1>
|
10031 | 10028 |
|
10032 | 10029 |
|
10033 | 10030 | <pre><code>#include <regex>
|
10034 |
| -#include <exerimental/string> |
| 10031 | +#include <experimental/string> |
10035 | 10032 |
|
10036 | 10033 | namespace std {
|
10037 | 10034 | namespace experimental {
|
@@ -10382,7 +10379,7 @@ <h1>Contents</h1>
|
10382 | 10379 | </cxx-returns>
|
10383 | 10380 | <cxx-complexity para_num="5" id="alg.random.sample.5">
|
10384 | 10381 |
|
10385 |
| - <dt>Complexity:</dt><dd>O(<code>n</code>).</dd> |
| 10382 | + <dt>Complexity:</dt><dd>O(<code>last - first</code>).</dd> |
10386 | 10383 | </cxx-complexity>
|
10387 | 10384 | <cxx-remarks para_num="6" id="alg.random.sample.6">
|
10388 | 10385 |
|
|
0 commit comments