File tree Expand file tree Collapse file tree 2 files changed +52
-0
lines changed
Expand file tree Collapse file tree 2 files changed +52
-0
lines changed Original file line number Diff line number Diff line change @@ -16,6 +16,32 @@ namespace std {
1616* vector[link /reference/vector/vector.md]
1717
1818## 概要
19+ `std::flat_multiset`は、重複する要素を許可する連想コンテナの一種であり、要素自身がキーとなる、集合を表すクラスである。
20+
21+ `std::flat_multiset`は、ノードベースで実装される[`std::multiset`](/reference/set/multiset.md)、ハッシュテーブルで実装される[`std::unordered_multiset`](/reference/unordered_set/unordered_multiset.md)とは異なり、ソート済み配列と二分探索の組み合わせで実装される。これはほかの実装と比較して、メモリ使用量と列挙速度において優位であり、一方で挿入速度と検索速度はほかの実装に劣る。
22+
23+ また、このクラスは分類としては[`std::queue`](/reference/queue/queue.md)や[`std::skack`](/reference/stack/stack.md)と同様のコンテナアダプタに分類され、キーの配列をラップして扱う実装となっている。
24+
25+ このコンテナクラスは、ランダムアクセスイテレータをサポートする。
26+
27+
28+ ### ほかの連想コンテナとの要件の違い
29+ このクラスは要件として、コンテナクラスと、逆順コンテナクラスであることは満たすが、連想コンテナの要件としては以下を満たさない:
30+
31+ - node handleに関する要件
32+ - イテレータ無効化に関する要件
33+ - 単一要素の挿入と削除に線形時間かかる (挿入位置のイテレータを指定したとしても)
34+
35+ また、このコンテナはメモリアロケータを指定できない設計にもなっている。
36+
37+ ## テンプレートパラメータ制約
38+ - `KeyContainer`に指定するコンテナ型は、
39+ - シーケンスコンテナの要件を満たし、
40+ - ランダムアクセスイテレータをもつこと
41+
42+
43+ ## 適格要件
44+ - `Key`が`KeyContainer::value_type`と同じ型であること
1945
2046
2147## メンバ関数
Original file line number Diff line number Diff line change @@ -16,6 +16,32 @@ namespace std {
1616* vector[link /reference/vector/vector.md]
1717
1818## 概要
19+ `std::flat_set`は、重複しない要素を格納する連想コンテナの一種であり、要素自身がキーとなる、集合を表すクラスである。
20+
21+ `std::flat_set`は、ノードベースで実装される[`std::set`](/reference/set/set.md)、ハッシュテーブルで実装される[`std::unordered_set`](/reference/unordered_set/unordered_set.md)とは異なり、ソート済み配列と二分探索の組み合わせで実装される。これはほかの実装と比較して、メモリ使用量と列挙速度において優位であり、一方で挿入速度と検索速度はほかの実装に劣る。
22+
23+ また、このクラスは分類としては[`std::queue`](/reference/queue/queue.md)や[`std::skack`](/reference/stack/stack.md)と同様のコンテナアダプタに分類され、キーの配列をラップして扱う実装となっている。
24+
25+ このコンテナクラスは、ランダムアクセスイテレータをサポートする。
26+
27+
28+ ### ほかの連想コンテナとの要件の違い
29+ このクラスは要件として、コンテナクラスと、逆順コンテナクラスであることは満たすが、連想コンテナの要件としては以下を満たさない:
30+
31+ - node handleに関する要件
32+ - イテレータ無効化に関する要件
33+ - 単一要素の挿入と削除に線形時間かかる (挿入位置のイテレータを指定したとしても)
34+
35+ また、このコンテナはメモリアロケータを指定できない設計にもなっている。
36+
37+ ## テンプレートパラメータ制約
38+ - `KeyContainer`に指定するコンテナ型は、
39+ - シーケンスコンテナの要件を満たし、
40+ - ランダムアクセスイテレータをもつこと
41+
42+
43+ ## 適格要件
44+ - `Key`が`KeyContainer::value_type`と同じ型であること
1945
2046
2147## メンバ関数
You can’t perform that action at this time.
0 commit comments