Какова цель equal_to<Key>
функция в boost :: unordered_multimap?
В документации сказано, чтобы определить, являются ли два ключа одинаковыми, но не совсем понятно для меня.
Я думаю, что с помощью функции equal_range
с клавишей ввода К, он получит ключ пар, значение, которые проиндексированы в соответствующем сегменте, но также ключи которого совпадают с К в соответствии с equal_to<key>
функция.
Пожалуйста, поправьте меня, если я ошибаюсь.
typename Hash = boost::hash<Key>
Параметр шаблона используется для хеширования ключей для распределения записей в хеш-таблице. Однако несколько ключей могут иметь одно и то же значение хеша (коллизия). Вот почему вам также нужно typename Pred = std::equal_to<Key>
: найти соответствующий ключ, если он есть, среди всех записей, ключи которых хэшированы на одно и то же значение.