Repository navigation
vNext Planning
Stephan T. Lavavej edited this page Apr 19, 2022
·
27 revisions
- Multithreading overhaul
- Iterator debugging overhaul (doubly-linked iterator chains, no proxy allocations)
- Still need to overhaul
dequeandvector - Also simplifies checked/unchecked and modifiable/const, avoiding inheritance (which is non-standard)
- Still need to overhaul
- Remove
/clr:pure - Flat C exports
- Remove
, - Remove
tr1 - Other changes? (vcplatform?)
-
, - iostreams floating-point
-
vNext Issues
- #938 P0408R7 Efficient Access To basic_stringbuf's Buffer can be significantly simplified
-
TRANSITION, ABIcomments - Consolidate satellite DLL and import LIB code back into the main DLL (and API loading code like for ICU); make sure to keep
vector/stringetc. out of the DLL/import LIB. - Drop Vista support; Win7 must be the minimum platform
- Remove
_appDLLs - Increase x86 to
/arch:SSE2? -
changes:- Store
index() + 1instead ofindex()to so the range of possible stored values is contiguous for minor codegen improvements. - The hash value of a variant should depend on its
index()as well as the stored value sovariantand{in_place_index<0>, 42} variantdon't collide.{in_place_index<1>, 42}
- Store
-
[[no_unique_address]]will be unconditionally available, allowing us to replace_Compressed_pairand improve the representations of more types. -
iomanip.cppdoesn't need to be separately compiled
- Remove
/Za(effectively superseded by/permissive-) - Remove
/Zc:wchar_t- - Increase minimum Standard version to C++17 or C++20?
- RTTI overhaul?
- EH overhaul possible? (Table-based x86?)
- Fix Empty Base Class Optimization
- Avoid ABI-breaking options (e.g.
/vd2,/vmg,/J) - How do we detect/prevent mixing?