60 const std::initializer_list<KVPair<K, V>> commandsList { commands... };
61 for (
auto i = commandsList.begin (); i != std::prev (commandsList.end ()); ++i)
62 for (
auto j = std::next (i); j != commandsList.end (); ++j)
63 if (Hasher (i->Key_) == Hasher (j->Key_))
64 throw "duplicate hashes";
66 return [=] (K key, V defValue = V {})
68 const auto keyHash = Hasher (key);
71 (void) ((Hasher (commands.Key_) == keyHash && (result = commands.Val_, foundKey = commands.Key_,
true)) || ...);