File tree Expand file tree Collapse file tree 4 files changed +144
-0
lines changed
Expand file tree Collapse file tree 4 files changed +144
-0
lines changed Original file line number Diff line number Diff line change @@ -99,6 +99,7 @@ namespace std {
9999| [`emplace`](unordered_multiset/emplace.md) | コンテナ内への要素の直接構築 | C++11 |
100100| [`emplace_hint`](unordered_multiset/emplace_hint.md) | 挿入位置のヒントを使用したコンテナ内への要素の直接構築 | C++11 |
101101| [`insert`](unordered_multiset/insert.md) | 要素の追加 | C++11 |
102+ | [`insert_range`](unordered_multiset/insert_range.md) | Rangeの要素を挿入する | C++23 |
102103| [`erase`](unordered_multiset/erase.md) | 要素の削除 | C++11 |
103104| [`clear`](unordered_multiset/clear.md) | 全要素の削除 | C++11 |
104105| [`swap`](unordered_multiset/swap.md) | 内容の交換 | C++11 |
Original file line number Diff line number Diff line change 1+ # insert_range
2+ * unordered_set[ meta header]
3+ * std[ meta namespace]
4+ * unordered_multiset[ meta class]
5+ * function template[ meta id-type]
6+ * cpp23[ meta cpp]
7+
8+ ``` cpp
9+ template <container-compatible-range<value_type> R>
10+ void insert_range (R&& rg); // C++23
11+ ```
12+
13+ ## 概要
14+ コンテナにRange`rg` の要素を挿入する。
15+
16+
17+ ## 効果
18+ Range`rg` のすべての要素 `t` に対して、`insert(t)` を呼び出した場合と等価。
19+
20+
21+ ## 事前条件
22+ `*this` の要素の範囲と Range`rg` の要素の範囲が重複していないこと
23+
24+
25+ ## テンプレートパラメータ制約
26+ `value_type` は、コンテナに対して `EmplaceConstructible` であること
27+
28+
29+ ## 戻り値
30+ なし
31+
32+
33+ ## 計算量
34+ `N =` [`ranges::distance`](../../iterator/ranges_distance.md)`(rg)` とすると、平均的なケースでは `O(N)`、最悪のケースでは `O(N size() + 1)`。
35+
36+
37+ ## 例
38+ ```cpp example
39+ #include <iostream>
40+ #include <unordered_set>
41+ #include <vector>
42+
43+ int main ()
44+ {
45+ std::unordered_multiset<int> s = {1, 2, 3};
46+
47+ std::vector<int> v = {2, 3, 4};
48+ s.insert_range(v);
49+
50+ for (int i : s) {
51+ std::cout << i << " ";
52+ }
53+ std::cout << std::endl;
54+
55+ return 0;
56+ }
57+ ```
58+ * insert_range[ color ff0000]
59+
60+ ### 出力
61+ ```
62+ 4 3 3 2 2 1
63+ ```
64+ 注:[ ` unordered_multiset ` ] ( /reference/unordered_set/unordered_multiset.md ) は非順序連想コンテナであるため、出力順序は無意味であることに注意
65+
66+
67+ ## 関連項目
68+
69+ | 名前 | 説明 |
70+ | -------------------------------------------| ----------------------|
71+ | [ ` insert ` ] ( insert.md ) | 要素の追加 |
Original file line number Diff line number Diff line change @@ -97,6 +97,7 @@ namespace std {
9797| [`emplace`](unordered_set/emplace.md) | コンテナ内への要素の直接構築 | C++11 |
9898| [`emplace_hint`](unordered_set/emplace_hint.md) | 挿入位置のヒントを使用したコンテナ内への要素の直接構築 | C++11 |
9999| [`insert`](unordered_set/insert.md) | 要素の追加 | C++11 |
100+ | [`insert_range`](unordered_set/insert_range.md) | Rangeの要素を挿入する | C++23 |
100101| [`erase`](unordered_set/erase.md) | 要素の削除 | C++11 |
101102| [`clear`](unordered_set/clear.md) | 全要素の削除 | C++11 |
102103| [`swap`](unordered_set/swap.md) | 内容の交換 | C++11 |
Original file line number Diff line number Diff line change 1+ # insert_range
2+ * unordered_set[ meta header]
3+ * std[ meta namespace]
4+ * unordered_set[ meta class]
5+ * function template[ meta id-type]
6+ * cpp23[ meta cpp]
7+
8+ ``` cpp
9+ template <container-compatible-range<value_type> R>
10+ void insert_range (R&& rg); // C++23
11+ ```
12+
13+ ## 概要
14+ コンテナにRange`rg` の要素を挿入する。
15+
16+
17+ ## 効果
18+ Range`rg` のすべての要素 `t` に対して、`insert(t)` を呼び出した場合と等価。
19+
20+
21+ ## 事前条件
22+ `*this` の要素の範囲と Range`rg` の要素の範囲が重複していないこと
23+
24+
25+ ## テンプレートパラメータ制約
26+ `value_type` は、コンテナに対して `EmplaceConstructible` であること
27+
28+
29+ ## 戻り値
30+ なし
31+
32+
33+ ## 計算量
34+ `N =` [`ranges::distance`](../../iterator/ranges_distance.md)`(rg)` とすると、平均的なケースでは `O(N)`、最悪のケースでは `O(N size() + 1)`。
35+
36+
37+ ## 例
38+ ```cpp example
39+ #include <iostream>
40+ #include <unordered_set>
41+ #include <vector>
42+
43+ int main ()
44+ {
45+ std::unordered_set<int> s = {1, 2, 3};
46+
47+ std::vector<int> v = {2, 3, 4};
48+ s.insert_range(v);
49+
50+ for (int i : s) {
51+ std::cout << i << " ";
52+ }
53+ std::cout << std::endl;
54+
55+ return 0;
56+ }
57+ ```
58+ * insert_range[ color ff0000]
59+
60+ ### 出力
61+ ```
62+ 4 3 2 1
63+ ```
64+ 注:[ ` unordered_set ` ] ( /reference/unordered_set/unordered_set.md ) は非順序連想コンテナであるため、出力順序は無意味であることに注意
65+
66+
67+ ## 関連項目
68+
69+ | 名前 | 説明 |
70+ | -------------------------------------------| ----------------------|
71+ | [ ` insert ` ] ( insert.md ) | 要素の追加 |
You can’t perform that action at this time.
0 commit comments