P0429R9 <flat_map> and P1222R4 <flat_set>#6071
Open
StephanTLavavej wants to merge 258 commits intomicrosoft:mainfrom
Open
P0429R9 <flat_map> and P1222R4 <flat_set>#6071StephanTLavavej wants to merge 258 commits intomicrosoft:mainfrom
<flat_map> and P1222R4 <flat_set>#6071StephanTLavavej wants to merge 258 commits intomicrosoft:mainfrom
Conversation
Merge `main` to `feature/flat_set`
Merge `main` to `feature/flat_set`
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
Merge `main` to `feature/flat_set`
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
Merge `main` to `feature/flat_set`
…ft#4079) Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
This was damaged like `__cpp_lib_containers_ranges` was.
…re-test-macro-test Merge `main` to `feature/flat_set`, fix `__cpp_lib_flat_set` test
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net> Co-authored-by: Jakub Mazurkiewicz <mazkuba3@gmail.com>
…iterator (microsoft#4132) Co-authored-by: Casey Carter <cartec69@gmail.com>
…i)set` (microsoft#4148) Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
…range constructors (microsoft#4156)
Merge `main` to `feature/flat_set`
Merge `main` to `feature/flat_set`
Conflict in tests/std/tests/include_each_header_alone_matrix.lst, manually merged main's star removal with the addition of flat_set.
Merge `main` to `feature/flat_set`
Merge `main` to `feature/flat_map`
…e, use arithmetic for random access iterators (microsoft#6001) Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
…plify visualizer for `flat_map` (microsoft#6015)
…ch when calling `ranges::remove_if` from `flat_map::erase_if` (microsoft#6017) Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
…ce for usual types (microsoft#6024) Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
…-i-expect-you-to-merge Merge `main` to `feature/flat_map`, update tests
…and unwrapping more consistent with the rest of standard library (microsoft#6035) Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
…, test more ctors (microsoft#6040)
…sized equivalence (microsoft#6042)
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
…e-merge Merge `main` to `feature/flat_map`
This file contains hidden or 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
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.
<flat_map>#2910.<flat_set>#2912.This is the final merge of our extremely long-running
feature/flat_mapbranch (which absorbedfeature/flat_set) intomain.Thanks to all of our amazing contributors who worked on this over the years. I believe the exhaustive list is: @achabense @AlexGuteniev @CaseyCarter @duanqn @duckdoom5 @frederick-vs-ja @JMazurkiewicz @Nerixyz @Saalvage @seishun @vmichal
I counted 85 nontrivial PRs that went into this, starting in June 2023. There were an additional 57 PRs that were marked as unchartedExcluded from the Status Chart
because they were merging
maininto the feature branch, generally with unremarkable merge conflict resolutions.Click to expand significant PRs:
<flat_set>#3817<flat_set>: Fixerase_ifforflat_set/flat_multiset#3833<flat_set>: Drop#pragma once#3902<flat_set>#3993maintofeature/flat_set#4018<flat_set>#4019flat_set#4034flat_set#4050<flat_set>#4064<flat_set>: the copy/move functions should be user-defined #4079<flat_set>: Test transparent insertion and more #4084maintofeature/flat_set, fix__cpp_lib_flat_settest #4112<flat_set>:flat_(multi)set'siteratortype should be constant iterator #4132<flat_set>: Correct allocator-extended constructors forflat_(multi)set#4148<flat_set>: Restore insertion inflat_(multi)set's iterator-pair/range constructors #4156<flat_map>: Removezip_viewdependency and other cleanups #4315<flat_map>: Fix overloads and complete deduction guides anderase_if, with cleanups #4337<flat_map>Fix compile errors #4344maintofeature/flat_map#4368maintofeature/flat_set#4369<flat_map>: Re-enable/permissivewith miscellaneous fixes and test coverage #4386<flat_map>: Various cleanups and bug fixes #4468<flat_map>: flat_multimap construction test #4566<flat_map>: moreflat_multimapcoverage copied fromflat_map#4590<flat_map>: Unwrapflat_(multi)map's iterators #4650<flat_map>: Fix ordering in insertion and access control in construction #4828std::flat_map#4887feature/flat_setintofeature/flat_map#4967maintofeature/flat_map#4969vector<bool>and deduplicate mechanisms forflat_meow#5045<flat_map>: Fix several bugs found by libcxx tests #5306std::flat_setand flat-map iterators #5353maintofeature/flat_map#5357<flat_map>: Restore use ofpush_backinflat_(multi)map::insert#5422<flat_map>: explain test failures caused by being moved-out #5451<flat_map>: move invariants preserving #5454<flat_map>: Workaround for CWG-2369 in deduction guides #5455<flat_map>: drop bogus exception specifications #5460<flat_set>: Fix some significant bugs caught by latest libcxx tests #5465flat_meowmore similar #5474_Transparentconcept forflat_meow#5499<flat_set>: some libc++ tests look bogus #5508<flat_set>: insert range invariant fix #5514<flat_set>: more invariants fixes #5516<flat_map>: Remove unreachable code #5520<flat_set>change, and update test failure reason #5522<flat_map>,<flat_set>: mark unused variables and typedef libc++ test failures as known upstream #5702flat_meowFixes #5882flat_[multi]set(initializer_list, ...)constructors shall not invoke underlying container'sinitializer_listctor #5935<flat_map>and<flat_set>: Preliminary review cleanups #5938<flat_map>and<flat_set>: More review cleanups #5952<flat_map><flat_set>: Add_NODISCARD, remove nested_Clear_guard, add precondition checks etc. #5953<flat_set>: Makeflat_(multi)setinsertion exception-safe for non-standard sequence containers #5972<flat_set>totest_header_units_and_modules.hpp#5986<flat_map>: Simplify duplicate definitions of lookup functions using explicit object parameter #5987<flat_map>: Ensure different flat_(multi)map specializations don't share nested types (remove speculative implementation of LWG-3963) #5988<flat_map>: Unify implementation ofemplaceandinsertbetweenflat_mapandflat_multimap#5989<flat_meow>: Misc changes:constlocals and parameters, more_STL_ASSERTthat functions with_Sortedtag are called with sorted sequences #5990<flat_meow>: Don't do extra work incount(),contains(), andequal_range()#5994<flat_map>: Minor cleanups of iterator operations in flat_map members_Erase_if()etc. #5996<flat_set>:flat_set::emplaceandemplace_hintshould be constrained. #5999<flat_meow>: Add tests for allflat_mapconstructors, deduction guides and then some #6000<flat_meow>: Minor cleanups - Use memberbegin/endwhen possible, use arithmetic for random access iterators #6001<flat_meow>: Implement natvis visualizers forflat_multimeow, simplify visualizer forflat_map#6015<flat_map>: Fix new libcxx test failure due to argument type mismatch when callingranges::remove_iffromflat_map::erase_if#6017<flat_set>,<flat_map>: compare for equality instead of equivalence for usual types #6024maintofeature/flat_map, update tests #6033<flat_meow>: Minor cleanups #6034<flat_map>: Make_Pairing_iterator_provider::_Iteratordebugging and unwrapping more consistent with the rest of standard library #6035<flat_map>: Pass a tiniervalue_compare-like comparator to algorithms #6038<flat_meow>: Remove FIXME comments, add_Clear_guardtoerase(), test more ctors #6040<flat_map>,<flat_set>: Use inverse key_compare instead of synthesized equivalence #6042<flat_set>: Use_STD equalinstead of_RANGES equalinoperator==#6044flat_maptests, update citations #6046flat_settests #6051<flat_meow>: Update older tests #6056<flat_meow>: Audit the implementation #6057<flat_map>,<flat_set>: Mega overhaul! #6068<flat_map>,<flat_set>: Final fixes #6070Click to expand boring merge PRs:
maintofeature/flat_set#3876maintofeature/flat_set#3947maintofeature/flat_set#4030maintofeature/flat_set#4044maintofeature/flat_set#4089maintofeature/flat_set#4205maintofeature/flat_set#4207maintofeature/flat_set#4262maintofeature/flat_set#4266maintofeature/flat_set#4269maintofeature/flat_set#4307maintofeature/flat_map#4325maintofeature/flat_set#4326maintofeature/flat_map#4352maintofeature/flat_set#4353maintofeature/flat_map#4396maintofeature/flat_set#4397maintofeature/flat_map#4482maintofeature/flat_set#4483maintofeature/flat_map#4580maintofeature/flat_set#4581maintofeature/flat_map#4601maintofeature/flat_set#4602maintofeature/flat_map#4690maintofeature/flat_set#4691maintofeature/flat_map#4735maintofeature/flat_set#4736mainintofeature/flat_map#4774maintofeature/flat_map#4832maintofeature/flat_set#4833maintofeature/flat_map#4891maintofeature/flat_set#4892maintofeature/flat_map#4948maintofeature/flat_set#4949maintofeature/flat_map#5021maintofeature/flat_map#5052maintofeature/flat_map#5055maintofeature/flat_map#5085maintofeature/flat_map#5189maintofeature/flat_map#5250maintofeature/flat_map#5258maintofeature/flat_map#5305maintofeature/flat_map#5339maintofeature/flat_map#5426maintofeature/flat_map#5486maintofeature/flat_map#5515maintofeature/flat_map#5585maintofeature/flat_map#5648maintofeature/flat_map#5680maintofeature/flat_map#5697maintofeature/flat_map#5722maintofeature/flat_map#5789maintofeature/flat_map#5884maintofeature/flat_map#5915maintofeature/flat_map#5958maintofeature/flat_map#6014maintofeature/flat_map#6065I've filed a couple of issues for followup, which shouldn't block the merge:
<flat_map>: Missing test coverage #6045<flat_map>,<flat_set>: Unify_Emplace_hint()#6069