File tree Expand file tree Collapse file tree 4 files changed +185
-0
lines changed
Expand file tree Collapse file tree 4 files changed +185
-0
lines changed Original file line number Diff line number Diff line change @@ -48,6 +48,7 @@ namespace std {
4848| [`(destructor)`](forward_list/op_destructor.md) | デストラクタ | C++11 |
4949| [`operator=`](forward_list/op_assign.md) | 代入演算子 | C++11 |
5050| [`assign`](forward_list/assign.md) | コンテナの再代入 | C++11 |
51+ | [`assign_range`](forward_list/assign_range.md) | Rangeの要素を再代入 | C++23 |
5152
5253
5354### イテレータ
@@ -83,9 +84,11 @@ namespace std {
8384|----------------------------------------------------|--------------------------------|-------|
8485| [`emplace_front`](forward_list/emplace_front.md) | 先頭への直接構築による要素追加 | C++11 |
8586| [`push_front`](forward_list/push_front.md) | 先頭に要素を追加する | C++11 |
87+ | [`prepend_range`](forward_list/prepend_range.md) | 先頭にRangeの要素を追加する | C++23 |
8688| [`pop_front`](forward_list/pop_front.md) | 先頭から要素を削除 | C++11 |
8789| [`emplace_after`](forward_list/emplace_after.md) | 任意の位置への直接構築による要素挿入 | C++11 |
8890| [`insert_after`](forward_list/insert_after.md) | 任意の位置への要素挿入 | C++11 |
91+ | [`insert_range_after`](forward_list/insert_range_after.md) | 任意の位置へRangeの要素挿入 | C++23 |
8992| [`erase_after`](forward_list/erase_after.md) | 指定したイテレータの次の要素を削除する | C++11 |
9093| [`swap`](forward_list/swap.md) | コンテナの交換 | C++11 |
9194| [`resize`](forward_list/resize.md) | 要素数を変更する | C++11 |
Original file line number Diff line number Diff line change 1+ # assign_range
2+ * forward_list[ meta header]
3+ * std[ meta namespace]
4+ * forward_list[ meta class]
5+ * function template[ meta id-type]
6+ * cpp23[ meta cpp]
7+
8+ ``` cpp
9+ template <container-compatible-range<T> R>
10+ void assign_range (R&& rg); // C++23
11+ ```
12+
13+ ## 概要
14+ Rangeの各要素を再代入する。
15+
16+
17+ ## 事前条件
18+ `*this` の要素の範囲と Range`rg` の要素の範囲が重複していないこと
19+
20+
21+ ## テンプレートパラメータ制約
22+ 型`T`が`*ranges::begin(rg)`から`forward_list`コンテナへの`EmplaceConstructible`であること。
23+
24+
25+ ## 効果
26+ Range`rg`の各要素を、再代入する。
27+
28+
29+ ## 戻り値
30+ なし
31+
32+
33+ ## 例
34+ ```cpp example
35+ #include <forward_list>
36+ #include <iostream>
37+
38+ int main()
39+ {
40+ std::forward_list<int> fl = {1, 2, 3};
41+ const int a[3] = {4, 5, 6};
42+
43+ // Rangeを再代入
44+ fl.assign_range(a);
45+
46+ for (int i : fl) {
47+ std::cout << i << " ";
48+ }
49+ std::cout << std::endl;
50+ }
51+ ```
52+ * assign_range[ color ff0000]
53+
54+ ### 出力
55+ ```
56+ 4 5 6
57+ ```
58+
59+
60+ ## 関連項目
61+
62+ | 名前 | 説明 |
63+ | -------------------------------------------| ----------------------|
64+ | [ ` assign ` ] ( assign.md ) | コンテナに値を代入する |
Original file line number Diff line number Diff line change 1+ # insert_range_after
2+ * forward_list[ meta header]
3+ * std[ meta namespace]
4+ * forward_list[ meta class]
5+ * function template[ meta id-type]
6+ * cpp23[ meta cpp]
7+
8+ ``` cpp
9+ template <container-compatible-range<T> R>
10+ iterator insert_range_after (const_iterator pos, R&& rg); // C++23
11+ ```
12+
13+ ## 概要
14+ Rangeの各要素を任意の位置に挿入する。
15+
16+
17+ ## テンプレートパラメータ制約
18+ 型`T`が`*ranges::begin(rg)`から`forward_list`コンテナへの`EmplaceConstructible`であること。
19+
20+
21+ ## 効果
22+ Range`rg`の各要素を、`pos`の直後に挿入する。
23+
24+
25+ ## 戻り値
26+ 挿入されたRange`rg`の最後の要素を指すイテレータ。`rg`が空の場合は`pos`。
27+
28+
29+ ## 例
30+ ```cpp example
31+ #include <forward_list>
32+ #include <iostream>
33+
34+ int main()
35+ {
36+ std::forward_list<int> fl = {1, 2, 3};
37+ const int a[3] = {4, 5, 6};
38+
39+ // Rangeを1番目の直後に挿入
40+ fl.insert_range_after(fl.begin(), a);
41+
42+ for (int i : fl) {
43+ std::cout << i << " ";
44+ }
45+ std::cout << std::endl;
46+ }
47+ ```
48+ * insert_range_after[ color ff0000]
49+
50+ ### 出力
51+ ```
52+ 1 4 5 6 2 3
53+ ```
54+
55+
56+ ## 関連項目
57+
58+ | 名前 | 説明 |
59+ | -------------------------------------------| ----------------------|
60+ | [ ` insert_after ` ] ( insert_after.md ) | 任意の位置への要素挿入 |
61+ | [ ` emplace_after ` ] ( emplace_after.md ) | 任意の位置への直接構築による要素挿入 |
Original file line number Diff line number Diff line change 1+ # prepend_range
2+ * forward_list[ meta header]
3+ * std[ meta namespace]
4+ * forward_list[ meta class]
5+ * function template[ meta id-type]
6+ * cpp23[ meta cpp]
7+
8+ ``` cpp
9+ template <container-compatible-range<T> R>
10+ void prepend_range (R&& rg); // C++23
11+ ```
12+
13+ ## 概要
14+ 先頭にRangeの要素を追加する。
15+
16+
17+ ## テンプレートパラメータ制約
18+ 型`T`が`*ranges::begin(rg)`から`forward_list`コンテナへの`EmplaceConstructible`であること。
19+
20+
21+ ## 戻り値
22+ なし
23+
24+
25+ ## 例
26+ ```cpp example
27+ #include <forward_list>
28+ #include <iostream>
29+
30+ int main()
31+ {
32+ std::forward_list<int> fl = {1, 2, 3};
33+ const int a[3] = {4, 5, 6};
34+
35+ // Rangeを先頭に追加
36+ fl.prepend_range(a);
37+
38+ for (int i : fl) {
39+ std::cout << i << " ";
40+ }
41+ std::cout << std::endl;
42+ }
43+ ```
44+ * prepend_range[ color ff0000]
45+
46+ ### 出力
47+ ```
48+ 4 5 6 1 2 3
49+ ```
50+
51+
52+ ## 関連項目
53+
54+ | 名前 | 説明 |
55+ | -------------------------------------------| ----------------------|
56+ | [ ` push_front ` ] ( push_front.md ) | 先頭に要素を追加する |
57+ | [ ` emplace_front ` ] ( emplace_front.md ) | 先頭に要素を直接構築で追加する |
You can’t perform that action at this time.
0 commit comments