This PR adds heterogeneous lookup for unordered containers(set,map). Now you can search for another type in 2 ways:
Use special find (and other functions) signature and pass hash and equal functions.
Create a container with heterogenous frozen::elsa<> and std::equal_to<>.
To my surprise, ordered map already have heterogeneous lookup, but I don’t understand why there are such overcomplications from my point of view as CompareKey. I think we need to refactor this and add a lookup for set separately.
This PR adds heterogeneous lookup for unordered containers(set,map). Now you can search for another type in 2 ways:
find
(and other functions) signature and pass hash and equal functions.frozen::elsa<>
andstd::equal_to<>
.To my surprise, ordered map already have heterogeneous lookup, but I don’t understand why there are such overcomplications from my point of view as
CompareKey
. I think we need to refactor this and add a lookup forset
separately.