The hash_map documentation that you are referencing indicates that you can provide your own feature class as the third parameter to the template. This should match the same interface as hash_compare .
Scanning documents, I think you need to do this, which basically replaces the use StringComparer.OrdinalIgnoreCaseyou had in your dictionary:
struct my_hash_compare {
const size_t bucket_size = 4;
const size_t min_buckets = 8;
size_t operator()(const LPCWSTR &Key) const {
}
bool operator()(const LPCWSTR &Key1, const LPCWSTR &Key2) const {
return _wcsicmp(Key1, Key2) < 0;
}
};
, , , , ++. MS , hash_map , operator==. , , if my_hash_compare()(a,b) , my_hash_compare()(b,a) - false, a == b. , , , .
, , , , , . , . Unicode , . , → → , → - , . -?
, , , , , LPCWSTR . , , , , , , , , hash_map. , hash_map , insert, wstring .