hash_multimap:
ハッシュ表による、keyの重複を許す辞書。
#include <cliext/hash_map>
using namespace System;
using namespace cliext;
int main() {
hash_multimap<int,String^> h;
array<String^>^ en = { L"zero", L"one", L"two", L"three" };
array<String^>^ ja = { L"れい", L"いち", L"に", L"さん" };
array<String^>^ ch = { L"零", L"壱", L"弐", L"参" };
for ( int i = 0; i < 4; ++i ) {
h.insert(pair<int,String^>(i, en[i]));
h.insert(pair<int,String^>(i, ja[i]));
h.insert(pair<int,String^>(i, ch[i]));
}
// for each で列挙されるのは key と value の pair
for each ( hash_multimap<int,String^>::value_type item in h ) {
Console::WriteLine(L"{0}:{1} ", item->first, item->second);
}
// コンテナ内の 1 を列挙
typedef hash_multimap<int,String^>::iterator iterator;
for ( pair<iterator,iterator> range = h.equal_range(1);
range.first != range.second; ++range.first ) {
Console::WriteLine(L"({0}:{1})",
range.first->first, range.first->second);
}
return 0;
}