<flat_map>: Remove zip_view dependency and other cleanups
#4315
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Addresses #4056, towards #2910, enabling
flat_map(and, possibly, yet-to-implementflat_multimap) for permissive modes.Other cleanups in the product code:
typeto_Iterator, as they are not transforming type traits._STDfor trait variable templates.autofor iterators obtained frombegin()etc.._STL_INTERNAL_STATIC_ASSERTfor invariants maintained by implementations that should never be violated.Other cleanups in the test:
std::.return 0;inmain()._Is_specialization_v.remove_cvref_t<T&&>is always same asremove_cvref_t<T>.maptofmapas these variables are unrelated tostd::map.The current implementation is not SCARY enough, e.g. the iterator types may still depend on allocator types (modulo possibly fancy pointers). I'll change this in another PR.