multiset (STL/CLR)
テンプレート クラスは、オブジェクトを渡してコントロール双方向アクセスできる要素の可変期間シーケンスついて説明します。として要素のシーケンスを管理するためにコンテナー multiset (\)バランスをされましたノードの順序が指定された、ツリー、保存の 1 種類の要素を使用します。
下の説明では GValue は GKeyに、 Key^場合、後者は ref 型の場合 Key と同じである同じです。
template<typename Key>
ref class multiset
: public
System::ICloneable,
System::Collections::IEnumerable,
System::Collections::ICollection,
System::Collections::Generic::IEnumerable<GValue>,
System::Collections::Generic::ICollection<GValue>,
System::Collections::Generic::IList<GValue>,
Microsoft::VisualC::StlClr::ITree<Gkey, GValue>
{ ..... };
パラメーター
- Key
被制御シーケンス内の要素のキー コンポーネントの型。
メンバー
型定義 |
Description |
---|---|
被制御シーケンスの定数反復子の型です。 |
|
要素への定数参照の型です。 |
|
被制御シーケンスの定数反転反復子の型です。 |
|
2 個の要素間での (おそらく符号付き)間隔の種類。 |
|
コンテナーのジェネリック インターフェイス型。 |
|
コンテナーのジェネリック インターフェイスの反復子の型。 |
|
コンテナーのジェネリック インターフェイスの反転反復子の型。 |
|
コンテナーのジェネリック インターフェイスの要素の型。 |
|
被制御シーケンスの反復子の型です。 |
|
2 種類のキーの命令のデリゲート。 |
|
順序付けキーの型です。 |
|
要素への参照の型です。 |
|
被制御シーケンスの反転反復子の型です。 |
|
2 個の要素間で、 (負の)間隔の種類。 |
|
2 要素の値の命令のデリゲート。 |
|
要素の型。 |
メンバー関数 |
Description |
---|---|
被制御シーケンスの先頭を指定します。 |
|
すべての要素を削除します。 |
|
指定したキーに一致する要素数をカウントします。 |
|
要素が存在しないかどうかをテストします。 |
|
被制御シーケンスの末尾を指定します。 |
|
指定したキーに一致する範囲を検索します。 |
|
指定した位置にある要素を削除します。 |
|
指定したキーに一致する要素を検索します。 |
|
要素を追加します。 |
|
2 種類のキーの命令のデリゲートをコピーします。 |
|
指定したキーに一致する範囲の開始を検索します。 |
|
値オブジェクトを構築します。 |
|
コンテナー オブジェクトを構築します。 |
|
反転被制御シーケンスの先頭を指定します。 |
|
反転被制御シーケンスの末尾を指定します。 |
|
要素の数をカウントします。 |
|
2 つのコンテナーのコンテンツを交換します。 |
|
新しい配列に被制御シーケンスのコピー。 |
|
指定したキーに一致する範囲の最後を検索します。 |
|
2 要素の値の命令のデリゲートをコピーします。 |
[演算子] |
Description |
---|---|
被制御シーケンスを置き換えます。 |
|
multiset のオブジェクトが multiset の別のオブジェクトと等しくないかどうかを判定します。 |
|
かどうか multiset のオブジェクトの次の値よりも小さい multiset の別のオブジェクトを判定します。 |
|
かどうか multiset のオブジェクトの次の値 multiset 次の別のオブジェクトを判定します。 |
|
multiset のオブジェクトが multiset の別のオブジェクトと等しいかどうかを判定します。 |
|
かどうか multiset のオブジェクトより大きい multiset の別のオブジェクトを判定します。 |
|
かどうか multiset のオブジェクトを複数 multiset の別のオブジェクトを判定します。 |
インターフェイス
Interface |
Description |
---|---|
オブジェクトを複製します。 |
|
要素によるシーケンス。 |
|
要素のグループを保持します。 |
|
入力された要素によるシーケンス。 |
|
入力された要素のグループを保持します。 |
|
ITree<キー、値> |
ジェネリック コンテナーを保持します。 |
解説
オブジェクトは、個々のノードとして被制御シーケンスに対するストレージの割り当ておよび解放。これは、に別のに 1 ノードの内容をコピーして要素を (\)は分散を実行しません。ノード間のリンクの変更によって注文しておくツリーの、挿入されません。これが遅延の残りの要素を除いた要素を自由に挿入および削除できることを意味します。
オブジェクトに格納されたデリゲート オブジェクトの型 multiset::key_compare (STL/CLR)を呼び出すことによって制御されるシーケンスの順序を指定します。マルチセットを構築するときに格納されたデリゲート オブジェクトを指定します; デリゲート オブジェクトを指定しない場合、既定値は比較 operator<(key_type, key_type)です。メンバー関数 multiset::key_comp (STL/CLR)()を呼び出すことで、その保存されたオブジェクトにアクセスします。
このようなデリゲート オブジェクトはキーの型 multiset::key_type (STL/CLR)に厳密弱順序を設定する必要があります。そのいずれかの 2 種類のキー X と Yのメジャー、:
key_comp()(X, Y) は、呼び出しの同じブール型の結果を返します。
key_comp()(X, Y) が true の場合、 key_comp()(Y, X) は false である必要があります。
key_comp()(X, Y) が true の場合、 X は Yの前に順序付けされた " と表現されます。
!key_comp()(X, Y) && !key_comp()(Y, X) が true の場合、の順序がと同じであると X と Y は呼ばれます。
被制御シーケンスの Y を指定する要素 X については、 key_comp()(Y, X) は FALSE。(既定のデリゲート オブジェクトのキーは値では減りません)。テンプレート クラス set (STL/CLR)とは異なり、テンプレート クラス multiset のオブジェクトはすべての要素のキーは一意である必要はありません。(複数のは、キーの順序がと同じである場合があります)。
各要素は ey と値として動作します。このシーケンスは、 (対数の時間)の要素の数の対数に比例した多数の操作を、任意の要素の割り当て参照、挿入、および削除の方法で表されます。要素を挿入しても反復子の有効性は失われません。また、要素を削除した場合は、削除された要素を指す反復子だけが無効化されます。
マルチセットは、メジャーが被制御シーケンスの要素を指定する反復子を持つ隣接する要素にステップ インできる双方向反復子がサポートされています。特別な先頭ノードは multiset::end (STL/CLR)()によって返される反復子に対応します。存在する場合は、被制御シーケンスの最後の要素にアクセスするには、この反復子を短縮できます。ヘッド ノードに到達するにマルチセットの反復子をインクリメントし end()に、等号を比較します。ただし、 end()によって返される反復子を逆参照できません。
数値直接的な場所ですマルチセットの要素を参照できないことに注意してください。 -- これはランダム アクセス反復子が必要です。
マルチセットの反復子は、関連するコンテナーに、ハンドルを格納する関連のマルチセット ノードへのハンドルを格納します。関連するコンテナー オブジェクトでのみ反復子を使用できます。マルチセットの反復子は、関連付けられたマルチセット ノードがマルチセットに関連付けられている限り有効です。また、有効な反復子は dereferencable。 -- 指定する要素の値にアクセスまたは変更するために使用できます -- これが end()と異なる場合。
要素を無効にしたり、削除して格納される値のデストラクターをダイヤルします。コンテナーを破棄するにはすべての要素を消去します。したがって、要素の型が ref クラスであるコンテナー要素はコンテナーが重視されることを確認します。ただし、ハンドルのコンテナーが not の要素を破棄するメモ。
必要条件
ヘッダー: <cliext と設定>
名前空間: の cliext