次の方法で共有


multimap (STL/CLR)

テンプレート クラスは、オブジェクトを渡してコントロール双方向アクセスできる要素の可変期間シーケンスついて説明します。として要素のシーケンスを管理するためにコンテナー multimap (\)バランスをされましたノードの順序が指定された、ツリー、保存の 1 種類の要素を使用します。要素は、シーケンスを、オーバーライドに進むマップされた値で並べるためのキーで構成されます。

下の説明では GValue はと同じです:

Microsoft::VisualC::StlClr::GenericPair<GKey, GMapped>

それぞれの文字について以下に説明します。

GKey は Key に、 Key^場合、後者は ref 型の場合と同じです

GMapped は Mapped に、 Mapped^場合、後者は ref 型の場合と同じです

template<typename Key,
    typename Mapped>
    ref class multimap
        :   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

multimap::const_iterator (STL/CLR)

被制御シーケンスの定数反復子の型です。

multimap::const_reference (STL/CLR)

要素への定数参照の型です。

multimap::const_reverse_iterator (STL/CLR)

被制御シーケンスの定数反転反復子の型です。

multimap::difference_type (STL/CLR)

2 個の要素間での (おそらく符号付き)間隔の種類。

multimap::generic_container (STL/CLR)

コンテナーのジェネリック インターフェイス型。

multimap::generic_iterator (STL/CLR)

コンテナーのジェネリック インターフェイスの反復子の型。

multimap::generic_reverse_iterator (STL/CLR)

コンテナーのジェネリック インターフェイスの反転反復子の型。

multimap::generic_value (STL/CLR)

コンテナーのジェネリック インターフェイスの要素の型。

multimap::iterator (STL/CLR)

被制御シーケンスの反復子の型です。

multimap::key_compare (STL/CLR)

2 種類のキーの命令のデリゲート。

multimap::key_type (STL/CLR)

順序付けキーの型です。

multimap::mapped_type (STL/CLR)

マップされた値の型は、各キーに関連付けられた

multimap::reference (STL/CLR)

要素への参照の型です。

multimap::reverse_iterator (STL/CLR)

被制御シーケンスの反転反復子の型です。

multimap::size_type (STL/CLR)

2 個の要素間で、 (負の)間隔の種類。

multimap::value_compare (STL/CLR)

2 要素の値の命令のデリゲート。

multimap::value_type (STL/CLR)

要素の型。

メンバー関数

Description

multimap::begin (STL/CLR)

被制御シーケンスの先頭を指定します。

multimap::clear (STL/CLR)

すべての要素を削除します。

multimap::count (STL/CLR)

指定したキーに一致する要素数をカウントします。

multimap::empty (STL/CLR)

要素が存在しないかどうかをテストします。

multimap::end (STL/CLR)

被制御シーケンスの末尾を指定します。

multimap::equal_range (STL/CLR)

指定したキーに一致する範囲を検索します。

multimap::erase (STL/CLR)

指定した位置にある要素を削除します。

multimap::find (STL/CLR)

指定したキーに一致する要素を検索します。

multimap::insert (STL/CLR)

要素を追加します。

multimap::key_comp (STL/CLR)

2 種類のキーの命令のデリゲートをコピーします。

multimap::lower_bound (STL/CLR)

指定したキーに一致する範囲の開始を検索します。

multimap::make_value (STL/CLR)

値オブジェクトを構築します。

multimap::multimap (STL/CLR)

コンテナー オブジェクトを構築します。

multimap::rbegin (STL/CLR)

反転被制御シーケンスの先頭を指定します。

multimap::rend (STL/CLR)

反転被制御シーケンスの末尾を指定します。

multimap::size (STL/CLR)

要素の数をカウントします。

multimap::swap (STL/CLR)

2 つのコンテナーのコンテンツを交換します。

multimap::to_array (STL/CLR)

新しい配列に被制御シーケンスのコピー。

multimap::upper_bound (STL/CLR)

指定したキーに一致する範囲の最後を検索します。

multimap::value_comp (STL/CLR)

2 要素の値の命令のデリゲートをコピーします。

[演算子]

Description

multimap::operator= (STL/CLR)

被制御シーケンスを置き換えます。

operator!= (multimap) (STL/CLR)

multimap のオブジェクトが multimap の別のオブジェクトと等しくないかどうかを判定します。

