Skip to content

Commit 3a2d0cb

Browse files
Taojunshenesweet431opbld16Colin Robertsonopbld17
authored
12/3/2021 AM Publish (#3959)
* Add gray border * LinkFix: cpp-docs-pr (2021-11) * Clarify C4146 per VCSig list (MicrosoftDocs#3923) * Clarify C4146 per VCSig list * Fix link issues. * Update enable CMake Presets * fix rel links * fix github 3528 * acrolinx * change order of example * Add version info to NMAKE macro functions * Bulk fix entity `&amp;` part 3 * threshhold test * Eliminate even more `&amp;` entities * Minimum Viable Phix * Once more into the `&amp;` breech * Add Visual Studio 2022 Platform Toolset Version * Add /fpcvt compiler option docs (MicrosoftDocs#3886) * Add /fpcvt compiler option docs * Fix copypasta error * Update fp conversion intrinsics, too. * Replace deleted table row * Acrolinx pass * Fix TOC issues * Add useful links to intrinsics * Updates per John Morgan, plus acrolink * Update version info * Clean up rvalue reference article * Fix to `/fpcvt` per John Morgan email * Reformat WeakRef class document. * Update Advanced prop page and C1107 * Remove unrelated change. * Minimizing entity form of & (#3916) * Initial pass minimizing on &gt; entities (#3919) * Initial pass on &gt; entities * Fix everything. * Try without `&lt;` entities in title/desc * Clean up pass * Update docs/atl-mfc-shared/reference/cfiletime-class.md Co-authored-by: Tracey Torble <[email protected]> * Update tn026-ddx-and-ddv-routines.md `DoDialogExchange` -> `DoDataExchange` * github fix 3544 * GITHUB FIX FOR #3549 * Add UWP to list of unsupported ASAN features. * Fix misnamed mt.exe options. Acrolinx all. * Attempt fpcvt simplification per John Morgan. * Fix cpp-docs 3546 * Address complaint in cpp-docs 3554 (#3950) * 17.1 Update warnings, fix cpp-docs 3563 (#3954) * 17.1 Update warnings, fix cpp-docs 3563 * fix date * Add `/Zc:externC` compiler option doc, fix 1594 * Tweaks. * Fix links, header syntax issues * Fix issues in XML Docs reference * Make list match apparently intended style * Fix broken link. Co-authored-by: Erika <[email protected]> Co-authored-by: opbld16 <[email protected]> Co-authored-by: Colin Robertson <[email protected]> Co-authored-by: opbld17 <[email protected]> Co-authored-by: Christopher McClister <[email protected]> Co-authored-by: PRMerger16 <[email protected]> Co-authored-by: Laura Brenner <[email protected]> Co-authored-by: opbld15 <[email protected]> Co-authored-by: TylerMSFT <[email protected]> Co-authored-by: PRMerger18 <[email protected]> Co-authored-by: PRMerger4 <[email protected]> Co-authored-by: PRMerger6 <[email protected]> Co-authored-by: MohammadHadi Attarieh <[email protected]> Co-authored-by: PRMerger15 <[email protected]> Co-authored-by: PRMerger10 <[email protected]> Co-authored-by: Haig MacGregor <[email protected]> Co-authored-by: Tracey Torble <[email protected]> Co-authored-by: Waiting <[email protected]> Co-authored-by: Tyler Whitney <[email protected]> Co-authored-by: branh <[email protected]> Co-authored-by: John Ellison <[email protected]> Co-authored-by: PRMerger8 <[email protected]> Co-authored-by: PRMerger17 <[email protected]> Co-authored-by: Colin Cooper <[email protected]> Co-authored-by: Paula Miller <[email protected]>
1 parent 3cfbcc1 commit 3a2d0cb

25 files changed

+340
-277
lines changed

docs/build/reference/code-visual-cpp.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
description: "Learn more about: XML Documentation tag <code>"
3-
title: "&lt;code> (C++ documentation comments)"
4-
ms.date: "11/04/2016"
3+
title: "<code> (C++ documentation comments)"
4+
ms.date: 12/03/2021
55
f1_keywords: ["<code>"]
66
helpviewer_keywords: ["<code> C++ XML tag", "code C++ XML tag"]
77
ms.assetid: 687db3f8-d435-4a90-b781-8da503fa39bc

docs/build/reference/delimiters-for-visual-cpp-documentation-tags.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,30 @@
11
---
2-
description: "Learn more about: Delimiters for Visual C++ Documentation Tags"
3-
title: "Delimiters for Visual C++ Documentation Tags"
4-
ms.date: "11/04/2016"
2+
description: "Learn more about: Delimiters for Visual C++ documentation tags"
3+
title: "Delimiters for Visual C++ documentation tags"
4+
ms.date: 12/03/2021
55
helpviewer_keywords: ["XML documentation, delimiters"]
66
ms.assetid: debfbdd9-63fa-4c58-a18e-a4d203d241d7
77
---
8-
# Delimiters for Visual C++ Documentation Tags
8+
# Delimiters for Visual C++ documentation tags
99

10-
The use of documentation tags requires delimiters, which indicate to the compiler where a documentation comment begins and ends.
10+
The use of documentation tags requires *delimiters*, which indicate to the compiler where a documentation comment begins and ends.
1111

1212
You can use the following kinds of delimiters with the XML documentation tags:
1313

1414
| Delimiter | Description |
15-
|-|-|
16-
| `///` | This is the form that is shown in documentation examples and used by the Visual Studio C++ project templates. |
17-
| `/** */` | These are multiline delimiters. |
15+
|--|--|
16+
| `///` | This is the form that's shown in documentation examples and used by the Visual Studio C++ project templates. |
17+
| `/** */` | These are multiline delimiters. |
1818

1919
There are some formatting rules when using the `/** */` delimiters:
2020

21-
- For the line that contains the `/**` delimiter, if the remainder of the line is white space, the line is not processed for comments. If the first character is white space, that white space character is ignored and the rest of the line is processed. Otherwise, the entire text of the line after the `/**` delimiter is processed as part of the comment.
21+
- For the line that contains the `/**` delimiter, if the rest of the line is whitespace, the line isn't processed for comments. If the first character is whitespace, that whitespace character is ignored and the rest of the line is processed. Otherwise, the entire text of the line after the `/**` delimiter is processed as part of the comment.
2222

23-
- For the line that contains the `*/` delimiter, if there is only white space up to the `*/` delimiter, that line is ignored. Otherwise, the text on the line up to the `*/` delimiter is processed as part of the comment, subject to the pattern-matching rules described in the following bullet.
23+
- For the line that contains the `*/` delimiter, if there's only whitespace up to the `*/` delimiter, that line is ignored. Otherwise, the text on the line up to the `*/` delimiter is processed as part of the comment, subject to the pattern-matching rules described in the following bullet.
2424

25-
- For the lines after the one that begins with the `/**` delimiter, the compiler looks for a common pattern at the beginning of each line that consists of optional white space and an asterisk (`*`), followed by more optional white space. If the compiler finds a common set of characters at the beginning of each line, it will ignore that pattern for all lines after the `/**` delimiter, up to and possibly including the line that contains the `*/` delimiter.
25+
- For the lines after the one that begins with the `/**` delimiter, the compiler looks for a common pattern at the beginning of each line that consists of optional white space and an asterisk (`*`), followed by more optional whitespace. If the compiler finds a common set of characters at the beginning of each line, it will ignore that pattern for all lines after the `/**` delimiter, up to and possibly including the line that contains the `*/` delimiter.
2626

27-
Some examples:
27+
## Examples
2828

2929
- The only part of the following comment that will be processed is the line that begins with `<summary>`. The following two tag formats will produce the same comments:
3030

@@ -43,15 +43,15 @@ Some examples:
4343
* text </summary>*/
4444
```
4545

46-
- The compiler finds no pattern in this comment because there is no asterisk on the second line. Therefore, all text on the second and third lines, up till the `*/`, will be processed as part of the comment.
46+
- The compiler finds no pattern in this comment because there's no asterisk on the second line. All text on the second and third lines, up until the `*/`, will be processed as part of the comment.
4747
4848
```cpp
4949
/**
5050
* <summary>
5151
text </summary>*/
5252
```
5353
54-
- The compiler finds no pattern in this comment for two reasons. First, there is no line that begins with a consistent number of spaces before the asterisk. Second, the fifth line begins with a tab, which does not match spaces. Therefore, all text from the second line until the `*/` will be processed as part of the comment.
54+
- The compiler finds no pattern in this comment for two reasons. First, there's no line that begins with a consistent number of spaces before the asterisk. Second, the fifth line begins with a tab, which doesn't match spaces. All text from the second line until the `*/` will be processed as part of the comment.
5555
5656
```cpp
5757
/**
@@ -64,4 +64,4 @@ Some examples:
6464
6565
## See also
6666
67-
[XML Documentation](xml-documentation-visual-cpp.md)
67+
[XML documentation](xml-documentation-visual-cpp.md)

docs/build/reference/dot-xml-file-processing.md

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
---
2-
description: "Learn more about: .Xml File Processing"
3-
title: ".Xml File Processing"
4-
ms.date: "11/04/2016"
2+
description: "Learn more about: XML documentation file processing"
3+
title: "XML documentation file processing"
4+
ms.date: 12/03/2021
55
helpviewer_keywords: ["XML documentation, processing XML file"]
66
ms.assetid: e70fdeae-80ac-4872-ab24-771c5635cfbf
77
---
8-
# .Xml File Processing
8+
# XML documentation file processing
99

10-
The compiler generates an ID string for each construct in your code that is tagged to generate documentation. For more information, see [Recommended Tags Documentation Comments](recommended-tags-for-documentation-comments-visual-cpp.md). The ID string uniquely identifies the construct. Programs that process the .xml file can use the ID string to identify the corresponding .NET Framework metadata or reflection item to which the documentation applies.
10+
The compiler generates an ID string for each construct in your code that is tagged to generate documentation. For more information, see [Recommended tags documentation comments](recommended-tags-for-documentation-comments-visual-cpp.md). The ID string uniquely identifies the construct. Programs that process the XML file can use the ID string to identify the corresponding .NET Framework metadata or reflection item to which the documentation applies.
1111

12-
The .xml file is not a hierarchical representation of your code, it is a flat list with a generated ID for each element.
12+
The XML file isn't a hierarchical representation of your code, it's a flat list with a generated ID for each element.
1313

1414
The compiler observes the following rules when it generates the ID strings:
1515

@@ -19,60 +19,60 @@ The compiler observes the following rules when it generates the ID strings:
1919

2020
| Character | Description |
2121
|---------------|-----------------|
22-
| N | namespace<br /><br /> You cannot add documentation comments to a namespace, cref references to a namespace are possible. |
23-
| T | type: class, interface, struct, enum, delegate |
24-
| D | typedef |
25-
| F | field |
26-
| P | property (including indexers or other indexed properties) |
27-
| M | method (including such special methods as constructors, operators, and so forth) |
28-
| E | event |
29-
| ! | error string<br /><br /> The rest of the string provides information about the error. The MSVC compiler generates error information for links that cannot be resolved. |
22+
| N | Namespace<br /><br /> You can't add documentation comments to a namespace, cref references to a namespace are possible. |
23+
| T | Type: class, interface, struct, enum, delegate |
24+
| D | Typedef |
25+
| F | Field |
26+
| P | Property (including indexers or other indexed properties) |
27+
| M | Method (including such special methods as constructors, operators, and so forth) |
28+
| E | Event |
29+
| ! | Error string<br /><br /> The rest of the string provides information about the error. The MSVC compiler generates error information for links that can't be resolved. |
3030

31-
- The second part of the string is the fully qualified name of the item, starting at the root of the namespace. The name of the item, its enclosing type or types, and namespace are separated by periods. If the name of the item itself has periods, they are replaced by the hash-sign ('#'). It is assumed that no item has an hash-sign directly in its name. For example, the fully qualified name of the `String` constructor would be "System.String.#ctor".
31+
- The second part of the string is the fully qualified name of the item, starting at the root of the namespace. The name of the item, its enclosing type or types, and namespace are separated by periods. If the name of the item itself has periods, they're replaced by the hash-sign ('#'). It's assumed that no item has a hash-sign directly in its name. For example, the fully qualified name of the `String` constructor would be `System.String.#ctor`.
3232

33-
- For properties and methods, if there are arguments to the method, the argument list enclosed in parentheses follows. If there are no arguments, no parentheses are present. The arguments are separated by commas. The encoding of each argument follows directly how it is encoded in a .NET Framework signature:
33+
- For properties and methods, if there are arguments to the method, the argument list enclosed in parentheses follows. If there are no arguments, no parentheses are present. The arguments are separated by commas. Each argument is encoded the same way it's encoded in a .NET Framework signature:
3434

35-
- Base types. Regular types (ELEMENT_TYPE_CLASS or ELEMENT_TYPE_VALUETYPE) are represented as the fully qualified name of the type.
35+
- Base types. Regular types (`ELEMENT_TYPE_CLASS` or `ELEMENT_TYPE_VALUETYPE`) are represented as the fully qualified name of the type.
3636

37-
- Intrinsic types (for example, ELEMENT_TYPE_I4, ELEMENT_TYPE_OBJECT, ELEMENT_TYPE_STRING, ELEMENT_TYPE_TYPEDBYREF. and ELEMENT_TYPE_VOID) are represented as the fully qualified name of the corresponding full type, for example, **System.Int32** or **System.TypedReference**.
37+
- Intrinsic types (for example, `ELEMENT_TYPE_I4`, `ELEMENT_TYPE_OBJECT`, `ELEMENT_TYPE_STRING`, `ELEMENT_TYPE_TYPEDBYREF`, and `ELEMENT_TYPE_VOID`) are represented as the fully qualified name of the corresponding full type, for example, **`System.Int32`** or **`System.TypedReference`**.
3838

39-
- ELEMENT_TYPE_PTR is represented as a '*' following the modified type.
39+
- `ELEMENT_TYPE_PTR` is represented as a '`*`' following the modified type.
4040

41-
- ELEMENT_TYPE_BYREF is represented as a '\@' following the modified type.
41+
- `ELEMENT_TYPE_BYREF` is represented as a '`@`' following the modified type.
4242

43-
- ELEMENT_TYPE_PINNED is represented as a '^' following the modified type. The MSVC compiler never generates this.
43+
- `ELEMENT_TYPE_PINNED` is represented as a '`^`' following the modified type. The MSVC compiler never generates this element.
4444

45-
- ELEMENT_TYPE_CMOD_REQ is represented as a '&#124;' and the fully qualified name of the modifier class, following the modified type. The MSVC compiler never generates this.
45+
- `ELEMENT_TYPE_CMOD_REQ` is represented as a '`|`' and the fully qualified name of the modifier class, following the modified type. The MSVC compiler never generates this element.
4646

47-
- ELEMENT_TYPE_CMOD_OPT is represented as a '!' and the fully qualified name of the modifier class, following the modified type.
47+
- `ELEMENT_TYPE_CMOD_OPT` is represented as a '`!`' and the fully qualified name of the modifier class, following the modified type.
4848

49-
- ELEMENT_TYPE_SZARRAY is represented as "[]" following the element type of the array.
49+
- `ELEMENT_TYPE_SZARRAY` is represented as "`[]`" following the element type of the array.
5050

51-
- ELEMENT_TYPE_GENERICARRAY is represented as "[?]" following the element type of the array. The MSVC compiler never generates this.
51+
- `ELEMENT_TYPE_GENERICARRAY` is represented as "`[?]`" following the element type of the array. The MSVC compiler never generates this element.
5252

53-
- ELEMENT_TYPE_ARRAY is represented as [*lowerbound*:`size`,*lowerbound*:`size`] where the number of commas is the rank - 1, and the lower bounds and size of each dimension, if known, are represented in decimal. If a lower bound or size is not specified, it is simply omitted. If the lower bound and size for a particular dimension are omitted, the ':' is omitted as well. For example, a 2-dimensional array with 1 as the lower bounds and unspecified sizes is [1:,1:].
53+
- `ELEMENT_TYPE_ARRAY` is represented as `[`lower bound`:`size`,`lower bound`:`size`]` where the number of commas is the rank - 1, and the lower bound and size of each dimension, if known, are represented in decimal. If a lower bound or size isn't specified, it's omitted. If the lower bound and size are omitted for a particular dimension, the '`:`' is omitted as well. For example, a 2-dimensional array with 1 as the lower bound and unspecified sizes is represented as `[1:,1:]`.
5454

55-
- ELEMENT_TYPE_FNPTR is represented as "=FUNC:`type`(*signature*)", where `type` is the return type, and *signature* is the arguments of the method. If there are no arguments, the parentheses are omitted. The MSVC compiler never generates this.
55+
- `ELEMENT_TYPE_FNPTR` is represented as "=FUNC:`type`(*signature*)", where `type` is the return type, and *signature* is the arguments of the method. If there are no arguments, the parentheses are omitted. The MSVC compiler never generates this element.
5656

57-
The following signature components are not represented because they are never used for differentiating overloaded methods:
57+
The following signature components aren't represented because they're never used for differentiating overloaded methods:
5858

59-
- calling convention
59+
- Calling convention
6060

61-
- return type
61+
- Return type
6262

63-
- ELEMENT_TYPE_SENTINEL
63+
- `ELEMENT_TYPE_SENTINEL`
6464

65-
- For conversion operators only, the return value of the method is encoded as a '~' followed by the return type, as previously encoded.
65+
- For conversion operators only, the return value of the method is encoded as a '`~`' followed by the return type, as previously encoded.
6666

6767
- For generic types, the name of the type will be followed by a back tick and then a number that indicates the number of generic type parameters. For example,
6868

6969
```xml
7070
<member name="T:MyClass`2">
7171
```
7272

73-
For a type that is defined as `public class MyClass<T, U>`.
73+
The example shows a type that's defined as `public class MyClass<T, U>`.
7474

75-
For methods taking generic types as parameters, the generic type parameters are specified as numbers prefaced with back ticks (for example \`0, \`1). Each number representing a zero-based array notation for the type's generic parameters.
75+
For methods that take generic types as parameters, the generic type parameters are specified as numbers prefaced with back ticks (for example \`0, \`1). Each number represents a zero-based array position for the type's generic parameters.
7676

7777
## Example
7878

@@ -174,4 +174,4 @@ namespace N {
174174

175175
## See also
176176

177-
[XML Documentation](xml-documentation-visual-cpp.md)
177+
[XML documentation](xml-documentation-visual-cpp.md)

docs/build/reference/example-visual-cpp.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
description: "Learn more about: XML documentation tag <example>"
3-
title: "&lt;example> (C++ documentation comments)"
4-
ms.date: "11/04/2016"
3+
title: "<example> (C++ documentation comments)"
4+
ms.date: 12/03/2021
55
f1_keywords: ["<example>"]
66
helpviewer_keywords: ["<example> C++ XML tag", "example C++ XML tag"]
77
ms.assetid: c821aaa7-7ea7-4bee-9922-6705ad57f877

docs/build/reference/include-visual-cpp.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
description: "Learn more about: XML documentation tag <include>"
3-
title: "&lt;include> (C++ documentation comments)"
4-
ms.date: "11/04/2016"
3+
title: "<include> (C++ documentation comments)"
4+
ms.date: 12/03/2021
55
f1_keywords: ["<include>"]
66
helpviewer_keywords: ["include C++ XML tag", "<include> C++ XML tag"]
77
ms.assetid: 392a3e61-0371-4617-8362-446650876ce3

docs/build/reference/list-visual-cpp.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
---
2-
description: "Learn more about: &lt;list&gt; and &lt;listheader&gt;"
3-
title: "&lt;list> (C++ documentation comments)"
4-
ms.date: "11/04/2016"
2+
description: "Learn more about: <list> and <listheader>"
3+
title: "<list> (C++ documentation comments)"
4+
ms.date: 12/03/2021
55
f1_keywords: ["list"]
66
helpviewer_keywords: ["list C++ XML tag", "<list> C++ XML tag"]
77
ms.assetid: c792a10b-0451-422c-9aa0-604116e69d64
88
---
9-
# &lt;list&gt; and &lt;listheader&gt;
9+
# `<list>` and `<listheader>` documentation tags
1010

11-
The \<listheader> block is used to define the heading row of either a table or definition list. When defining a table, you only need to supply an entry for term in the heading.
11+
The `<listheader>` block is used to define the heading row of either a table or definition list. When defining a table, you only need to supply an entry for term in the heading.
1212

1313
## Syntax
1414

@@ -25,21 +25,21 @@ The \<listheader> block is used to define the heading row of either a table or d
2525
</list>
2626
```
2727

28-
#### Parameters
28+
### Parameters
2929

30-
*term*<br/>
31-
A term to define, which will be defined in `description`.
30+
*`term`*\
31+
A term to define, which will be defined in *`description`*.
3232

33-
*description*<br/>
34-
Either an item in a bullet or numbered list or the definition of a `term`.
33+
*`description`*\
34+
Either an item in a bullet or numbered list or the definition of a *`term`*.
3535

3636
## Remarks
3737

38-
Each item in the list is specified with an \<item> block. When creating a definition list, you will need to specify both `term` and `description`. However, for a table, bulleted list, or numbered list, you only need to supply an entry for `description`.
38+
Each item in the list is specified with an `<item>` block. When creating a definition list, you'll need to specify both *`term`* and *`description`*. However, for a table, bulleted list, or numbered list, you only need to supply an entry for *`description`*.
3939

40-
A list or table can have as many \<item> blocks as needed.
40+
A list or table can have as many `<item>` blocks as needed.
4141

42-
Compile with [/doc](doc-process-documentation-comments-c-cpp.md) to process documentation comments to a file.
42+
Compile with [`/doc`](doc-process-documentation-comments-c-cpp.md) to process documentation comments to a file.
4343

4444
## Example
4545

@@ -62,4 +62,4 @@ class MyClass {};
6262
6363
## See also
6464
65-
[XML Documentation](xml-documentation-visual-cpp.md)
65+
[XML documentation](xml-documentation-visual-cpp.md)
Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,34 @@
11
---
2-
description: "Learn more about: &lt;para&gt;"
3-
title: "&lt;para>"
4-
ms.date: "11/04/2016"
2+
description: "Learn more about: XML documentation tag <para>"
3+
title: "<para> documentation tag"
4+
ms.date: 12/03/2021
55
f1_keywords: ["<para>"]
66
helpviewer_keywords: ["<para> C++ XML tag", "para C++ XML tag"]
77
ms.assetid: 35f2a1b3-bc14-4f13-bcb0-c39ccbf74d59
88
---
9-
# &lt;para&gt;
9+
# `<para>` documentation tag
1010

11-
The \<para> tag is for use inside a tag, such as [\<summary>](summary-visual-cpp.md), [\<remarks>](remarks-visual-cpp.md), or [\<returns>](returns-visual-cpp.md), and lets you add structure to the text.
11+
The `<para>` tag is for use inside a tag, such as [`<summary>`](summary-visual-cpp.md), [`<remarks>`](remarks-visual-cpp.md), or [`<returns>`](returns-visual-cpp.md), and lets you add structure to the text.
1212

1313
## Syntax
1414

15-
```
16-
<para>content</para>
15+
```cpp
16+
/// <para>content</para>
1717
```
1818

19-
#### Parameters
19+
### Parameters
2020

21-
*content*<br/>
21+
*`content`*\
2222
The text of the paragraph.
2323

2424
## Remarks
2525

26-
Compile with [/doc](doc-process-documentation-comments-c-cpp.md) to process documentation comments to a file.
26+
Compile with [`/doc`](doc-process-documentation-comments-c-cpp.md) to process documentation comments to a file.
2727

2828
## Example
2929

30-
See [\<summary>](summary-visual-cpp.md) for an example of using \<para>.
30+
See [`<summary>`](summary-visual-cpp.md) for an example of using `<para>`.
3131

3232
## See also
3333

34-
[XML Documentation](xml-documentation-visual-cpp.md)
34+
[XML documentation](xml-documentation-visual-cpp.md)

0 commit comments

Comments
 (0)