concept HashMap = requires(T type) {
{type.begin()};
{type.end()};
{type.first};
{type.second};
{type.bucket()};
{type.rehash};
{type.operator[]()};
{type.reserve()};
};
лучше не делать никакой
Если нужен в точности unordered_map, то лучше сделать через специализацию. Если нужен какой-то определенный набор операций - их и записать. В любом случае нужно сначала ответить себе на вопрос "что именно должен определять этот концепт?"
я просто тренируюсь, пока нет определенной цели. Например, сделал концепт для Array,is_array_v. Ну это просто
Не совсем вас понял. Через какую специализацию?
Этот концепт должен исключать все кроме unordered_map
тогда чем не подходит std::unordered_map<T, U>?
Для unordered_map, просто ее методы Для хешмапы никак, так как главные свойства хешмапы, find/insert/remove за O(1), ну и в концептах это не выражается
Ну может быть другая реализация обладающая нужным интерфейс, я правда не очень понимаю зачем тут концепт в общем случае, но если хочется почему нет
читайте дальше там дали наиболее корректный ответ
Да, уже прочитал, там вопрос в вопросе скорее)
Обсуждают сегодня