std::flat_set<Key,Compare,KeyContainer>:: erase
From cppreference.net
|
iterator erase
(
iterator pos
)
;
|
(1) |
(C++23以降)
(constexpr C++26以降) |
|
iterator erase
(
const_iterator pos
)
;
|
(2) |
(C++23以降)
(constexpr C++26以降) |
|
iterator erase
(
const_iterator first, const_iterator last
)
;
|
(3) |
(C++23以降)
(constexpr C++26以降) |
|
size_type erase
(
const
Key
&
key
)
;
|
(4) |
(C++23以降)
(constexpr C++26以降) |
|
template
<
class
K
>
size_type erase ( K && x ) ; |
(5) |
(C++23以降)
(constexpr C++26以降) |
指定された要素をコンテナから削除します。
1,2)
pos
の位置にある要素を削除します。
3)
[
first
,
last
)
の範囲内の要素を削除します。この範囲は
*
this
内で有効な範囲でなければなりません。
4)
キーと等価な要素が存在する場合、その要素を削除します
key
。
5)
値
x
と等価と比較されるキーを持つ全ての要素を削除します。
このオーバーロードは、
Compare
が
transparent
であり、かつ
iterator
も
const_iterator
も
K
から暗黙的に変換できない場合にのみ、オーバーロード解決に参加します。これにより、
Key
のインスタンスを構築せずにこの関数を呼び出すことが可能になります。
| イテレータの無効化に関する情報は こちら からコピーされています |
イテレータ pos はデリファレンス可能でなければなりません。したがって、 end() イテレータ(有効ではありますが、デリファレンス可能ではありません)は pos の値として使用することはできません。
目次 |
パラメータ
| pos | - | 削除する要素へのイテレータ |
| first, last | - | 削除する要素の範囲を定義する 範囲 のイテレータペア |
| key | - | 削除する要素のキー値 |
| x | - | キーと透過的に比較可能な任意の型の値(削除する要素を示す) |
戻り値
1-3)
削除された最後の要素に続くイテレータ。
4)
削除された要素数(0または1)。
5)
削除された要素の数。
例外
1-3)
何もスローしない。
4,5)
Compare
オブジェクトによってスローされるあらゆる例外。
計算量
Depends on underlying container. Typically linear.|
このセクションは不完全です
理由:改訂が必要 |
例
このコードを実行
#include <flat_set> #include <iostream> int main() { std::flat_set<int> c = {1, 2, 3, 4, 1, 2, 3, 4}; auto print = [&c] { std::cout << "c = { "; for (int n : c) std::cout << n << ' '; std::cout << "}\n"; }; print(); std::cout << "Erase all odd numbers:\n"; for (auto it = c.begin(); it != c.end();) { if (*it % 2 != 0) it = c.erase(it); else ++it; } print(); std::cout << "Erase 1, erased count: " << c.erase(1) << '\n'; std::cout << "Erase 2, erased count: " << c.erase(2) << '\n'; std::cout << "Erase 2, erased count: " << c.erase(2) << '\n'; print(); }
出力:
c = { 1 2 3 4 }
Erase all odd numbers:
c = { 2 4 }
Erase 1, erased count: 0
Erase 2, erased count: 1
Erase 2, erased count: 0
c = { 4 }
関連項目
|
内容をクリアする
(公開メンバ関数) |