Skip to content

Commit 4c95261

Browse files
committed
Adding a note
1 parent 3679400 commit 4c95261

File tree

2 files changed

+25
-11
lines changed

2 files changed

+25
-11
lines changed

3491_define_static/define-static.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -530,6 +530,8 @@ consteval const ranges::range_value_t<R>* define_static_string(R&& r);
530530

531531
[#]{.pnum} *Returns*: `$P$`.
532532

533+
[#]{.pnum} [`$P$` is a potentially non-unique object ([intro.object])]{.note}
534+
533535
```cpp
534536
template <class T>
535537
consteval const remove_reference_t<T>* define_static_object(T&& t);
@@ -557,6 +559,8 @@ consteval span<const ranges::range_value_t<R>> define_static_array(R&& r);
557559
[#]{.pnum} Let `$P$` be the template parameter object ([temp.param]) of type `const $T$[sizeof...(V)]` initialized with `{V...}`.
558560

559561
[#]{.pnum} *Returns*: `span<const $T$>($P$)`.
562+
563+
[#]{.pnum} [`$P$` is a potentially non-unique object ([intro.object])]{.note}
560564
:::
561565
:::
562566

3491_define_static/p3491r0.html

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<meta charset="utf-8" />
55
<meta name="generator" content="mpark/wg21" />
66
<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" />
88
<title>define_static_{string,object,array}</title>
99
<style>
1010
code{white-space: pre-wrap;}
@@ -565,7 +565,7 @@ <h1 class="title" style="text-align:center"><code class="sourceCode cpp">define_
565565
</tr>
566566
<tr>
567567
<td>Date:</td>
568-
<td>2024-12-04</td>
568+
<td>2024-12-07</td>
569569
</tr>
570570
<tr>
571571
<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
12991299
initialized with <code class="sourceCode cpp"><span class="op">{</span>V<span class="op">...</span>, <em>CharT</em><span class="op">()}</span></code>.</p>
13001300
<p><span class="marginalizedparent"><a class="marginalized" href="#pnum_17" id="pnum_17">6</a></span>
13011301
<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>
13021307
<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">&lt;</span><span class="kw">class</span> T<span class="op">&gt;</span></span>
13031308
<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">&lt;</span>T<span class="op">&gt;*</span> define_static_object<span class="op">(</span>T<span class="op">&amp;&amp;</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">&lt;</span>T<span class="op">&gt;</span></code>.</p>
13061309
<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">&lt;</span>T<span class="op">&gt;</span></code>.</p>
1311+
<p><span class="marginalizedparent"><a class="marginalized" href="#pnum_20" id="pnum_20">9</a></span>
13071312
<em>Mandates</em>: <code class="sourceCode cpp">U</code> is a structural
13081313
type ([temp.param]) and <code class="sourceCode cpp">constructible_from<span class="op">&lt;</span>U, T<span class="op">&gt;</span></code>
13091314
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>
13111316
Let <code class="sourceCode cpp"><em>P</em></code> be the template
13121317
parameter object ([temp.param]) of type
13131318
<code class="sourceCode cpp"><span class="kw">const</span> U</code>
13141319
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>
13161321
<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>
13171322
<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">&lt;</span>ranges<span class="op">::</span>input_range R<span class="op">&gt;</span></span>
13181323
<span id="cb26-2"><a href="#cb26-2" aria-hidden="true" tabindex="-1"></a><span class="kw">consteval</span> span<span class="op">&lt;</span><span class="kw">const</span> ranges<span class="op">::</span>range_value_t<span class="op">&lt;</span>R<span class="op">&gt;&gt;</span> define_static_array<span class="op">(</span>R<span class="op">&amp;&amp;</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">&lt;</span>R<span class="op">&gt;</span></code>.</p>
13211324
<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">&lt;</span>R<span class="op">&gt;</span></code>.</p>
1326+
<p><span class="marginalizedparent"><a class="marginalized" href="#pnum_24" id="pnum_24">13</a></span>
13221327
<em>Mandates</em>: <code class="sourceCode cpp"><em>T</em></code> is a
13231328
structural type ([temp.param]) and <code class="sourceCode cpp">constructible_from<span class="op">&lt;</span><em>T</em>, ranges<span class="op">::</span>range_reference_t<span class="op">&lt;</span>R<span class="op">&gt;&gt;</span></code>
13241329
is <code class="sourceCode cpp"><span class="kw">true</span></code> and
13251330
<code class="sourceCode cpp">copy_constructible<span class="op">&lt;</span><em>T</em><span class="op">&gt;</span></code>
13261331
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>
13281333
Let <code class="sourceCode cpp"><em>V</em></code> be the pack of
13291334
elements of type <code class="sourceCode cpp"><em>T</em></code>
13301335
constructed from the elements of
13311336
<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>
13331338
Let <code class="sourceCode cpp"><em>P</em></code> be the template
13341339
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>
13351340
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>
13371342
<em>Returns</em>: <code class="sourceCode cpp">span<span class="op">&lt;</span><span class="kw">const</span> <em>T</em><span class="op">&gt;(</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>
13381348
</div>
13391349
</blockquote>
13401350
</div>

0 commit comments

Comments
 (0)