std::flat_multimap<Key,T,Compare,KeyContainer,MappedContainer>::erase
From cppreference.com
< cpp | コンテナ | flat_multimap
| iterator erase( iterator position ); |
(1) | (C++23から) |
| iterator erase( const_iterator pos ); |
(2) | (C++23から) |
| iterator erase( const_iterator first, const_iterator last ); |
(3) | (C++23から) |
| size_type erase( const Key& key ); |
(4) | (C++23から) |
template< class K > size_type erase( K&& x ); |
(5) | (C++23から) |
コンテナから指定された要素を削除します。残りの同値な要素の順序は保持されます。
1,2) pos の位置にある要素を削除します。
3) *this内の有効な範囲である範囲
[first, last)の要素を削除します。4) key と同値なキーを持つすべての要素を削除します。
5) 値 x と比較して同値であるキーを持つすべての要素を削除します。このオーバーロードは、修飾子付きID Compare::is_transparent が有効で型を示す場合、かつ
iterator も const_iterator も K から暗黙的に変換可能でない場合にのみ、オーバーロード解決に参加します。これにより、Key のインスタンスを構築せずにこの関数を呼び出すことができます。| イテレータ無効化に関する情報は、こちらからコピーされています。 |
イテレータ pos は有効で逆参照可能である必要があります。したがって、end() イテレータ(有効ですが逆参照可能ではありません)は pos の値として使用することはできません。
目次 |
[編集] パラメータ
| pos | - | 削除する要素へのイテレータ |
| first, last | - | 削除する要素の範囲を定義するイテレータのペア |
| key | - | 削除する要素のキー値 |
| x | - | 削除する要素を示すキーと透明に比較できる任意の型の値 |
[編集] 戻り値
1-3) 削除された最後の要素の後のイテレータ。
4) 削除された要素の数。
5) 削除された要素の数。
[編集] 例外
1-3) 例外はスローされません。
4,5)
Compare オブジェクトによってスローされる可能性のある例外。[編集] 計算量
基盤となるコンテナに依存します。通常は線形時間です。| このセクションは未完成です 理由: 改訂が必要 |
[編集] 例
このコードを実行
#include <flat_map> #include <iostream> int main() { std::flat_multimap<int, std::string> c = { {1, "one"}, {2, "two"}, {3, "three"}, {4, "four"}, {5, "five"}, {6, "six"} }; // erase all odd numbers from c for (auto it = c.begin(); it != c.end();) { if (it->first % 2 != 0) it = c.erase(it); else ++it; } for (auto& p : c) std::cout << p.second << ' '; std::cout << '\n'; }
出力
two four six
[編集] 関連項目
| 内容をクリアする (公開メンバ関数) |