You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* draft
* fix code sample (#3676)
* fix code sample
* acrolinx
Co-authored-by: TylerMSFT <Tyler.Whitney@microsoft.com>
* document clocks
* add tai-clock
* Address 3269 typo in warning number (#3680)
* Fixed typo: evalution --> evaluation
* updates
* finish draft of new clocks
* acrolinx
* Fixed typo: evalution --> evaluation
* Bulk Fix - Sentence form for all alt text (#3683)
* Updated C/C++ workload name
The workload for C/C++ development in VS Build Tools 2019 installer is called 'Desktop development with C++'.
* Split out docs by version
Add VS2017-specific instructions.
* Updated C/C++ workload name
The workload for C/C++ development in VS Build Tools 2019 installer is called 'Desktop development with C++'.
* Split out docs by version
Add VS2017-specific instructions.
* Add 16.11 Compiler Warnings C5247 and C5248 (MicrosoftDocs#3689)
* Add C5247 and C5248
* Fix link typos
* Updates per Xiang Fan review
* More wordsmithage
* More fix per X.F.
* Fix inconsistencies in CMake docs (MicrosoftDocs#3692)
* Standard format for CMake docs
* Fix markdownlint
* More cleanup.
* Clean up link issue, acrolinx
* Fix more broken things
* Undo a change
* Add documentation for "unspecified" architecture
Add documentation regarding "unspecified" architecture such that it provides an option for someone to ensure that no inherited environment is selected.
* Update markdownlint.json file for unordered lists (#3694)
Block rule that wants * instead of - to prefix unordered lists, since we've standardized on the latter.
Merging on my own recognizance as repo admin.
* Clean up documentation for "unspecified" architecture
* Markdown quality fixes 1 of N
* Markdown quality fixes 2 of N
* Markdown quality fixes 3 of N
* Markdown quality fixes 4 of N
* Markdown quality fixes 5 of N
* Markdown quality fixes 6 of N
* Markdown quality fixes 7 of N
* Markdown quality fixes 8 of N
* Markdown quality fixes 9 of N
* Markdown quality fixes 10 of N
* Undo TN038
* Markdown quality fixes 11 of N
* Setting PATH allows DUMPBIN to be executed from the system command prompt.
There are multiple DUMPBIN.EXE's in the MSVC folder, but they can be executed if the PATH is set correctly.
If this is not true, or undesireable per system design constraints, please clarify otherwise.
* Call out toolchains and embedded scenarios
* Add link to environment setting instructions
* Make more readable
* Address cpp-docs 3286 Postfix increment, decrement syntax (MicrosoftDocs#3711)
* Address cpp-docs issue 3286
* Fix formatting, final example
* Add compiler warning C5243, C5249, C5250 (MicrosoftDocs#3710)
* Removing linux and non-windows bullet point
* Make clear it's not required to meet all conditions
Add "or" to final bullet point
* PR review edit, Microsoft style for lists
* Make the "unspecified" architecture option more general
* Add __SANITIZE_ADDRESS__ to predefined macros page
Noticed __SANITIZE_ADDRESS__ was missing from this list.
* Add VS version
Also note the VS version where __SANITIZE_ADDRESS__ was added in.
* Add docs on using existing cache without cmake-server
* Fix unescaped <chrono> (MicrosoftDocs#3715)
Noticed this while doing other changes. Without being in a code block, <chrono> becomes the html element of the same name.
* Address issue 3301
* Create and integrate /Zc:lambda article (#3719)
* Create and integrate /Zc:lambda article
* Fix conformance topic date
* First half of C++20 changes
* The other half of the /std:c++20 fixes
* Fix link
* Update cmake-projects-in-visual-studio.md
* Remove duplicate line in build TOC
* tech review
* fixes
* Cleanup per review
* Update thread-class.md
* Update future-functions.md
* Update execution.md
* Update execution.md
* Update execution.md
* Update future-functions.md
* Update thread-class.md
* Update execution.md
* Update future-functions.md
* Update thread-class.md
* updates per tech review and other
* added file_clock
* Update execution.md
* Update future-functions.md
* Update thread-class.md
* add gps_clock
* update metadata
* PR review edit, relative links
* PR review edit, relative links
* PR review edit, relative link
* Fixed typo in bit-functions.md
* Further typo fix
* finished draft for local_t
* acrolinx
* Fixed broken links
* incorp tech review
* update typedef sections
* add all related typedefs
* fix tables
* acrolinx
* cleanup
* fix links
* fix tables
* more table cleanup
* another fix for tables. error msgs aren't by the error but I think I finally found the issue
* one more table fix
* typos
* typo in code example
* Update links to ARM docs (#3735)
* Update links to ARM docs
* Acrolinx and formatting pass
* Acrolinx
* Fix locale_t -> _locale_t
* Update output-file-stream-member-functions.md
Updated some code escapes for localization
* Address github issues (MicrosoftDocs#3737)
* fix github 3268 code example for Context::Yield()
* fixed github #3312 - MFC CWnd::OnMouseHWheel description
* Fix for github #3259-clarify change in the UI
* acrolinx
Co-authored-by: TylerMSFT <Tyler.Whitney@microsoft.com>
* Update how-to-convert-standard-string-to-system-string.md
Fixing example.
-------
cc: @TylerMSFT
GitHub Issue: https://github.com/MicrosoftDocs/cpp-docs/issues/2438
* 16.11 Add /Zc:char8_t compiler option
* PR review edit, date
* Typo: B::f instead of B::F
* Add u8 C++20 changes
* Add io.h header into example code
Repro:
1. Paste sample code for _get_errno is placed into new Visual Studio 2019 project
1. Try to compile
Result:
Compilation fails
The error is:
Error C3861 '_sopen_s': identifier not found
Expected Result:
Sample code should just compile
Fix:
Add io.h header file to avoid the above error in sample code.
* Address 3340 Static member access in example
* add Git screenshots and Git text
* edit Git text and screenshot locale info
* fix Version Control link error
* move new Git content to the right moniker section
* Remove unneeded share.h from sample code in errno documentation
* Update docs/get-started/tutorial-console-cpp.md
* Fixed typo in constructors-cpp.md
* Update filesystem header explanation
* Update filesystem.md
Updated freshness date
* 16.11 Refine applicability of /std:c++20
Co-authored-by: Colin Robertson <corob@microsoft.com>
Co-authored-by: TylerMSFT <Tyler.Whitney@microsoft.com>
Co-authored-by: opbld15 <opbld15@microsoft.com>
Co-authored-by: Tyler Whitney <TylerMSFT@users.noreply.github.com>
Co-authored-by: opbld17 <opbld17@microsoft.com>
Co-authored-by: ystamant <49958001+ystamant@users.noreply.github.com>
Co-authored-by: opbld16 <opbld16@microsoft.com>
Co-authored-by: Andrew Shymanel <88244804+ainrd@users.noreply.github.com>
Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>
Co-authored-by: PRMerger6 <prmrgr6@microsoft.com>
Co-authored-by: PRMerger12 <prmrgr12@microsoft.com>
Co-authored-by: PRMerger14 <prmrgr14@microsoft.com>
Co-authored-by: PRMerger16 <prmrgr16@microsoft.com>
Co-authored-by: PRMerger15 <prmrgr15@microsoft.com>
Co-authored-by: PRMerger7 <prmrgr7@microsoft.com>
Co-authored-by: PRMerger10 <prmrgr10@microsoft.com>
Co-authored-by: David Dyck <david.dyck@gmail.com>
Co-authored-by: Kristine Toliver <ktoliver@users.noreply.github.com>
Co-authored-by: Steve Wishnousky <stwish@microsoft.com>
Co-authored-by: Sam Freed <sfreed141@gmail.com>
Co-authored-by: Don Spencer <87099566+v-donspencer@users.noreply.github.com>
Co-authored-by: Beau Braig <86677107+BeauBraig@users.noreply.github.com>
Co-authored-by: Alex Guteniev <gutenev@gmail.com>
Co-authored-by: Paula Miller <v-paulmi@microsoft.com>
Co-authored-by: RibShark <1957489+RibShark@users.noreply.github.com>
Co-authored-by: onihusube <44743040+onihusube@users.noreply.github.com>
Co-authored-by: PRMerger8 <prmrgr8@microsoft.com>
Co-authored-by: Chris Ho <sudoerchris.ho@pm.me>
Co-authored-by: Andrew Rogers <andrew.rogers@wdc.com>
Co-authored-by: Sauparna Palchowdhury <91951+sauparna@users.noreply.github.com>
Co-authored-by: Nikolai Aristov <43590492+NikoAri@users.noreply.github.com>
Co-authored-by: Terry G. Lee <terry.g.lee@microsoft.com>
Co-authored-by: PRMerger20 <prmrgr20@microsoft.com>
Co-authored-by: Andrea Courtright <74212614+v-andreaco@users.noreply.github.com>
Co-authored-by: rayz-bee <303667851@qq.com>
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
Copy file name to clipboardExpand all lines: docs/build/reference/std-specify-language-standard-version.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -44,7 +44,9 @@ The **`/std:c++17`** option enables C++17 standard-specific features and behavio
44
44
Depending on the MSVC compiler version or update level, C++17 features may not be fully implemented or fully conforming when you specify the **`/std:c++17`** option. For an overview of C++ language conformance in Visual C++ by release version, see [Microsoft C/C++ language conformance](../../overview/visual-cpp-language-conformance.md).
45
45
46
46
**`/std:c++20`**\
47
-
The **`/std:c++20`** option enables C++20 standard-specific features and behavior. Available starting in Visual Studio 2019 version 16.11, it enables the full set of C++20 features implemented by the MSVC compiler, with the exception of `std::format` and the C++20 `<chrono>` extensions. These features are still only available under **`/std:c++latest`**. The **`/std:c++20`** option disables compiler and standard library support for features that are new or changed after C++20. It specifically disables post-C++20 changes in the C++ Standard and versions of the Working Draft. It doesn't disable retroactive defect updates of the C++ Standard.
47
+
The **`/std:c++20`** option enables C++20 standard-specific features and behavior. Available starting in Visual Studio 2019 version 16.11, it enables the full set of C++20 features implemented by the MSVC compiler, with the exception of `std::format`, the C++20 `<chrono>` formatting extensions, and the range factories and range adaptors from `<ranges>`. These features are still only available under **`/std:c++latest`**.
48
+
49
+
The **`/std:c++20`** option disables compiler and standard library support for features that are new or changed after C++20. It specifically disables post-C++20 changes in the C++ Standard and versions of the Working Draft. It doesn't disable retroactive defect updates of the C++ Standard.
48
50
49
51
**`/std:c++latest`**\
50
52
The **`/std:c++latest`** option enables all currently implemented compiler and standard library features proposed for the next draft standard, as well as some in-progress and experimental features. This option is available starting in Visual Studio 2015 Update 3.
Copy file name to clipboardExpand all lines: docs/overview/visual-cpp-language-conformance.md
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -379,15 +379,15 @@ A more detailed listing of Standard Library features and bug fixes by product ve
379
379
| [`P1135R6 The C++20 Synchronization Library`](https://wg21.link/P1135R6)| VS 2019 16.9 <sup>[20](#note_20)</sup> |
380
380
| [`P1771R1 Library support for [[nodiscard]] for constructors`](https://wg21.link/P1771R1)| VS 2019 16.9 <sup>[20](#note_20)</sup> |
381
381
| [`P0053R7 <syncstream>`](https://wg21.link/p0053r7)<br/> [`P0753R2 osyncstream Manipulators`](https://wg21.link/p0753r2)| VS 2019 16.10 <sup>[20](#note_20)</sup> |
382
-
| [`P0355R7 <chrono> Calendars And Time Zones`](https://wg21.link/p0355r7)| VS 2019 16.10 <sup>[20](#note_20)</sup> |
382
+
| [`P0355R7 <chrono> Calendars And Time Zones`](https://wg21.link/p0355r7)| VS 2019 16.10 <sup>[20abi](#note_20abi)</sup> |
383
383
| [`P0408R7 Efficient access To basic_stringbuf's buffer`](https://wg21.link/p0408r7)| VS 2019 16.10 <sup>[20](#note_20)</sup> |
384
384
| [`P0466R5 Library support for layout-compatibility and pointer-interconvertibility traits`](https://wg21.link/p0466r5)| VS 2019 16.10 <sup>[20](#note_20)</sup> |
385
385
| [`P0475R1 Guaranteed Copy Elision For Piecewise Construction`](https://wg21.link/P0475R1)| VS 2019 16.10 <sup>[20](#note_20)</sup> |
386
386
| [`P0591R4 Utility Functions For Uses-Allocator Construction`](https://wg21.link/P0591R4)| VS 2019 16.10 <sup>[20](#note_20)</sup> |
387
387
| [`P0608R3 Improving variant's Converting Constructor/Assignment`](https://wg21.link/P0608R3)| VS 2019 16.10 <sup>[20](#note_20)</sup> |
388
-
| [`P0645R10 <format> Text Formatting`](https://wg21.link/p0645r10)| VS 2019 16.10 <sup>[20](#note_20)</sup> |
388
+
| [`P0645R10 <format> Text Formatting`](https://wg21.link/p0645r10)| VS 2019 16.10 <sup>[20abi](#note_20abi)</sup> |
389
389
| [`P0784R7 Library support for more constexpr containers`](https://wg21.link/P0784R7)| VS 2019 16.10 <sup>[20](#note_20)</sup> |
390
-
| [`P0896R4 <ranges>`](https://wg21.link/P0896R4)| VS 2019 16.10 <sup>[20](#note_20)</sup> |
390
+
| [`P0896R4 <ranges>`](https://wg21.link/P0896R4)| VS 2019 16.10 <sup>[20abi](#note_20abi)</sup> |
391
391
| [`P0980R1 constexpr std::string`](https://wg21.link/P0980R1)| VS 2019 16.10 <sup>[20](#note_20)</sup> |
392
392
| [`P1004R2 constexpr std::vector`](https://wg21.link/P1004R2)| VS 2019 16.10 <sup>[20](#note_20)</sup> |
393
393
| [`P1208R6 <source_location>`](https://wg21.link/P1208R6)| VS 2019 16.10 <sup>[20](#note_20)</sup> |
@@ -520,6 +520,8 @@ These algorithms aren't presently parallelized:
520
520
521
521
<aname="note_20"></a> __20__ In versions through Visual Studio 2019 version 16.10, these features are enabled by the [`/std:c++latest`](../build/reference/std-specify-language-standard-version.md) compiler option. Visual Studio 2019 version 16.11 added the [`/std:c++20`](../build/reference/std-specify-language-standard-version.md) compiler option to enable these features.
522
522
523
+
<aname="note_20abi"></a> __20abi__ Because of ongoing post-release work on the C++20 standard, `<format>`, the formatting parts of `<chrono>` (which rely on `<format>`), and the range factories and range adaptors from `<ranges>` (everything that needs the `view` concept) are only available under **`/std:c++latest`**. We'll make these features available under **`/std:c++20`** after reaching agreement with WG21 that no further ABI-breaking changes are necessary. The remaining parts of `<chrono>` and the algorithms that apply to ranges are enabled under the **`/std:c++20`** compiler option starting in Visual Studio 2019 version 16.11.
524
+
523
525
<aname="note_DR"></a> __DR__ These features are enabled in all C++ [`/std`](../build/reference/std-specify-language-standard-version.md) compiler option modes. The C++ Standard committee adopted this change as a retroactive Defect Report to C++11 and all later versions.
524
526
525
527
<aname="note_C11"></a> __C11__ Compiler support for C11 and C17 requires Visual Studio 2019 version 16.8 or higher. Except as noted, C11 and C17 library support requires Windows 10 SDK build 10.0.20211.0 or higher. For more information on how to install support for C11 and C17, see [Install C11 and C17 support in Visual Studio](./install-c17-support.md).
@@ -19,7 +19,7 @@ using namespace std::experimental::filesystem::v1;
19
19
20
20
> [!IMPORTANT]
21
21
> At the release of Visual Studio 2017, the `<filesystem>` header was not yet a C++ standard. C++ in Visual Studio 2017 RTW implements the final draft standard, found in [ISO/IEC JTC 1/SC 22/WG 21 N4100](https://wg21.link/n4100). Visual Studio 2017 version 15.7 and later supports the new C++17 `<filesystem>` standard.
22
-
> This is a completely new implementation, incompatible with the previous `std::experimental` version. It was made necessary by symlink support, bug fixes, and changes in standard-required behavior. Currently, including `<filesystem>` provides the new `std::filesystem` and the previous `std::experimental::filesystem`. Including `<experimental/filesystem>` provides only the old experimental implementation. The experimental implementation will be removed in the next ABI-breaking release of the libraries.
22
+
> This is a completely new implementation, incompatible with the previous `std::experimental` version. It was made necessary by symlink support, bug fixes, and changes in standard-required behavior. In Visual Studio 2019 version 16.3 and later, including `<filesystem>` provides only the new `std::filesystem`. Including `<experimental/filesystem>` provides only the old experimental implementation. The experimental implementation will be removed in the next ABI-breaking release of the libraries.
23
23
24
24
This header supports file systems for one of two broad classes of host operating systems: Microsoft Windows and POSIX.
auto output = input | std::views::filter([](const int n) {return n % 3 == 0; }) | std::views::transform([](const int n) {return n * n; });
@@ -44,7 +44,7 @@ In the code above, each element that is divisible by three is combined with an o
44
44
The result, `output`, is itself a type of range called a view, which is discussed next.
45
45
46
46
> [!NOTE]
47
-
> The ranges examples require the [`/std:c++20`](../build/reference/std-specify-language-standard-version.md)or later compiler option.
47
+
> The ranges examples require the [`/std:c++latest`](../build/reference/std-specify-language-standard-version.md) compiler option. Because post-release updates to `<ranges>` in the C++20 Standard are a work in progress, the features that require `std::views` aren't enabled yet under **`/std:c++20`**.
48
48
49
49
## Views
50
50
@@ -57,7 +57,7 @@ Views are composable. In the example above, the view of vector elements that are
57
57
The elements of a view are evaluated lazily. That is, the transformations you apply to yield the elements in a view aren't evaluated until you ask for an element. For example, if you run the following code in a debugger, and put a breakpoint on the lines `auto divisible_by_three = ...` and `auto square = ...`, you'll see that you hit the `divisible_by_three` lambda breakpoint as each element in `input` is tested for divisibility by three. The `square` lambda breakpoint will be hit as the elements that are divisible by three are squared.
0 commit comments