multiset Class
マルチセット クラスのストレージおよび取得のデータ コレクションは、含まれる要素の値を一意する必要はなく、、データに基づいて自動的に注文されたキーの値として使用される、標準テンプレート ライブラリ。マルチセットの要素のキー値を直接変更できません可能性があります。代わりに、古い値を削除する必要がありに値の新しい要素を挿入します。
template <
class Key,
class Compare=less<Key>,
class Allocator=allocator<Key>
>
class multiset
パラメーター
Key
マルチセットに格納される要素のデータ型。比較
関数オブジェクトを提供する型は、マルチセットの相対的な順序を決定する並べ替えキーとして 2 つの要素値を比較できます。バイナリ述語以下<Key> 既定値です。Allocator
マルチセットの割り当てとメモリの割り当て解除の詳細をカプセル化するストアド アロケーター オブジェクトを表す型。既定値はアロケーター*<Key>.*
解説
STL マルチセット クラスです。
要素の値を関連付けられているキー値に基づいての効率的な取得をサポートする可変サイズのコンテナーで、連想コンテナーです。
元に戻せませんをその要素にアクセスするには、双方向の反復子を提供するため。
並べ替え、その要素はコンテナーでは、指定された比較関数内でのキーの値によって並べられますため。
複数の 1 つのキー値に関連付けられた多くの要素の値を与えることは、その要素で固有のキーを必要はありませんを意味します。
単純な結合コンテナー要素値をそのキー値があるため。
テンプレート クラスは、その機能を提供するためはジェネリックと、特定の種類の要素として含まれているデータのために独立しました。データ型を使用する代わりに、アロケーターと比較関数と共に、クラス テンプレートのパラメーターとして指定。
マルチセット クラスによって提供される、反復子を双方向反復子は、クラスのメンバー関数には挿入 と マルチセット弱い入力反復子は、その機能の要件は、双方向の反復子のクラスによって保証に比べてより最小限に抑える、テンプレート パラメーターを受け取るバージョンがあります。別の反復子の概念は改良でその機能に関連する、家族を形成します。各反復子の概念は、独自の要件のセットがあるし、その型の反復子によって提供される要件に前提で、アルゴリズムを制限する必要があります。入力の反復子は、いくつかのオブジェクトを参照する逆参照可能性があること、し、シーケンス内の次の反復子をインクリメント可能性があること想定できる場合があります。これは、機能の最小セットですが、十分な意味を持つ反復子の範囲についてを説明できるように [_First、 _Last) は、クラスのメンバー関数のコンテキストで。
コンテナーの種類の選択は一般に検索の種類に基づいて必要があり、挿入すると、アプリケーションに必要な。連想コンテナーは、参照、挿入、および削除の操作に対して最適化されています。明示的にこれらの操作をサポートするメンバー関数の平均は、コンテナー内の要素数の対数に比例した時間でそれらを実行する効率的です。要素を挿入反復子、無効なし、要素の削除で削除された要素を指すが具体的には、反復子だけを無効にします。
マルチセットのキーと値を関連付けることを条件にする場合の選択肢の連想コンテナー アプリケーションでを満たす必要があります。要素、マルチセットの複数はして、独自の並べ替えキーとして、キーが一意ではないため、サービスを提供します。この種類の構造モデルと、単語の単語が複数回発生する可能性がありますの順序付きリストです。セットは、適切なコンテナー構造体がありますし、単語の複数の出現、できませんされていました。一意の定義は、一意なキーワードの一覧に値として接続されていた場合は、マップこのデータを格納する構造が適切でしょう。代わりに、定義が一意でない場合、マルチマップ選択肢のコンテナーをあります。
マルチセット型のストアド関数オブジェクトを呼び出して制御シーケンスを注文Compare。この格納されているオブジェクトは、メンバー関数を呼び出すことによってアクセスされる比較関数が key_comp。一般に、要素をこの順序を確立する単未満に匹敵する必要: こと 2 つの要素を与え、それが (どちらも、もう一方よりも小さい意味) で同等であるか 1 つ、もう一方よりも小さいです決定可能性があります。これは nonequivalent の要素間の順序で発生します。技術的なメモでは、比較関数は、厳密な弱い標準的な数学的な意味で順序を誘発する 2 項述語です。バイナリ述語 f(x、y) 2 つの引数のオブジェクトが、関数オブジェクトで x と y と戻り値の真 または false。2 項述語は非再帰制約、反、または中間のすべてで、推移的な等価の場合は、場所 2 つのオブジェクトの順序は、厳密な弱いをセットで指定された順序で x と y と同等に定義されている両方 f(x, y) と f(y、x) が false の。強力な条件のキーが等しいの等価交換した場合、順序が (互いを基準に、すべての要素の順序は意味) の合計になり、一致するキーは互いを認識できるようなできません。
コンストラクター
構築、 multisetは空はコピーのすべてまたは部分は、指定したmultiset。 |
Typedef
Typedef は、 allocatorのクラス、 multisetオブジェクト。 |
|
読み取ることができる双方向の反復子の typedef はconst内の要素、 multiset。 |
|
ポインターの typedef をconst内の要素は、 multiset。 |
|
Typedef を参照するには、 constの要素に格納されて、 multiset読み取りおよび実行のconst操作。 |
|
いずれかを読み取ることができる双方向の反復子の typedef const内の要素、 multiset。 |
|
要素の数を符号付き整数 typedef はmultisetでの反復子が指す要素間の範囲内。 |
|
読み取りまたは内の任意の要素を変更できる双方向の反復子の typedef はmultiset。 |
|
2 つの要素の相対的な順序を確認するには、2 つのキーを比較することができます、関数オブジェクトの typedef はmultiset。 |
|
Typedef の内の 2 つの要素の相対的な順序を決定するのには、2 つの並べ替えキーを比較することができます、関数オブジェクト、 multiset。 |
|
内の要素へのポインターの typedef をmultiset。 |
|
Typedef に格納されている要素への参照は、 multiset。 |
|
読み取りまたは要素を逆の双方向の反復子の typedef multiset。 |
|
内の要素の数を表す符号なし整数型は、 multiset。 |
|
2 つの要素の相対的な順序を決定する並べ替えキーとして比較できます、関数オブジェクトの typedef はmultiset。 |
|
要素として格納されるオブジェクトを表す typedef、 multisetで、容量値として。 |
メソッド
最初の要素を指す反復子を返します、 multiset。 |
|
すべての要素を消去するmultiset。 |
|
内の要素の数を返します、 multisetキーに、パラメーターとして指定されたキーと一致します。 |
|
テストの場合は、 multisetが空です。 |
|
後、最後の要素の場所を指す反復子を返します、 multiset。 |
|
1 組の反復子を返します。最初の反復子の最初の要素を指す、ペアで、 multisetは、指定されたキーより大きいキーを持つ。組のポイント内の最初の要素への 2 つ目の反復子、 multisetに等しいか、キーより大きいキーを使用します。 |
|
要素または要素の範囲を削除する、 multisetから、指定した位置または指定したキーに一致する削除要素。 |
|
要素内の最初の位置を指す反復子を返します、 multiset 、キーの等号を指定したキーを持ちます。 |
|
コピーを返します、 allocatorを構築するために使用するオブジェクト、 multiset。 |
|
要素または要素の範囲を挿入、 multiset。 |
|
2 つの要素の相対的な順序を決定する 2 つの並べ替えキーを比較する関数オブジェクトを提供する、 multiset。 |
|
最初の要素に反復子を返します、 multisetと同じまたは、指定されたキーより大きいキーを使用します。 |
|
最大の長さを返します、 multiset。 |
|
逆の最初の要素を指す反復子を返しますmultiset。 |
|
逆の最後の要素を成功の場所を指す反復子を返しますmultiset。 |
|
内の要素の数を返します、 multiset。 |
|
2 つの要素を交換multisets。 |
|
最初の要素に反復子を返します、 multisetは、指定されたキーより大きいキーを使用します。 |
|
順序要素の値にするために使用する比較オブジェクトのコピーを取得するmultiset。 |
必要条件
ヘッダー: <set>
名前空間: std