Hashing concept on A and B key

This commit is contained in:
2026-01-21 09:50:18 +02:00
parent 7405e91874
commit 2556a473cc
2 changed files with 4 additions and 3 deletions

View File

@@ -8,16 +8,17 @@
*/
#ifndef GUARD_TOURMALINE_DUALKEYMAP_H
#define GUARD_TOURMALINE_DUALKEYMAP_H
#include "Hashing.hpp"
#include <cstddef>
#include <cstdint>
#include <vector>
namespace Tourmaline::Containers {
template <typename AKey, typename BKey, typename Value,
template <Hashable AKey, Hashable BKey, typename Value,
uint64_t baseReservation = 1024,
float reservationGrowthExponent = 1.5>
class DualkeyMap {
constexpr static uint64_t EmptyKey = -1;
DualkeyMap() {
ValueList.reserve(baseReservation);
HashList.reserve(baseReservation);

View File

@@ -14,7 +14,7 @@
namespace Tourmaline::Containers {
template <typename T>
concept hashable = requires(T x) {
concept Hashable = requires(T x) {
{ std::hash<T>{x}() } -> std::convertible_to<std::size_t>;
};
} // namespace Tourmaline::Containers