* Extract `__msvc_xlocinfo_types.hpp`.
* Include `__msvc_xlocinfo_types.hpp` instead of `xlocinfo.h`.
In `xwctomb.cpp`, need to reorder functions.
Also, `<cwchar>` provides `wmemcmp`, not `<cstring>`.
* Fuse `xlocinfo.h`.
* Static partition forward ranges correctly.
In DevCom-1326903 the user reports that forward ranges, specifically `std::map` in their case, produce incorrect results from `std::equal`. After reducing to `forward_list` and debugging through, the problem is that when processing "unchunked items" we aren't giving those initial chunks their extra item, so the `std::equal` call fails fast whenever there are unchunked items.
Testing before didn't catch this because the values I chose of being around the thread count didn't account for the underlying infrastructure using `_Oversubscription_multiplier` which meant that the partitioning edge cases were not exercised (in most cases the parallel algorithms tests were testing only 1 element per chunk).
`<execution>` Add the missing `+1`. Note that this `+1` is the same `+1` in the random-access version on line 907.
`tests/std/include/parallel_algorithms_utilities.hpp`: Adjust the N constants to account for `_Oversubscription_multiplier`.
* Add `quadradic_complexity_case_limit` to prevent test cases from taking too long.
* Fix typos.
* `break` instead of `return`.
* Fix off-by-one error in handling of `remainingAttempts`.
* Implement the ABI plan from GH-1814
* Condition `<format>` and "`<chronat>`" on `__cpp_lib_format` instead of `__cpp_lib_concepts`.
* Condition the `view` concept - and everything that relies on it, including all of `<ranges>` - on `__cpp_lib_ranges` in addition to `__cpp_lib_concepts`.
* Add C++23 STL and testing infrastructure:
* Define `_HAS_CXX23` in `<yvals_core.h>`. We'll eventually want this to move into `<vcruntime.h>` so all `_HAS_CXXMEOW` definitions are nicely localized.
* `_HAS_CXX23` is defined to `1` iff `_HAS_CXX20 != 0` and `_MSVC_LANG` (if defined) or `__cplusplus` (otherwise) is greater than C++20's value of `202002L`. For Clang coverage, we'll have to manually define `_HAS_CXX23` to `1` until Clang updates their `__cplusplus` value for `/std:c++latest`.
* Rename `meow_concepts_woof.lst` to `meow_concepts_latest_woof.lst`.
* Update test matrices: Copy all `meow_latest_woof.lst` matrices to `meow_20_woof.lst`. Add `/std:c++20` coverage to the latter (still spelled `/std:c++latest` for Clang which doesn't grok `/std:c++20`) by duplicating the C++17 configs. `/std:c++latest` becomes C++23 mode (with additions of `/D_HAS_CXX23` for Clang).
* Replace uses of `meow_latest_woof.lst` with `meow_20_woof.lst`, except for a few tests that are only intended to have `latest` coverage, notably `include_each_header_alone` and all of `libcxx`.
* Only define `__cpp_lib_format` and `__cpp_lib_ranges` in C++23 mode. Update the feature-test macro test accordingly.