Выберите другую хэш-функцию в классе шаблона, если параметр шаблона — std::pair [дубликат] ⇐ C++
Выберите другую хэш-функцию в классе шаблона, если параметр шаблона — std::pair [дубликат]
Я пытаюсь использовать свою собственную реализацию признака типа, которая проверяет, является ли тип std::pair или нет, чтобы определить, какую хеш-функцию использовать в контейнере. Вот радикально упрощенная версия кода (не обращайте внимания на фиктивную реализацию хеш-функции и контейнера):
#include #include #include #include #include шаблон структура is_pair: std::false_type { }; шаблон struct is_pair : std::true_type { }; шаблон структура PairHash { std::size_t оператор()(const std::pair& v) const { return 7 * v.первый + 11 * v.второй; } }; шаблон класс Контейнер { публика: TKey key_val{}; std::size_t ComputeHash() { вернуть THash()(key_val); } }; интервал основной() { static_assert(is_pair::value, "Это пара"); static_assert(!is_pair::value, "Это не пара"); // Ошибка компиляции, поскольку int32_t интерпретируется как тип std::pair // Контейнер контейнер; // std::cout
Я пытаюсь использовать свою собственную реализацию признака типа, которая проверяет, является ли тип std::pair или нет, чтобы определить, какую хеш-функцию использовать в контейнере. Вот радикально упрощенная версия кода (не обращайте внимания на фиктивную реализацию хеш-функции и контейнера):
#include #include #include #include #include шаблон структура is_pair: std::false_type { }; шаблон struct is_pair : std::true_type { }; шаблон структура PairHash { std::size_t оператор()(const std::pair& v) const { return 7 * v.первый + 11 * v.второй; } }; шаблон класс Контейнер { публика: TKey key_val{}; std::size_t ComputeHash() { вернуть THash()(key_val); } }; интервал основной() { static_assert(is_pair::value, "Это пара"); static_assert(!is_pair::value, "Это не пара"); // Ошибка компиляции, поскольку int32_t интерпретируется как тип std::pair // Контейнер контейнер; // std::cout
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Android реализует объекты Parcelable с хэш-картой, которая содержит другую хэш-карту
Anonymous » » в форуме Android - 0 Ответы
- 128 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Android реализует объекты Parcelable с хэш-картой, которая содержит другую хэш-карту
Anonymous » » в форуме JAVA - 0 Ответы
- 34 Просмотры
-
Последнее сообщение Anonymous
-