|
4 | 4 | <meta charset="utf-8" />
|
5 | 5 | <meta name="generator" content="mpark/wg21" />
|
6 | 6 | <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
7 |
| - <meta name="dcterms.date" content="2024-12-04" /> |
| 7 | + <meta name="dcterms.date" content="2024-12-07" /> |
8 | 8 | <title>define_static_{string,object,array}</title>
|
9 | 9 | <style>
|
10 | 10 | code{white-space: pre-wrap;}
|
@@ -565,7 +565,7 @@ <h1 class="title" style="text-align:center"><code class="sourceCode cpp">define_
|
565 | 565 | </tr>
|
566 | 566 | <tr>
|
567 | 567 | <td>Date:</td>
|
568 |
| - <td>2024-12-04</td> |
| 568 | + <td>2024-12-07</td> |
569 | 569 | </tr>
|
570 | 570 | <tr>
|
571 | 571 | <td style="vertical-align:top">Project:</td>
|
@@ -1299,42 +1299,52 @@ <h1 data-number="3" style="border-bottom:1px solid #cccccc" id="wording"><span c
|
1299 | 1299 | initialized with <code class="sourceCode cpp"><span class="op">{</span>V<span class="op">...</span>, <em>CharT</em><span class="op">()}</span></code>.</p>
|
1300 | 1300 | <p><span class="marginalizedparent"><a class="marginalized" href="#pnum_17" id="pnum_17">6</a></span>
|
1301 | 1301 | <em>Returns</em>: <code class="sourceCode cpp"><em>P</em></code>.</p>
|
| 1302 | +<p><span class="marginalizedparent"><a class="marginalized" href="#pnum_18" id="pnum_18">7</a></span> |
| 1303 | +<span class="note"><span>[ <em>Note 1:</em> |
| 1304 | +</span><code class="sourceCode cpp"><em>P</em></code> is a potentially |
| 1305 | +non-unique object ([intro.object])<span> — <em>end |
| 1306 | +note</em> ]</span></span></p> |
1302 | 1307 | <div class="sourceCode" id="cb25"><pre class="sourceCode cpp"><code class="sourceCode cpp"><span id="cb25-1"><a href="#cb25-1" aria-hidden="true" tabindex="-1"></a><span class="kw">template</span> <span class="op"><</span><span class="kw">class</span> T<span class="op">></span></span>
|
1303 | 1308 | <span id="cb25-2"><a href="#cb25-2" aria-hidden="true" tabindex="-1"></a><span class="kw">consteval</span> <span class="kw">const</span> remove_reference_t<span class="op"><</span>T<span class="op">>*</span> define_static_object<span class="op">(</span>T<span class="op">&&</span> t<span class="op">)</span>;</span></code></pre></div>
|
1304 |
| -<p><span class="marginalizedparent"><a class="marginalized" href="#pnum_18" id="pnum_18">7</a></span> |
1305 |
| -Let <code class="sourceCode cpp">U</code> be <code class="sourceCode cpp">remove_cvref_t<span class="op"><</span>T<span class="op">></span></code>.</p> |
1306 | 1309 | <p><span class="marginalizedparent"><a class="marginalized" href="#pnum_19" id="pnum_19">8</a></span>
|
| 1310 | +Let <code class="sourceCode cpp">U</code> be <code class="sourceCode cpp">remove_cvref_t<span class="op"><</span>T<span class="op">></span></code>.</p> |
| 1311 | +<p><span class="marginalizedparent"><a class="marginalized" href="#pnum_20" id="pnum_20">9</a></span> |
1307 | 1312 | <em>Mandates</em>: <code class="sourceCode cpp">U</code> is a structural
|
1308 | 1313 | type ([temp.param]) and <code class="sourceCode cpp">constructible_from<span class="op"><</span>U, T<span class="op">></span></code>
|
1309 | 1314 | is <code class="sourceCode cpp"><span class="kw">true</span></code>.</p>
|
1310 |
| -<p><span class="marginalizedparent"><a class="marginalized" href="#pnum_20" id="pnum_20">9</a></span> |
| 1315 | +<p><span class="marginalizedparent"><a class="marginalized" href="#pnum_21" id="pnum_21">10</a></span> |
1311 | 1316 | Let <code class="sourceCode cpp"><em>P</em></code> be the template
|
1312 | 1317 | parameter object ([temp.param]) of type
|
1313 | 1318 | <code class="sourceCode cpp"><span class="kw">const</span> U</code>
|
1314 | 1319 | initialized with <code class="sourceCode cpp">t</code>.</p>
|
1315 |
| -<p><span class="marginalizedparent"><a class="marginalized" href="#pnum_21" id="pnum_21">10</a></span> |
| 1320 | +<p><span class="marginalizedparent"><a class="marginalized" href="#pnum_22" id="pnum_22">11</a></span> |
1316 | 1321 | <em>Returns</em>: <code class="sourceCode cpp">std<span class="op">::</span>addressof<span class="op">(</span><em>P</em><span class="op">)</span></code>.</p>
|
1317 | 1322 | <div class="sourceCode" id="cb26"><pre class="sourceCode cpp"><code class="sourceCode cpp"><span id="cb26-1"><a href="#cb26-1" aria-hidden="true" tabindex="-1"></a><span class="kw">template</span> <span class="op"><</span>ranges<span class="op">::</span>input_range R<span class="op">></span></span>
|
1318 | 1323 | <span id="cb26-2"><a href="#cb26-2" aria-hidden="true" tabindex="-1"></a><span class="kw">consteval</span> span<span class="op"><</span><span class="kw">const</span> ranges<span class="op">::</span>range_value_t<span class="op"><</span>R<span class="op">>></span> define_static_array<span class="op">(</span>R<span class="op">&&</span> r<span class="op">)</span>;</span></code></pre></div>
|
1319 |
| -<p><span class="marginalizedparent"><a class="marginalized" href="#pnum_22" id="pnum_22">11</a></span> |
1320 |
| -Let <code class="sourceCode cpp"><em>T</em></code> be <code class="sourceCode cpp">ranges<span class="op">::</span>range_value_t<span class="op"><</span>R<span class="op">></span></code>.</p> |
1321 | 1324 | <p><span class="marginalizedparent"><a class="marginalized" href="#pnum_23" id="pnum_23">12</a></span>
|
| 1325 | +Let <code class="sourceCode cpp"><em>T</em></code> be <code class="sourceCode cpp">ranges<span class="op">::</span>range_value_t<span class="op"><</span>R<span class="op">></span></code>.</p> |
| 1326 | +<p><span class="marginalizedparent"><a class="marginalized" href="#pnum_24" id="pnum_24">13</a></span> |
1322 | 1327 | <em>Mandates</em>: <code class="sourceCode cpp"><em>T</em></code> is a
|
1323 | 1328 | structural type ([temp.param]) and <code class="sourceCode cpp">constructible_from<span class="op"><</span><em>T</em>, ranges<span class="op">::</span>range_reference_t<span class="op"><</span>R<span class="op">>></span></code>
|
1324 | 1329 | is <code class="sourceCode cpp"><span class="kw">true</span></code> and
|
1325 | 1330 | <code class="sourceCode cpp">copy_constructible<span class="op"><</span><em>T</em><span class="op">></span></code>
|
1326 | 1331 | is <code class="sourceCode cpp"><span class="kw">true</span></code>.</p>
|
1327 |
| -<p><span class="marginalizedparent"><a class="marginalized" href="#pnum_24" id="pnum_24">13</a></span> |
| 1332 | +<p><span class="marginalizedparent"><a class="marginalized" href="#pnum_25" id="pnum_25">14</a></span> |
1328 | 1333 | Let <code class="sourceCode cpp"><em>V</em></code> be the pack of
|
1329 | 1334 | elements of type <code class="sourceCode cpp"><em>T</em></code>
|
1330 | 1335 | constructed from the elements of
|
1331 | 1336 | <code class="sourceCode cpp">r</code>.</p>
|
1332 |
| -<p><span class="marginalizedparent"><a class="marginalized" href="#pnum_25" id="pnum_25">14</a></span> |
| 1337 | +<p><span class="marginalizedparent"><a class="marginalized" href="#pnum_26" id="pnum_26">15</a></span> |
1333 | 1338 | Let <code class="sourceCode cpp"><em>P</em></code> be the template
|
1334 | 1339 | parameter object ([temp.param]) of type <code class="sourceCode cpp"><span class="kw">const</span> <em>T</em><span class="op">[</span><span class="kw">sizeof</span><span class="op">...(</span>V<span class="op">)]</span></code>
|
1335 | 1340 | initialized with <code class="sourceCode cpp"><span class="op">{</span>V<span class="op">...}</span></code>.</p>
|
1336 |
| -<p><span class="marginalizedparent"><a class="marginalized" href="#pnum_26" id="pnum_26">15</a></span> |
| 1341 | +<p><span class="marginalizedparent"><a class="marginalized" href="#pnum_27" id="pnum_27">16</a></span> |
1337 | 1342 | <em>Returns</em>: <code class="sourceCode cpp">span<span class="op"><</span><span class="kw">const</span> <em>T</em><span class="op">>(</span><em>P</em><span class="op">)</span></code>.</p>
|
| 1343 | +<p><span class="marginalizedparent"><a class="marginalized" href="#pnum_28" id="pnum_28">17</a></span> |
| 1344 | +<span class="note"><span>[ <em>Note 2:</em> |
| 1345 | +</span><code class="sourceCode cpp"><em>P</em></code> is a potentially |
| 1346 | +non-unique object ([intro.object])<span> — <em>end |
| 1347 | +note</em> ]</span></span></p> |
1338 | 1348 | </div>
|
1339 | 1349 | </blockquote>
|
1340 | 1350 | </div>
|
|
0 commit comments