std::forward_list<T,Allocator>:: prepend_range
From cppreference.net
<
cpp
|
container
|
forward list
|
template
<
container-compatible-range
<
T
>
R
>
void prepend_range ( R && rg ) ; |
(C++23以降)
(constexpr C++26以降) |
|
rg
内の要素のコピーを逆順にならない順序で
begin()
の前に挿入します。範囲
rg
内の各イテレータは正確に1回だけデリファレンスされます。
イテレータや参照は無効化されません。
目次 |
パラメータ
| rg | - |
a
container compatible range
, that is, an
input_range
whose elements are convertible to
T
|
| Type requirements | ||
-
T
is not
EmplaceConstructible
into
forward_list
from
*
ranges::
begin
(
rg
)
, the behavior is undefined.
|
||
計算量
rg のサイズに対して線形。
注記
| 機能テスト マクロ | 値 | 標準 | 機能 |
|---|---|---|---|
__cpp_lib_containers_ranges
|
202202L
|
(C++23) | レンジ対応 構築と挿入 |
例
このコードを実行
#include <algorithm> #include <cassert> #include <forward_list> #include <vector> int main() { auto container = std::forward_list{0, 1, 2, 3}; const auto rg = std::vector{-3, -2, -1}; #if __cpp_lib_containers_ranges container.prepend_range(rg); #else container.insert_after(container.before_begin(), rg.cbegin(), rg.cend()); #endif assert(std::ranges::equal(container, std::forward_list{-3, -2, -1, 0, 1, 2, 3})); }
関連項目
|
(C++23)
|
要素の範囲を挿入する
(公開メンバ関数) |
|
(C++23)
|
要素の後に要素の範囲を挿入する
(公開メンバ関数) |
|
先頭に要素を挿入する
(公開メンバ関数) |
|
|
先頭に要素をその場で構築する
(公開メンバ関数) |