Skip to content

Commit 0a66265

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent 1834b69 commit 0a66265

File tree

3 files changed

+126
-92
lines changed

3 files changed

+126
-92
lines changed

reference/unordered_set/unordered_set/insert.html

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,8 @@
200200

201201
<p class="text-right"><small>
202202
最終更新日時(UTC):
203-
<span itemprop="datePublished" content="2025-05-22T06:56:38">
204-
2025年05月22日 06時56分38秒
203+
<span itemprop="datePublished" content="2025-05-22T07:04:22">
204+
2025年05月22日 07時04分22秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -254,22 +254,26 @@ <h2>概要</h2>
254254
</ul>
255255
<h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Mandates。満たさなければプログラムが不適格となる要件。この要件は、オーバーロード解決によって選択された関数内での`static_assert`の定数条件式や、関数に対するdelete宣言などで表現できる">適格要件</a></h2>
256256
<ul>
257-
<li>(1)、(3) : <code>value_type</code> はコンテナに対してコピー挿入可能(CopyInsertable)でなければならない。 <ul>
258-
<li>コンテナに対してコピー挿入可能とは、<code>m</code> をアロケータ型 <code>allocator_type</code> の左辺値、<code>p</code> を要素型 <code>value_type</code> へのポインタとすると、以下の式が<a class="cpprefjp-defined-word" data-desc="プログラムが文法規則・診断対象の意味規則・単一定義規則を満たすこと" href="../../../implementation-compliance.html#dfn-well-formed">適格</a>(well-formed)であるということである。
259-
- <code>std::<a href="../../memory/allocator_traits.html">allocator_traits</a>&lt;allocator_type&gt;::<a href="../../memory/allocator_traits/construct.html">construct</a>(m, p, v);</code></li>
257+
<li>(1)、(3) : <code>value_type</code> はコンテナに対してコピー挿入可能(CopyInsertable)でなければならない。<ul>
258+
<li>コンテナに対してコピー挿入可能とは、<code>m</code> をアロケータ型 <code>allocator_type</code> の左辺値、<code>p</code> を要素型 <code>value_type</code> へのポインタとすると、以下の式が<a class="cpprefjp-defined-word" data-desc="プログラムが文法規則・診断対象の意味規則・単一定義規則を満たすこと" href="../../../implementation-compliance.html#dfn-well-formed">適格</a>(well-formed)であるということである。<ul>
259+
<li><code>std::<a href="../../memory/allocator_traits.html">allocator_traits</a>&lt;allocator_type&gt;::<a href="../../memory/allocator_traits/construct.html">construct</a>(m, p, v);</code></li>
260260
</ul>
261261
</li>
262-
<li>(2)、(4) : <code>value_type</code> はコンテナに対してムーブ挿入可能(MoveInsertable)でなければならない。 <ul>
263-
<li>コンテナに対してムーブ挿入可能とは、<code>m</code> をアロケータ型 <code>allocator_type</code> の左辺値、<code>p</code> を要素型 <code>value_type</code> へのポインタとすると、以下の式が<a class="cpprefjp-defined-word" data-desc="プログラムが文法規則・診断対象の意味規則・単一定義規則を満たすこと" href="../../../implementation-compliance.html#dfn-well-formed">適格</a>(well-formed)であるということである。
264-
- <code>std::<a href="../../memory/allocator_traits.html">allocator_traits</a>&lt;allocator_type&gt;::<a href="../../memory/allocator_traits/construct.html">construct</a>(m, p, std::<a href="../../utility/move.html">move</a>(rv));</code></li>
265262
</ul>
266263
</li>
267-
<li>(3)、(4) : 引数 <code>position</code> は、コンテナの有効な読み取り専用イテレータでなければならない。 <ul>
264+
<li>(2)、(4) : <code>value_type</code> はコンテナに対してムーブ挿入可能(MoveInsertable)でなければならない。<ul>
265+
<li>コンテナに対してムーブ挿入可能とは、<code>m</code> をアロケータ型 <code>allocator_type</code> の左辺値、<code>p</code> を要素型 <code>value_type</code> へのポインタとすると、以下の式が<a class="cpprefjp-defined-word" data-desc="プログラムが文法規則・診断対象の意味規則・単一定義規則を満たすこと" href="../../../implementation-compliance.html#dfn-well-formed">適格</a>(well-formed)であるということである。<ul>
266+
<li><code>std::<a href="../../memory/allocator_traits.html">allocator_traits</a>&lt;allocator_type&gt;::<a href="../../memory/allocator_traits/construct.html">construct</a>(m, p, std::<a href="../../utility/move.html">move</a>(rv));</code></li>
267+
</ul>
268+
</li>
269+
</ul>
270+
</li>
271+
<li>(3)、(4) : 引数 <code>position</code> は、コンテナの有効な読み取り専用イテレータでなければならない。<ul>
268272
<li>なお、標準では間接参照可能(dereferenceable)である必要があることになっているが、その必要はない(つまり、最終要素の次を指すイテレータでも良い)ものと思われる。</li>
269273
</ul>
270274
</li>
271-
<li>(5) : 引数 <code>first</code>、および、<code>last</code>は、入力イテレータの要件を満たし、かつ、<a class="cpprefjp-defined-word" data-desc="2つのイテレータで表現される半開区間を表す。C++20からイテレータと番兵で異なる型であっても指定可能になる">イテレータ範囲</a> <code>[first, last)</code> が当該コンテナ<strong>以外を指す</strong>有効な範囲でなければならない。 <ul>
272-
<li>また、このコンテナの要素型 <code>value_type</code> は、コンテナに対して <code>*first</code> から直接構築可能(EmplaceConstructible)でなければならない。 </li>
275+
<li>(5) : 引数 <code>first</code>、および、<code>last</code>は、入力イテレータの要件を満たし、かつ、<a class="cpprefjp-defined-word" data-desc="2つのイテレータで表現される半開区間を表す。C++20からイテレータと番兵で異なる型であっても指定可能になる">イテレータ範囲</a> <code>[first, last)</code> が当該コンテナ<strong>以外を指す</strong>有効な範囲でなければならない。<ul>
276+
<li>また、このコンテナの要素型 <code>value_type</code> は、コンテナに対して <code>*first</code> から直接構築可能(EmplaceConstructible)でなければならない。</li>
273277
<li>ここで、コンテナに対して <code>*first</code> から直接構築可能とは、<code>m</code> をアロケータ型 <code>allocator_type</code> の左辺値、<code>p</code> を要素型 <code>value_type</code> へのポインタとすると、以下の式が<a class="cpprefjp-defined-word" data-desc="プログラムが文法規則・診断対象の意味規則・単一定義規則を満たすこと" href="../../../implementation-compliance.html#dfn-well-formed">適格</a>(well-formed)であるということである。<ul>
274278
<li><code>std::<a href="../../memory/allocator_traits.html">allocator_traits</a>&lt;allocator_type&gt;::<a href="../../memory/allocator_traits/construct.html">construct</a>(m, p, *first);</code></li>
275279
</ul>
@@ -286,7 +290,7 @@ <h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成
286290
<h2>効果</h2>
287291
<ul>
288292
<li>(1)、(2) : 引数 <code>v</code>、あるいは <code>rv</code> で指定した値と等価なキーがコンテナに存在していなければ、当該要素を追加する。</li>
289-
<li>(3)、(4) : 引数 <code>v</code>、あるいは <code>rv</code> で指定した値と等価なキーがコンテナに存在していなければ、当該要素を追加する。 <ul>
293+
<li>(3)、(4) : 引数 <code>v</code>、あるいは <code>rv</code> で指定した値と等価なキーがコンテナに存在していなければ、当該要素を追加する。<ul>
290294
<li>引数 <code>position</code> は、要素の挿入位置を探し始める場所のヒントとして使用されるが、実装によって無視されるかもしれない。</li>
291295
</ul>
292296
</li>
@@ -300,12 +304,14 @@ <h2>効果</h2>
300304
</ul>
301305
<h2><a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価結果となるオブジェクト・値">戻り値</a></h2>
302306
<ul>
303-
<li>(1)、(2) : <code><a href="../../utility/pair.html">pair</a></code><code>bool</code> 部分(<code>second</code> 部)は、要素が追加されたら <code>true</code>、追加されなかったら(既にあったら)<code>false</code> <ul>
307+
<li>(1)、(2) : <code><a href="../../utility/pair.html">pair</a></code><code>bool</code> 部分(<code>second</code> 部)は、要素が追加されたら <code>true</code>、追加されなかったら(既にあったら)<code>false</code><ul>
304308
<li><code><a href="../../utility/pair.html">pair</a></code><code>iterator</code> 部分(<code>first</code> 部)は、追加された要素(<code>bool</code> 部分が <code>true</code> の場合)、あるいは、既にあった要素(<code>bool</code> 部分が <code>false</code> の場合)を指すイテレータ。</li>
305309
</ul>
306310
</li>
307-
<li>(3)、(4) : 新たな要素が追加された場合、その追加された要素を指すイテレータ。<br />
308-
新たな要素が追加されなかった場合、既にあった要素を指すイテレータ。</li>
311+
<li>(3)、(4) : 新たな要素が追加された場合、その追加された要素を指すイテレータ。<ul>
312+
<li>新たな要素が追加されなかった場合、既にあった要素を指すイテレータ。</li>
313+
</ul>
314+
</li>
309315
<li>(5) : なし</li>
310316
<li>(6) : なし</li>
311317
<li>(7) : <a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価結果となるオブジェクト・値">戻り値</a>としては、<code><a href="../../map/map.html">insert_return_type</a></code>を返す。<code>insert_return_type</code>のイテレータ型メンバ変数<code>position</code><code>bool</code>型メンバ変数<code>inserted</code>に格納される値は(1), (2)のものと同じ情報である。<code>nh</code>が空の場合は、<code>position</code>は終端イテレータである。<code>node_type</code>型メンバ変数<code>node</code>には、<ul>
@@ -327,10 +333,12 @@ <h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成
327333
</ul>
328334
<h2>備考</h2>
329335
<ul>
330-
<li>これらの関数が呼ばれた後も、当該コンテナ内の要素を指す参照は無効にはならない。
331-
なお、規格書に明確な記載は無いが、当該コンテナ内の要素を指すポインタも無効にはならない。</li>
332-
<li>これらの関数が呼ばれた後も、呼び出しの前後でこのコンテナのバケット数(<code><a href="bucket_count.html">bucket_count</a>()</code><a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価結果となるオブジェクト・値">戻り値</a>)が変わらなかった場合には当該コンテナを指すイテレータは無効にはならない。 <ul>
333-
<li>それ以外の場合は、当該コンテナを指すイテレータは無効になる可能性がある。 </li>
336+
<li>これらの関数が呼ばれた後も、当該コンテナ内の要素を指す参照は無効にはならない。<ul>
337+
<li>なお、規格書に明確な記載は無いが、当該コンテナ内の要素を指すポインタも無効にはならない。</li>
338+
</ul>
339+
</li>
340+
<li>これらの関数が呼ばれた後も、呼び出しの前後でこのコンテナのバケット数(<code><a href="bucket_count.html">bucket_count</a>()</code><a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価結果となるオブジェクト・値">戻り値</a>)が変わらなかった場合には当該コンテナを指すイテレータは無効にはならない。<ul>
341+
<li>それ以外の場合は、当該コンテナを指すイテレータは無効になる可能性がある。</li>
334342
<li>コンテナのバケット数が変わらない場合とは、以下のいずれかである:<ul>
335343
<li>追加しようとした要素と等価なキーの要素が全て既にコンテナに存在したため、要素が追加されなかった。</li>
336344
<li>要素追加後の要素数が、要素追加前のバケット数(<code><a href="bucket_count.html">bucket_count</a>()</code><a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価結果となるオブジェクト・値">戻り値</a>)×最大負荷率(<code><a href="max_load_factor.html">max_load_factor</a>()</code><a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価結果となるオブジェクト・値">戻り値</a>)よりも小さかった。</li>

0 commit comments

Comments
 (0)