operator< (multimap) (STL/CLR)

かどうか multimap のオブジェクトの次の値よりも小さい multimap の別のオブジェクトを判定します。

operator<= (multimap) (STL/CLR)

かどうか multimap のオブジェクトの次の値 multimap 次の別のオブジェクトを判定します。

operator== (multimap) (STL/CLR)

multimap のオブジェクトが multimap の別のオブジェクトと等しいかどうかを判定します。

operator> (multimap) (STL/CLR)

かどうか multimap のオブジェクトより大きい multimap の別のオブジェクトを判定します。

operator>= (multimap) (STL/CLR)

かどうか multimap のオブジェクトを複数 multimap の別のオブジェクトを判定します。

インターフェイス

Interface

Description

ICloneable

オブジェクトを複製します。

IEnumerable

要素によるシーケンス。

ICollection

要素のグループを保持します。

IEnumerable<T>

入力された要素によるシーケンス。

ICollection<T>

入力された要素のグループを保持します。

ITree<キー、値>

ジェネリック コンテナーを保持します。

解説

オブジェクトは、個々のノードとして被制御シーケンスに対するストレージの割り当ておよび解放。これは、に別のに 1 ノードの内容をコピーして要素を (\)は分散を実行しません。ノード間のリンクの変更によって注文しておくツリーの、挿入されません。これが遅延の残りの要素を除いた要素を自由に挿入および削除できることを意味します。

オブジェクトに格納されたデリゲート オブジェクトの型 multimap::key_compare (STL/CLR)を呼び出すことによって制御されるシーケンスの順序を指定します。multimap を構築するときに格納されたデリゲート オブジェクトを指定します; デリゲート オブジェクトを指定しない場合、既定値は比較 operator<(key_type, key_type)です。メンバー関数 multimap::key_comp (STL/CLR)()を呼び出すことで、その保存されたオブジェクトにアクセスします。

このようなデリゲート オブジェクトはキーの型 multimap::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。(既定のデリゲート オブジェクトのキーは値では減りません)。テンプレート クラス map (STL/CLR)とは異なり、テンプレート クラス multimap のオブジェクトはすべての要素のキーは一意である必要はありません。(複数のは、キーの順序がと同じである場合があります)。

各要素は、別のキーとマップされた値を含みます。このシーケンスは、 (対数の時間)の要素の数の対数に比例した多数の操作を、任意の要素の割り当て参照、挿入、および削除の方法で表されます。要素を挿入しても反復子の有効性は失われません。また、要素を削除した場合は、削除された要素を指す反復子だけが無効化されます。

multimap は、メジャーが被制御シーケンスの要素を指定する反復子を持つ隣接する要素にステップ インできる双方向反復子がサポートされています。特別な先頭ノードは multimap::end (STL/CLR)()によって返される反復子に対応します。存在する場合は、被制御シーケンスの最後の要素にアクセスするには、この反復子を短縮できます。ヘッド ノードにアクセスするために multimap の反復子をインクリメントし end()に、等号を比較します。ただし、 end()によって返される反復子を逆参照できません。

数値直接的な位置がある multimap の要素を参照できないことに注意してください。 -- これはランダム アクセス反復子が必要です。

multimap の反復子は、関連するコンテナーに、ハンドルを格納する関連付けられた multimap ノードへのハンドルを格納します。関連するコンテナー オブジェクトでのみ反復子を使用できます。multimap の反復子は、関連付けられた multimap ノードが multimap に関連付けられている限り有効です。また、有効な反復子は dereferencable。 -- 指定する要素の値にアクセスまたは変更するために使用できます -- これが end()と異なる場合。

要素を無効にしたり、削除して格納される値のデストラクターをダイヤルします。コンテナーを破棄するにはすべての要素を消去します。したがって、要素の型が ref クラスであるコンテナー要素はコンテナーが重視されることを確認します。ただし、ハンドルのコンテナーが not の要素を破棄するメモ。

必要条件

ヘッダー: <cliext/マップ>

名前空間: の cliext

参照

関連項目

hash_map (STL/CLR)

hash_multimap (STL/CLR)

hash_multiset (STL/CLR)

hash_set (STL/CLR)

map (STL/CLR)

multiset (STL/CLR)

set (STL/CLR)

その他の技術情報

STL/CLR ライブラリ リファレンス