-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
<flat_map>
: Various cleanups and bug fixes
#4468
Merged
StephanTLavavej
merged 8 commits into
microsoft:feature/flat_map
from
frederick-vs-ja:flat_map-fix-4
Mar 13, 2024
Merged
<flat_map>
: Various cleanups and bug fixes
#4468
StephanTLavavej
merged 8 commits into
microsoft:feature/flat_map
from
frederick-vs-ja:flat_map-fix-4
Mar 13, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Eliminate redundant parentheses. - Use `it[-1]` instead of `*(it - 1)`. - Add some `const`. Not yet to iterators due to moving. - Eliminate most `if {/*...*/ return; } else {/*...*/}`, except when returning `end()`/`cend()` in `else`.
Also fix iterator dereferencing in insertion
- `lower_bound` - `upper_bound` - `lexicographical_compare_three_way`
- Inspect the return value of `erase_if` - Show different effects of insertion for different containers - Extract `conditional_t` - Test SCARY-ness for various containers (including `deque`)
frederick-vs-ja
commented
Mar 11, 2024
StephanTLavavej
approved these changes
Mar 13, 2024
Thanks, this is great! I went ahead and merged this, with a few comments for followup. 😻 🥞 🗺️ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Towards #2910. Addresses review comments in #4337 and #4386.
Style cleanups:
it[-1]
instead of*(it - 1)
.const
. Not yet to iterators due to moving.if {/*...*/ return; } else {/*...*/}
, except when returningend()
/cend()
inelse
.Bug fixes:
distance
on non-forward input iterators.Drive-by consistency changes:
allocator<byte>
conditionally present, which is consistent withpolymorphic_allocator
. The behavior should be unchanged (modulo the existence ofbyte
) when__cpp_lib_byte
is not defined.Performance improvements:
_Hint_is_accurate
._Key_equal
afterlower_bound
.lower_bound
,upper_bound
, andlexicographical_compare_three_way
).Test changes:
erase_if
.conditional_t
.deque
).