@@ -62,7 +62,7 @@ International Standard. The terms Working Draft (WD) and Working Paper (WP) are
6262informally refer to these drafts as "the Standard" while being aware of the difference. (There are other relevant
6363Standards; for example, supporting ` /std:c++14 ` and ` /std:c++17 ` involves understanding how the C++14 and C++17
6464Standards differ from the Working Paper, and we often need to refer to the C Standard Library and ECMAScript regular
65- expression specifications.) We're currently prioritizing C++20 features before starting any work on C++23.
65+ expression specifications.)
6666
6767Our primary goals are conformance, performance, usability, and compatibility.
6868
@@ -79,8 +79,8 @@ significantly more complicated and fragile. That is, there's a "complexity budge
7979debugging checks. For example, we've extensively marked the STL with ` [[nodiscard]] ` attributes because this helps
8080programmers avoid bugs.
8181
82- * Compatibility: This includes binary compatibility and source compatibility. We're keeping VS 2019 binary-compatible
83- with VS 2017 and VS 2015, which restricts what we can change in VS 2019 updates. (We've found that significant changes
82+ * Compatibility: This includes binary compatibility and source compatibility. We're keeping VS 2022 binary-compatible
83+ with VS 2015/2017/2019 , which restricts what we can change in VS 2022 updates. (We've found that significant changes
8484are possible even though other changes are impossible, which we'll be documenting in our Contribution Guidelines soon.)
8585While there are a few exceptions to this rule (e.g. if a feature is added to the Working Paper, we implement it, and
8686then the feature is significantly changed before the International Standard is finalized, we reserve the right to break
@@ -143,7 +143,7 @@ Just try to follow these rules, so we can spend more time fixing bugs and implem
143143The STL uses boost-math headers to provide P0226R1 Mathematical Special Functions. We recommend using [ vcpkg] [ ] to
144144acquire this dependency.
145145
146- 1 . Install Visual Studio 2019 16.11 Preview 2 or later.
146+ 1 . Install Visual Studio 2022 17.0 Preview 2 or later.
147147 * We recommend selecting "C++ CMake tools for Windows" in the VS Installer.
148148 This will ensure that you're using supported versions of CMake and Ninja.
149149 * Otherwise, install [ CMake] [ ] 3.20 or later, and [ Ninja] [ ] 1.10.2 or later.
@@ -158,7 +158,7 @@ acquire this dependency.
158158
159159# How To Build With A Native Tools Command Prompt
160160
161- 1 . Install Visual Studio 2019 16.11 Preview 2 or later.
161+ 1 . Install Visual Studio 2022 17.0 Preview 2 or later.
162162 * We recommend selecting "C++ CMake tools for Windows" in the VS Installer.
163163 This will ensure that you're using supported versions of CMake and Ninja.
164164 * Otherwise, install [ CMake] [ ] 3.20 or later, and [ Ninja] [ ] 1.10.2 or later.
@@ -172,14 +172,14 @@ acquire this dependency.
172172
173173To build the x86 target:
174174
175- 1 . Open an "x86 Native Tools Command Prompt for VS 2019 Preview".
175+ 1 . Open an "x86 Native Tools Command Prompt for VS 2022 Preview".
1761762 . Change directories to the previously cloned ` STL ` directory.
1771773 . ` cmake -G Ninja -S . -B out\build\x86 `
1781784 . ` ninja -C out\build\x86 `
179179
180- To build the x64 target:
180+ To build the x64 target (recommended) :
181181
182- 1 . Open an "x64 Native Tools Command Prompt for VS 2019 Preview".
182+ 1 . Open an "x64 Native Tools Command Prompt for VS 2022 Preview".
1831832 . Change directories to the previously cloned ` STL ` directory.
1841843 . ` cmake -G Ninja -S . -B out\build\x64 `
1851854 . ` ninja -C out\build\x64 `
@@ -205,7 +205,7 @@ your .exe would "win" over the versions in System32.
205205The compiler looks for include directories according to the ` INCLUDE ` environment variable, and the linker looks for
206206import library directories according to the ` LIB ` environment variable, and the Windows loader will (eventually) look
207207for DLL dependencies according to directories in the ` PATH ` environment variable. From an
208- "x64 Native Tools Command Prompt for VS 2019 Preview":
208+ "x64 Native Tools Command Prompt for VS 2022 Preview":
209209
210210```
211211C:\Users\username\Desktop>set INCLUDE=C:\Dev\STL\out\build\x64\out\inc;%INCLUDE%
@@ -234,7 +234,7 @@ C:\Users\username\Desktop>dumpbin /IMPORTS .\example.exe | findstr msvcp
234234# How To Run The Tests With A Native Tools Command Prompt
235235
2362361 . Follow either [ How To Build With A Native Tools Command Prompt] [ ] or [ How To Build With The Visual Studio IDE] [ ] .
237- 2 . Acquire [ Python] [ ] 3.9.5 or newer and have it on the ` PATH ` (or run it directly using its absolute or relative path).
237+ 2 . Acquire [ Python] [ ] 3.9.6 or newer and have it on the ` PATH ` (or run it directly using its absolute or relative path).
2382383 . Have LLVM's ` bin ` directory on the ` PATH ` (so ` clang-cl.exe ` is available).
239239 * We recommend selecting "C++ Clang tools for Windows" in the VS Installer. This will automatically add LLVM to the
240240 ` PATH ` of the x86 and x64 Native Tools Command Prompts, and will ensure that you're using a supported version.
@@ -354,7 +354,7 @@ those features first the tests will begin passing unexpectedly for us and return
354354this it is necessary to add a ` PASS ` entry to the ` expected_results.txt ` of the testsuite in question.
355355
356356The ` UNSUPPORTED ` result code means that the requirements for a test are not met and so it will not be run. Currently
357- all tests which use the ` /clr ` or ` /clr:pure ` options are unsupported. Also, the ` /BE ` option is unsupported for x64 .
357+ all tests which use the ` /clr ` or ` /clr:pure ` options are unsupported. Also, the ` /BE ` option is unsupported for x86 .
358358
359359The ` SKIPPED ` result code indicates that a given test was explicitly skipped by adding a ` SKIPPED ` entry to the
360360` expected_results.txt ` . A test may be skipped for a number of reasons, which include, but are not limited to:
@@ -404,8 +404,8 @@ set PATH=C:\STL\out\build\x64\out\bin\amd64;%PATH%
404404
405405### Modify The Visualizer
406406
407- To modify how components are visualized in the debugger edit the file ` stl\debugger\STL.natvis ` . For more information on
408- how to modify this file check the [ natvis documentation] [ ] .
407+ To modify how components are visualized in the debugger, edit the file ` stl\debugger\STL.natvis ` . For more information
408+ on how to modify this file, check the [ natvis documentation] [ ] .
409409
410410### Test Your Changes
411411
0 commit comments