multimap Class
標準テンプレート ライブラリの multimap のクラスは、各要素がデータ値と並べ替えキーの両方を持つペアであるコレクションからデータを格納および取得するために使用されます。キー値は一意である必要はなく、そのデータを自動的に並べ替えに使用されます。map の要素の値が、関連するキー値が、直接変更することはできません。代わりに、古い要素に関連付けられているキー値が削除される挿入新しい要素に関連付ける必要があり、新しいキー値。
template <
class Key,
class Type,
class Traits=less<Key>,
class Allocator=allocator<pair <const Key, Type> >
>
class multimap
パラメーター
Key
map に格納される主要なデータ型。型
map に格納される要素のデータ型。Traits
map ディレクティブの相対位置を特定するために、並べ替えキーとして 2 要素の値を比較できる関数オブジェクトを提供する型。バイナリ述語 less*<Key>が* 既定値です。Allocator
マップのメモリの割り当てと解放に関する詳細をカプセル化する、格納されたアロケーター オブジェクトを表す型。このオプションを省略すると、既定値は allocator*<*pair *<*const *Key Type> >*です。
解説
STL の multimap のクラスです。
サポートする可変サイズのコンテナーが関連するキー値に要素の値の有効な検索基づいて、連想コンテナー。
要素にアクセスするには、双方向反復子を提供するため、実行する。
要素が指定した比較関数に従ってコンテナー内のキー値に基づいて並べるため、並べ替えられる。
1 種類のキー値は関連付けられている多くの要素のデータ値があるように、要素を一意キーである必要はないため、複数。
要素のデータ値がとは異なるキー値であるため、二つの連想コンテナー。
用意されている機能とテンプレート クラスは、一般的に、要素またはキーとして含まれるデータの種類とは無関係です。代わりに要素とキーに使用するデータ型は比較関数およびアロケーターとともにクラス テンプレートでパラメーターとして指定されます。
マップのクラスによって提供された反復子は、双方向反復子ですが、クラスのメンバー関数 挿入 と map にテンプレート パラメーターとして機能の要件が双方向の反復子クラスによって保証されます。これらは最小限である、弱い入力反復子を受け取るバージョンがあります。さまざまな反復子の概念は、機能の調整に関連するファミリを形成します。反復子の種類によって提供される要件にそれらを指定する必要の制限を前提として使用するアルゴリズムと各反復子の概念は、要件の独自のセットがあります。オブジェクトを参照するように入力反復子が逆参照される可能性があることが、シーケンスの次の反復子に増加する可能性があることを想定される場合があります。これは、最小限の機能ですが、クラスのメンバー関数のコンテキストで反復子 _First、[_Last) の範囲について有意に話せますには十分です。
コンテナーの種類は、検索およびアプリケーションで必要な挿入の型に共通に基づきます。連想コンテナーは、検索、挿入、削除操作のために最適化されています。メンバー関数、明示的に処理を有効にする、それらをサポートするコンテナー要素の数値の対数に比例的な手段にある場合に行います。要素を挿入する反復子を無効にしない要素を削除し、削除した要素に明確に指定した反復子だけが無効になります。
map はキーと値を関連付ける条件が満たされたときにアプリケーションでオプションを連想コンテナー必要があります。この構造体の型のモデルは、Word が常に区別されていない定義を提供する関連付けられた文字列値を持つキー Word の順序付きリストです。代わりにキーが一意であるかのようにキー単語が区別されると、マップは、選択コンテナーです。一方、は、単語のリストだけが格納されている場合、セットは、適切なコンテナーです。Word の複数の出現が許可されると、複数のセットは、適切なコンテナー構造です。
map key_compareの型は、格納されているオブジェクトの関数を呼び出して制御するシーケンスの順序を指定します。このメンバー関数は、格納されているオブジェクト key_compを呼び出すことによってアクセスできる比較関数です。通常、要素は上でのみ、あまりこの順序を設定することである必要があります: または (という意味でいずれも他より小さくない) 等しいことが、任意の 2 種類の要素は、いずれかの決定されるそのほか未満であること。これは、不一致要素間の順序で発生します。テクニカル ノートで、比較関数は、標準的な演算はの厳密弱順序を引き起こすバイナリ述語です。バイナリ述語 f (x の y) は2 個の引数オブジェクトが true または false の x 半径と y、および戻り値を持つ関数オブジェクトです。セットに適用される順序は 2 種類のオブジェクトが同等であると x 半径と y と、f (x、y) 、および f (y) の x がfalse で定義されている厳密な厳密にバイナリ述語が irreflexive 称、オブジェクト、および中間かどうか、および Orders 等価性が中間の場合は。等価性、命令合計になるキーの置換の間の等価より強力な状態が (すべての要素が互いに関連する注文されるという意味で) と一致するキー互い indiscernible です。
メンバー
コンストラクター
を構築します multimap 空の場合、または他に、multimapの全体または一部のコピーである。 |
Typedef
multimap のオブジェクトの allocator のクラスを表す型。 |
|
multimapの const の要素を読み取ることができる双方向反復子を提供する型。 |
|
multimapの const の要素へのポインターを提供する型。 |
|
const の要素への参照を提供する型は const 操作を読み取りと操作実行のために格納されている multimap |
|
multimapの const の要素を読み取ることができる双方向反復子を提供する型。 |
|
要素間の範囲の multimap の要素数を表すことができる符号付き整数型は、反復子が指す。 |
|
同じ multimap内の要素を示す 2 反復子の差を提供する型。 |
|
multimapの要素は 2 個の相対位置を決定するディレクティブには、2 とおりの並べ替えキーを比較できる関数オブジェクトを提供する型。 |
|
multimapの各要素を構成する並べ替えキーのオブジェクトを表す型。 |
|
データ型を表す型は multimapに格納されている |
|
multimapの const の要素へのポインターを提供する型。 |
|
要素への参照を提供する型は multimapに格納されている |
|
読み取り可能であり、逆順の multimapの要素を変更する双方向反復子を提供する型。 |
|
multimapの const の要素へのポインターを提供する符号なし整数の型。 |
|
multimapディレクティブの相対位置を特定するために、並べ替えキーとして 2 個の要素を比較できる関数のオブジェクトを提供する型。 |
メンバー関数
multimapの最初の要素を指定する反復子を返します。 |
|
multimapの最初の要素を指す定数反復子を返します。 |
|
multimapに最後の要素に成功する位置を指す定数反復子を返します。 |
|
multimapのすべての要素を消去します。 |
|
キーがパラメーター指定したキーに一致する multimap の要素数を返します。 |
|
逆順の multimapの最初の要素を指す定数反復子を返します。 |
|
逆順の multimapに最後の要素に成功する位置を指す定数反復子を返します。 |
|
multimapに構築された要素を挿入します。 |
|
配置ヒントを含む multimapに、構築された要素を挿入します。 |
|
multimap が空かどうかをテストします。 |
|
multimapに最後の要素に成功する位置を指定する反復子を返します。 |
|
要素のキーがある値に一致する要素の範囲を検索します。 |
|
multimap の要素または要素範囲を指定位置から削除するか、指定したキーに一致する要素を削除します。 |
|
指定したキーと同じキーを持つ multimap の要素の最初の位置を指定する反復子を返します。 |
|
multimapの構築に使用される allocator オブジェクトのコピーを返します。 |
|
multimapに要素または要素範囲を挿入します。 |
|
multimapで使用されている順序のキーに比較オブジェクトのコピーを取得します。 |
|
その以内で指定されたキー、キーと multimap の最初の要素への反復子を返します。 |
|
multimapの最大長を返します。 |
|
逆順の multimapの最初の要素を指定する反復子を返します。 |
|
逆順の multimapに最後の要素に成功する位置を指定する反復子を返します。 |
|
multimapの要素数を返します。 |
|
2 multimap、.の要素を交換します。 |
|
指定したキー、キーと multimap の最初の要素への反復子を返します。 |
|
このメンバー関数は、キー値を比較して multimap の要素の順序を決定する関数オブジェクトを返します。 |
演算子
別の multimapのコピーと multimap の要素を置き換えます。 |
必要条件
Header: <map>
名前空間: std
(key、**[value]**ペア) は pair型のオブジェクトとして multimap に格納されます。ペアのクラスは <map>によって自動的に含まれるヘッダー <utility>が必要です。