<flat_map>
: Fix ordering in insertion and access control in construction
#4828
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 the FIXME in #4778. Fixes #4779.
For insertion, WG21-N4981 [associative.reqmts.general]/68 and /72 are fully specifying the order of results. So
insert
without hint should insert at the upper bound, and three-way comparison result should be used in hinted insertion to determine whetherlower_bound
orupper_bound
should be used.In construction, the
_Other
is cast to references to_Flat_map_base
to retrieve the correct access control.Drive-by: remove occurrences of the
_NODISCARD_FRIEND
workaround, following up #4782.