The "old" STL does not allow say std::find
to be specialized to use the member functions for std::set
or std::unordered_map
, etc. It cannot, since the former use iterators, the latter need the containers, and from iterators there are no means to get the containers. There is even a question about that (Specializing STL algorithms so they automatically call efficient container member functions when available).
Since Range V3 finally moves the focus from iterators to ranges, one could expect that finally std::find
would be specialized automatically for std::set
, which in turn makes std::none_of_equal
(if it were adopted) do what you'd like, etc.
However, reading its currently implementation, I see no provision for such a feature. Why?