std::deque<T,Allocator>::insert
提供: cppreference.com
(1) | ||
iterator insert( iterator pos, const T& value ); | (C++11未満) | |
iterator insert( const_iterator pos, const T& value ); | (C++11以上) | |
iterator insert( const_iterator pos, T&& value ); | (2) | (C++11以上) |
(3) | ||
void insert( iterator pos, size_type count, const T& value ); | (C++11未満) | |
iterator insert( const_iterator pos, size_type count, const T& value ); | (C++11以上) | |
(4) | ||
template<class InputIt > void insert( iterator pos, InputIt first, InputIt last); | (C++11未満) | |
template<class InputIt > iterator insert( const_iterator pos, InputIt first, InputIt last ); | (C++11以上) | |
iterator insert( const_iterator pos, std::initializer_list<T> ilist ); | (5) | (C++11以上) |
コンテナ内の指定された位置に要素を挿入します。
1-2)
pos
の前に value
を挿入します。3)
pos
の前に value
のコピーを count
個挿入します。4)
pos
の前に範囲 [first, last)
から要素を挿入します。 InputIt が整数型の場合、このオーバーロードはオーバーロード (3) と同じ効果を持ちます。 | (C++11未満) |
オーバーロード (3) との曖昧さを回避するため、このオーバーロードは、InputIt が LegacyInputIterator を満たす場合にのみ、オーバーロード解決に参加します。 | (C++11以上) |
first
および last
が *this 内を指す場合、動作は未定義です。5)
pos
の前に初期化子リスト ilist
から要素を挿入します。すべてのイテレータ (終端イテレータも含む) が無効化されます。 pos == begin() または pos == end() の場合は、参照は無効化されません。 そうでなければ、参照も無効化されます。
目次 |
[編集]引数
pos | - | 前に内容が挿入されるイテレータ。 pos は end() イテレータでも構いません |
value | - | 挿入する要素の値 |
first, last | - | 挿入する要素の範囲。 insert が呼ばれたコンテナ内を指すイテレータは使用できません |
ilist | - | 挿入する値の初期化子リスト |
型の要件 | ||
-オーバーロード (1) を使用するためには T は CopyAssignable および CopyInsertable の要件を満たさなければなりません。 | ||
-オーバーロード (2) を使用するためには T は MoveAssignable および MoveInsertable の要件を満たさなければなりません。 | ||
-オーバーロード (3) を使用するためには T は CopyAssignable および CopyInsertable の要件を満たさなければなりません。 | ||
-オーバーロード (4,5) を使用するためには T は EmplaceConstructible の要件を満たさなければなりません。 | ||
-オーバーロード (4,5) を使用するためには T は Swappable, MoveAssignable, MoveConstructible および MoveInsertable の要件を満たさなければなりません。 (C++17以上) |
[編集]戻り値
1-2) 挿入された
value
を指すイテレータ。3) 挿入された最初の要素を指すイテレータ、または count==0 の場合は
pos
。4) 挿入された最初の要素を指すイテレータ、または first==last の場合は
pos
。5) 挿入された最初の要素を指すイテレータ、または
ilist
が空の場合は pos
。[編集]計算量
1-2) 定数時間プラス
pos
とコンテナのいずれかの端との距離の短い方の線形時間。3)count の線形時間プラス
pos
とコンテナのいずれかの端との距離の短い方の線形時間。5)ilist.size() の線形時間プラス
pos
とコンテナのいずれかの端との距離の短い方の線形時間。[編集]例外
いずれかの端に単一の要素が挿入されるときに例外が投げられた場合、この関数は効果を持ちません (強い例外保証)。
[編集]関連項目
(C++11) | 要素をその場で構築します (パブリックメンバ関数) |
要素を先頭に挿入します (パブリックメンバ関数) | |
要素を末尾に追加します (パブリックメンバ関数) |