std::multimap
提供: cppreference.com
ヘッダ <map> で定義 | ||
template< class Key, | (1) | |
namespace pmr { template<class Key, class T, class Compare =std::less<Key>> | (2) | (C++17以上) |
multimap はキーと値のペアのソートされた一覧を格納する連想コンテナです。 同じキーのエントリを複数格納できます。 ソートは、キーを比較関数 Compare
に適用した結果に従って行われます。 検索、挿入、削除の操作の計算量は対数時間です。
キーが等しい要素の順序は挿入順となり、変更されることはありません。 | (C++11以上) |
標準ライブラリが Compare 要件を使用する場所ではすべて、一意性は同等関係を使用して決定されます。 不正確な言葉で言うと、2つのオブジェクト a
と b
は、どちらがどちらより小さいわけでもない (!comp(a, b) && !comp(b, a)
) 場合に等しいとみなされます。
std::multimap
は Container, AllocatorAwareContainer, AssociativeContainer, ReversibleContainer の要件を満たします。
目次 |
[編集]メンバ型
メンバ型 | 定義 | ||||
key_type | Key | ||||
mapped_type | T | ||||
value_type | std::pair<const Key, T> | ||||
size_type | 符号なし整数型 (通常 std::size_t) | ||||
difference_type | 符号付き整数型 (通常 std::ptrdiff_t) | ||||
key_compare | Compare | ||||
allocator_type | Allocator | ||||
reference |
| ||||
const_reference |
| ||||
pointer |
| ||||
const_pointer |
| ||||
iterator | LegacyBidirectionalIterator | ||||
const_iterator | const LegacyBidirectionalIterator | ||||
reverse_iterator | std::reverse_iterator<iterator> | ||||
const_reverse_iterator | std::reverse_iterator<const_iterator> | ||||
node_type (C++17以上) | コンテナノードを表すノードハンドルの特殊化 |
[編集]メンバクラス
value_type 型のオブジェクトを比較します (クラス) |
[編集]メンバ関数
multimap を構築します (パブリックメンバ関数) | |
multimap を破棄します (パブリックメンバ関数) | |
コンテナに値を代入します (パブリックメンバ関数) | |
関連付けられているアロケータを返します (パブリックメンバ関数) | |
イテレータ | |
先頭を指すイテレータを返します (パブリックメンバ関数) | |
終端を指すイテレータを返します (パブリックメンバ関数) | |
先頭を指す逆イテレータを返します (パブリックメンバ関数) | |
終端を指す逆イテレータを返します (パブリックメンバ関数) | |
容量 | |
コンテナが空かどうか調べます (パブリックメンバ関数) | |
要素数を返します (パブリックメンバ関数) | |
可能な最大の要素数を返します (パブリックメンバ関数) | |
変更 | |
すべての要素を削除します (パブリックメンバ関数) | |
要素またはノード(C++17以上)を挿入します (パブリックメンバ関数) | |
(C++11) | 要素をその場で構築します (パブリックメンバ関数) |
(C++11) | ヒントを使用して要素をその場で構築します (パブリックメンバ関数) |
要素を削除します (パブリックメンバ関数) | |
(C++11) | 内容を入れ替えます (パブリックメンバ関数) |
(C++17) | コンテナからノードを抽出します (パブリックメンバ関数) |
(C++17) | 他のコンテナからノードを接合します (パブリックメンバ関数) |
検索 | |
指定されたキーと一致する要素の数を返します (パブリックメンバ関数) | |
指定されたキーを持つ要素を探します (パブリックメンバ関数) | |
(C++20) | コンテナが指定されたキーを持つ要素を格納しているかどうか調べます (パブリックメンバ関数) |
指定されたキーに一致する要素の範囲を返します (パブリックメンバ関数) | |
指定されたキーより小さくない最初の要素を指すイテレータを返します (パブリックメンバ関数) | |
指定されたキーより大きい最初の要素を指すイテレータを返します (パブリックメンバ関数) | |
観察 | |
キーを比較する関数を返します (パブリックメンバ関数) | |
value_type 型のオブジェクト内のキーを比較する関数を返します (パブリックメンバ関数) |
[編集]非メンバ関数
(C++20で削除)(C++20で削除)(C++20で削除)(C++20で削除)(C++20で削除)(C++20) | multimap 内の値を辞書的に比較します (関数テンプレート) |
std::swap アルゴリズムの特殊化 (関数テンプレート) | |
(C++20) | 特定の基準を満たすすべての要素を削除します (関数テンプレート) |