hash_multimap::hash_multimap (STL/CLR)
コンテナー オブジェクトを構築します。
hash_multimap();
explicit hash_multimap(key_compare^ pred);
hash_multimap(key_compare^ pred, hasher^ hashfn);
hash_multimap(hash_multimap<Key, Mapped>% right);
hash_multimap(hash_multimap<Key, Mapped>^ right);
template<typename InIter>
hash_multimaphash_multimap(InIter first, InIter last);
template<typename InIter>
hash_multimap(InIter first, InIter last,
key_compare^ pred);
template<typename InIter>
hash_multimap(InIter first, InIter last,
key_compare^ pred, hasher^ hashfn);
hash_multimap(System::Collections::Generic::IEnumerable<GValue>^ right);
hash_multimap(System::Collections::Generic::IEnumerable<GValue>^ right,
key_compare^ pred);
hash_multimap(System::Collections::Generic::IEnumerable<GValue>^ right,
key_compare^ pred, hasher^ hashfn);
パラメーター
まず
挿入する範囲の先頭。hashfn
バケットへのキーを割り当てるためのハッシュ関数。last
挿入する範囲の最後。pred
被制御シーケンスの命令の述語。[right]
挿入するオブジェクトまたは範囲。
解説
次のコンストラクターを見てください。
hash_multimap();
要素なし、既定の命令の述語 key_compare()と、既定のハッシュ関数と被制御シーケンスを初期化します。既定の命令の述語、ハッシュ関数の空の初期被制御シーケンスを指定する場合に使用します。
次のコンストラクターを見てください。
explicit hash_multimap(key_compare^ pred);
要素なし、命令の述語 predと、既定のハッシュ関数と被制御シーケンスを初期化します。指定した命令の述語、既定のハッシュ関数の空の初期被制御シーケンスを指定する場合に使用します。
次のコンストラクターを見てください。
hash_multimap(key_compare^ pred, hasher^ hashfn);
要素なし、命令の述語 predと、ハッシュ関数 hashfnと被制御シーケンスを初期化します。指定した命令の述語、ハッシュ関数の空の初期被制御シーケンスを指定する場合に使用します。
次のコンストラクターを見てください。
hash_multimap(hash_multimap<Key, Mapped>% right);
シーケンス [right.hash_multimap::begin (STL/CLR)(),right.hash_multimap::end (STL/CLR)())の、既定の命令の述語と、既定のハッシュ関数の被制御シーケンスを初期化します。既定の命令の述語、ハッシュ関数の hash_multimap のオブジェクト rightによって、制御されるシーケンスのコピーである最初の被制御シーケンスを指定する場合に使用します。
次のコンストラクターを見てください。
hash_multimap(hash_multimap<Key, Mapped>^ right);
シーケンス [right->hash_multimap::begin (STL/CLR)(),right->hash_multimap::end (STL/CLR)())の、既定の命令の述語と、既定のハッシュ関数の被制御シーケンスを初期化します。既定の命令の述語、ハッシュ関数の hash_multimap のオブジェクト rightによって、制御されるシーケンスのコピーである最初の被制御シーケンスを指定する場合に使用します。
次のコンストラクターを見てください。
template<typename InIter>
hash_multimap(InIter first, InIter last);
シーケンス [first,last)の、既定の命令の述語と、既定のハッシュ関数の被制御シーケンスを初期化します。既定の命令の述語、ハッシュ関数の別のシーケンスの被制御シーケンスにコピーを、作成に使用されます。
次のコンストラクターを見てください。
template<typename InIter>
hash_multimap(InIter first, InIter last,
key_compare^ pred);
シーケンス [first,last)の、命令の述語の predと、既定のハッシュ関数の被制御シーケンスを初期化します。指定した命令の述語、既定のハッシュ関数の別のシーケンスの被制御シーケンスにコピーを、作成に使用されます。
次のコンストラクターを見てください。
template<typename InIter>
hash_multimap(InIter first, InIter last,
key_compare^ pred, hasher^ hashfn);
シーケンス [first,last)の、命令の述語の pred、ハッシュ関数 hashfnの被制御シーケンスを初期化します。指定した命令の述語、ハッシュ関数の別のシーケンスの被制御シーケンスにコピーを、作成に使用されます。
次のコンストラクターを見てください。
hash_multimap(System::Collections::Generic::IEnumerable<Key>^ right);
列挙子が right、既定の命令の述語で指定すると、シーケンス、と既定のハッシュ関数の被制御シーケンスを初期化します。既定の命令の述語、ハッシュ関数の列挙子が、説明する別のシーケンスの被制御シーケンスにコピーを作成するときに使用します。
次のコンストラクターを見てください。
hash_multimap(System::Collections::Generic::IEnumerable<Key>^ right,
key_compare^ pred);
列挙子が right、命令の述語 predを指定すると、シーケンスの既定のハッシュ関数の被制御シーケンスを初期化します。指定した命令の述語、既定のハッシュ関数の列挙子が、説明する別のシーケンスの被制御シーケンスにコピーを作成するときに使用します。
次のコンストラクターを見てください。
hash_multimap(System::Collections::Generic::IEnumerable<Key>^ right,
key_compare^ pred, hasher^ hashfn);
列挙子が right、命令の述語 predを指定すると、シーケンスのハッシュ関数 hashfnの被制御シーケンスを初期化します。指定した命令の述語、ハッシュ関数の列挙子が、説明する別のシーケンスの被制御シーケンスにコピーを作成するときに使用します。
使用例
// cliext_hash_multimap_construct.cpp
// compile with: /clr
#include <cliext/hash_map>
int myfun(wchar_t key)
{ // hash a key
return (key ^ 0xdeadbeef);
}
typedef cliext::hash_multimap<wchar_t, int> Myhash_multimap;
int main()
{
// construct an empty container
Myhash_multimap c1;
System::Console::WriteLine("size() = {0}", c1.size());
c1.insert(Myhash_multimap::make_value(L'a', 1));
c1.insert(Myhash_multimap::make_value(L'b', 2));
c1.insert(Myhash_multimap::make_value(L'c', 3));
for each (Myhash_multimap::value_type elem in c1)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// construct with an ordering rule
Myhash_multimap c2 = cliext::greater_equal<wchar_t>();
System::Console::WriteLine("size() = {0}", c2.size());
c2.insert(c1.begin(), c1.end());
for each (Myhash_multimap::value_type elem in c2)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// construct with an ordering rule and hash function
Myhash_multimap c2h(cliext::greater_equal<wchar_t>(),
gcnew Myhash_multimap::hasher(&myfun));
System::Console::WriteLine("size() = {0}", c2h.size());
c2h.insert(c1.begin(), c1.end());
for each (Myhash_multimap::value_type elem in c2h)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
System::Console::WriteLine();
// construct with an iterator range
Myhash_multimap c3(c1.begin(), c1.end());
for each (Myhash_multimap::value_type elem in c3)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// construct with an iterator range and an ordering rule
Myhash_multimap c4(c1.begin(), c1.end(),
cliext::greater_equal<wchar_t>());
for each (Myhash_multimap::value_type elem in c4)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// construct with an iterator range and an ordering rule and hash function
Myhash_multimap c4h(c1.begin(), c1.end(),
cliext::greater_equal<wchar_t>(),
gcnew Myhash_multimap::hasher(&myfun));
for each (Myhash_multimap::value_type elem in c4h)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
System::Console::WriteLine();
// construct with an enumeration
Myhash_multimap c5( // NOTE: cast is not needed
(System::Collections::Generic::IEnumerable<
Myhash_multimap::value_type>^)%c3);
for each (Myhash_multimap::value_type elem in c5)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// construct with an enumeration and an ordering rule
Myhash_multimap c6( // NOTE: cast is not needed
(System::Collections::Generic::IEnumerable<
Myhash_multimap::value_type>^)%c3,
cliext::greater_equal<wchar_t>());
for each (Myhash_multimap::value_type elem in c6)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// construct with an enumeration and an ordering rule and hash function
Myhash_multimap c6h( // NOTE: cast is not needed
(System::Collections::Generic::IEnumerable<
Myhash_multimap::value_type>^)%c3,
cliext::greater_equal<wchar_t>(),
gcnew Myhash_multimap::hasher(&myfun));
for each (Myhash_multimap::value_type elem in c6h)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
System::Console::WriteLine();
// construct by copying another container
Myhash_multimap c7(c4);
for each (Myhash_multimap::value_type elem in c7)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// construct by copying a container handle
Myhash_multimap c8(%c3);
for each (Myhash_multimap::value_type elem in c8)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
return (0);
}
必要条件
ヘッダー: <cliext/hash_map>
名前空間: の cliext