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