diff --git a/docs/assembler/masm/directives-reference.md b/docs/assembler/masm/directives-reference.md
index 3a2b41e0f2c..648eed3a97b 100644
--- a/docs/assembler/masm/directives-reference.md
+++ b/docs/assembler/masm/directives-reference.md
@@ -11,13 +11,18 @@ ms.assetid: da6efcd1-18f7-41de-81cd-a002a02f9a22
:::row:::
:::column span="":::
- [`.ALLOCSTACK`](dot-allocstack.md)
[`.ENDPROLOG`](dot-endprolog.md)
[`PROC`](proc.md)
+ [`.ALLOCSTACK`](dot-allocstack.md)\
+ [`.ENDPROLOG`](dot-endprolog.md)\
+ [`PROC`](proc.md)
:::column-end:::
:::column span="":::
- [`.PUSHFRAME`](dot-pushframe.md)
[`.PUSHREG`](dot-pushreg.md)
[`.SAVEREG`](dot-savereg.md)
+ [`.PUSHFRAME`](dot-pushframe.md)\
+ [`.PUSHREG`](dot-pushreg.md)\
+ [`.SAVEREG`](dot-savereg.md)
:::column-end:::
:::column span="":::
- [`.SAVEXMM128`](dot-savexmm128.md)
[`.SETFRAME`](dot-setframe.md)
+ [`.SAVEXMM128`](dot-savexmm128.md)\
+ [`.SETFRAME`](dot-setframe.md)
:::column-end:::
:::row-end:::
@@ -25,7 +30,8 @@ ms.assetid: da6efcd1-18f7-41de-81cd-a002a02f9a22
:::row:::
:::column span="":::
- [`ALIGN`](align-masm.md)
[`EVEN`](even.md)
+ [`ALIGN`](align-masm.md)\
+ [`EVEN`](even.md)
:::column-end:::
:::column span="":::
[`LABEL`](label-masm.md)
@@ -39,13 +45,24 @@ ms.assetid: da6efcd1-18f7-41de-81cd-a002a02f9a22
:::row:::
:::column span="":::
- [`ELSE`](else-masm.md)
[`ELSEIF`](elseif-masm.md)
[`ELSEIF2`](elseif2.md)
[`IF`](if-masm.md)
[`IF2`](if2.md)
+ [`ELSE`](else-masm.md)\
+ [`ELSEIF`](elseif-masm.md)\
+ [`ELSEIF2`](elseif2.md)\
+ [`IF`](if-masm.md)\
+ [`IF2`](if2.md)
:::column-end:::
:::column span="":::
- [`IFB`](ifb.md)
[`IFNB`](ifnb.md)
[`IFDEF`](ifdef.md)
[`IFNDEF`](ifndef.md)
[`IFDIF`](ifdif.md)
+ [`IFB`](ifb.md)\
+ [`IFNB`](ifnb.md)\
+ [`IFDEF`](ifdef.md)\
+ [`IFNDEF`](ifndef.md)\
+ [`IFDIF`](ifdif.md)
:::column-end:::
:::column span="":::
- [`IFDIFI`](ifdif.md)
[`IFE`](ife.md)
[`IFIDN`](ifidn.md)
[`IFIDNI`](ifidn.md)
+ [`IFDIFI`](ifdif.md)\
+ [`IFE`](ife.md)\
+ [`IFIDN`](ifidn.md)\
+ [`IFIDNI`](ifidn.md)
:::column-end:::
:::row-end:::
@@ -53,13 +70,21 @@ ms.assetid: da6efcd1-18f7-41de-81cd-a002a02f9a22
:::row:::
:::column span="":::
- [`.BREAK`](dot-break.md)
[`.CONTINUE`](dot-continue.md)
[`.ELSE`](dot-else.md)
[`.ELSEIF`](dot-if.md)
+ [`.BREAK`](dot-break.md)\
+ [`.CONTINUE`](dot-continue.md)\
+ [`.ELSE`](dot-else.md)\
+ [`.ELSEIF`](dot-if.md)
:::column-end:::
:::column span="":::
- [`.ENDIF`](dot-endif.md)
[`.ENDW`](dot-endw.md)
[`.IF`](dot-if.md)
[`.REPEAT`](dot-repeat.md)
+ [`.ENDIF`](dot-endif.md)\
+ [`.ENDW`](dot-endw.md)\
+ [`.IF`](dot-if.md)\
+ [`.REPEAT`](dot-repeat.md)
:::column-end:::
:::column span="":::
- [`.UNTIL`](dot-until.md)
[`.UNTILCXZ`](dot-untilcxz.md)
[`.WHILE`](dot-while.md)
+ [`.UNTIL`](dot-until.md)\
+ [`.UNTILCXZ`](dot-untilcxz.md)\
+ [`.WHILE`](dot-while.md)
:::column-end:::
:::row-end:::
@@ -67,13 +92,22 @@ ms.assetid: da6efcd1-18f7-41de-81cd-a002a02f9a22
:::row:::
:::column span="":::
- [`.ERR`](dot-err.md)
[`.ERR2`](dot-err2.md)
[`.ERRB`](dot-errb.md)
[`.ERRDEF`](dot-errdef.md)
+ [`.ERR`](dot-err.md)\
+ [`.ERR2`](dot-err2.md)\
+ [`.ERRB`](dot-errb.md)\
+ [`.ERRDEF`](dot-errdef.md)
:::column-end:::
:::column span="":::
- [`.ERRDIF`](dot-errdif.md)
[`.ERRDIFI`](dot-errdif.md)
[`.ERRE`](dot-erre.md)
[`.ERRIDN`](dot-erridn.md)
+ [`.ERRDIF`](dot-errdif.md)\
+ [`.ERRDIFI`](dot-errdif.md)\
+ [`.ERRE`](dot-erre.md)\
+ [`.ERRIDN`](dot-erridn.md)
:::column-end:::
:::column span="":::
- [`.ERRIDNI`](dot-erridn.md)
[`.ERRNB`](dot-errnb.md)
[`.ERRNDEF`](dot-errndef.md)
[`.ERRNZ`](dot-errnz.md)
+ [`.ERRIDNI`](dot-erridn.md)\
+ [`.ERRNB`](dot-errnb.md)\
+ [`.ERRNDEF`](dot-errndef.md)\
+ [`.ERRNZ`](dot-errnz.md)
:::column-end:::
:::row-end:::
@@ -81,13 +115,26 @@ ms.assetid: da6efcd1-18f7-41de-81cd-a002a02f9a22
:::row:::
:::column span="":::
- [`ALIGN`](align-masm.md)
[`BYTE`](byte-masm.md)
[`SBYTE`](sbyte-masm.md)
[`DWORD`](dword.md)
[`SDWORD`](sdword.md)
[`EVEN`](even.md)
+ [`ALIGN`](align-masm.md)\
+ [`BYTE`](byte-masm.md)\
+ [`SBYTE`](sbyte-masm.md)\
+ [`DWORD`](dword.md)\
+ [`SDWORD`](sdword.md)\
+ [`EVEN`](even.md)
:::column-end:::
:::column span="":::
- [`FWORD`](fword.md)
[`LABEL`](label-masm.md)
[`ORG`](org.md)
[`QWORD`](qword.md)
[`REAL4`](real4.md)
+ [`FWORD`](fword.md)\
+ [`LABEL`](label-masm.md)\
+ [`ORG`](org.md)\
+ [`QWORD`](qword.md)\
+ [`REAL4`](real4.md)
:::column-end:::
:::column span="":::
- [`REAL8`](real8.md)
[`REAL10`](real10.md)
[`TBYTE`](tbyte.md)
[`WORD`](word.md)
[`SWORD`](sword.md)
+ [`REAL8`](real8.md)\
+ [`REAL10`](real10.md)\
+ [`TBYTE`](tbyte.md)\
+ [`WORD`](word.md)\
+ [`SWORD`](sword.md)
:::column-end:::
:::row-end:::
@@ -109,13 +156,24 @@ ms.assetid: da6efcd1-18f7-41de-81cd-a002a02f9a22
:::row:::
:::column span="":::
- [`.CREF`](dot-cref.md)
[`.LIST`](dot-list.md)
[`.LISTALL`](dot-listall.md)
[`.LISTIF`](dot-listif.md)
[`.LISTMACRO`](dot-listmacro.md)
+ [`.CREF`](dot-cref.md)\
+ [`.LIST`](dot-list.md)\
+ [`.LISTALL`](dot-listall.md)\
+ [`.LISTIF`](dot-listif.md)\
+ [`.LISTMACRO`](dot-listmacro.md)
:::column-end:::
:::column span="":::
- [`.LISTMACROALL`](dot-listmacroall.md)
[`.NOCREF`](dot-nocref.md)
[`.NOLIST`](dot-nolist.md)
[`.NOLISTIF`](dot-nolistif.md)
[`.NOLISTMACRO`](dot-nolistmacro.md)
+ [`.LISTMACROALL`](dot-listmacroall.md)\
+ [`.NOCREF`](dot-nocref.md)\
+ [`.NOLIST`](dot-nolist.md)\
+ [`.NOLISTIF`](dot-nolistif.md)\
+ [`.NOLISTMACRO`](dot-nolistmacro.md)
:::column-end:::
:::column span="":::
- [`PAGE`](page.md)
[`SUBTITLE`](subtitle.md)
[`.TFCOND`](dot-tfcond.md)
[`TITLE`](title.md)
+ [`PAGE`](page.md)\
+ [`SUBTITLE`](subtitle.md)\
+ [`.TFCOND`](dot-tfcond.md)\
+ [`TITLE`](title.md)
:::column-end:::
:::row-end:::
@@ -123,29 +181,43 @@ ms.assetid: da6efcd1-18f7-41de-81cd-a002a02f9a22
:::row:::
:::column span="":::
- [`ENDM`](endm.md)
[`EXITM`](exitm.md)
+ [`ENDM`](endm.md)\
+ [`EXITM`](exitm.md)
:::column-end:::
:::column span="":::
- [`GOTO`](goto-masm.md)
[`LOCAL`](local-masm.md)
+ [`GOTO`](goto-masm.md)\
+ [`LOCAL`](local-masm.md)
:::column-end:::
:::column span="":::
- [`MACRO`](macro.md)
[`PURGE`](purge.md)
+ [`MACRO`](macro.md)\
+ [`PURGE`](purge.md)
:::column-end:::
:::row-end:::
-
-
## Miscellaneous
:::row:::
:::column span="":::
- [`ALIAS`](alias-masm.md)
[`ASSUME`](assume.md)
[`COMMENT`](comment-masm.md)
[`ECHO`](echo.md)
[`END`](end-masm.md)
[`.FPO`](dot-fpo.md)
+ [`ALIAS`](alias-masm.md)\
+ [`ASSUME`](assume.md)\
+ [`COMMENT`](comment-masm.md)\
+ [`ECHO`](echo.md)\
+ [`END`](end-masm.md)\
+ [`.FPO`](dot-fpo.md)
:::column-end:::
:::column span="":::
- [`INCLUDE`](include-masm.md)
[`INCLUDELIB`](includelib-masm.md)
[`MMWORD`](mmword.md)
[`OPTION`](option-masm.md)
[`POPCONTEXT`](popcontext.md)
+ [`INCLUDE`](include-masm.md)\
+ [`INCLUDELIB`](includelib-masm.md)\
+ [`MMWORD`](mmword.md)\
+ [`OPTION`](option-masm.md)\
+ [`POPCONTEXT`](popcontext.md)
:::column-end:::
:::column span="":::
- [`PUSHCONTEXT`](pushcontext.md)
[`.RADIX`](dot-radix.md)
[`.SAFESEH`](dot-safeseh.md)
[`XMMWORD`](xmmword.md)
[`YMMWORD`](ymmword.md)
+ [`PUSHCONTEXT`](pushcontext.md)\
+ [`.RADIX`](dot-radix.md)\
+ [`.SAFESEH`](dot-safeseh.md)\
+ [`XMMWORD`](xmmword.md)\
+ [`YMMWORD`](ymmword.md)
:::column-end:::
:::row-end:::
@@ -153,7 +225,8 @@ ms.assetid: da6efcd1-18f7-41de-81cd-a002a02f9a22
:::row:::
:::column span="":::
- [`ENDP`](endp.md)
[`INVOKE`](invoke.md)
+ [`ENDP`](endp.md)\
+ [`INVOKE`](invoke.md)
:::column-end:::
:::column span="":::
[`PROC`](proc.md)
@@ -167,13 +240,22 @@ ms.assetid: da6efcd1-18f7-41de-81cd-a002a02f9a22
:::row:::
:::column span="":::
- [`.386`](dot-386.md)
[`.386P`](dot-386p.md)
[`.387`](dot-387.md)
[`.486`](dot-486.md)
+ [`.386`](dot-386.md)\
+ [`.386P`](dot-386p.md)\
+ [`.387`](dot-387.md)\
+ [`.486`](dot-486.md)
:::column-end:::
:::column span="":::
- [`.486P`](dot-486p.md)
[`.586`](dot-586.md)
[`.586P`](dot-586p.md)
[`.686`](dot-686.md)
+ [`.486P`](dot-486p.md)\
+ [`.586`](dot-586.md)\
+ [`.586P`](dot-586p.md)\
+ [`.686`](dot-686.md)
:::column-end:::
:::column span="":::
- [`.686P`](dot-686p.md)
[`.K3D`](dot-k3d.md)
[`.MMX`](dot-mmx.md)
[`.XMM`](dot-xmm.md)
+ [`.686P`](dot-686p.md)\
+ [`.K3D`](dot-k3d.md)\
+ [`.MMX`](dot-mmx.md)\
+ [`.XMM`](dot-xmm.md)
:::column-end:::
:::row-end:::
@@ -181,13 +263,16 @@ ms.assetid: da6efcd1-18f7-41de-81cd-a002a02f9a22
:::row:::
:::column span="":::
- [`ENDM`](endm.md)
[`FOR`](for-masm.md)
+ [`ENDM`](endm.md)\
+ [`FOR`](for-masm.md)
:::column-end:::
:::column span="":::
- [`FORC`](forc.md)
[`GOTO`](goto-masm.md)
+ [`FORC`](forc.md)\
+ [`GOTO`](goto-masm.md)
:::column-end:::
:::column span="":::
- [`REPEAT`](repeat.md)
[`WHILE`](while-masm.md)
+ [`REPEAT`](repeat.md)\
+ [`WHILE`](while-masm.md)
:::column-end:::
:::row-end:::
@@ -195,10 +280,12 @@ ms.assetid: da6efcd1-18f7-41de-81cd-a002a02f9a22
:::row:::
:::column span="":::
- [`COMM`](comm.md)
[`EXTERN`](extern-masm.md)
+ [`COMM`](comm.md)\
+ [`EXTERN`](extern-masm.md)
:::column-end:::
:::column span="":::
- [`EXTERNDEF`](externdef.md)
[`INCLUDELIB`](includelib-masm.md)
+ [`EXTERNDEF`](externdef.md)\
+ [`INCLUDELIB`](includelib-masm.md)
:::column-end:::
:::column span="":::
[`PUBLIC`](public-masm.md)
@@ -209,13 +296,18 @@ ms.assetid: da6efcd1-18f7-41de-81cd-a002a02f9a22
:::row:::
:::column span="":::
- [`.ALPHA`](dot-alpha.md)
[`ASSUME`](assume.md)
[`.DOSSEG`](dot-dosseg.md)
+ [`.ALPHA`](dot-alpha.md)\
+ [`ASSUME`](assume.md)\
+ [`.DOSSEG`](dot-dosseg.md)
:::column-end:::
:::column span="":::
- [`END`](end-masm.md)
[`ENDS`](ends-masm.md)
[`GROUP`](group.md)
+ [`END`](end-masm.md)\
+ [`ENDS`](ends-masm.md)\
+ [`GROUP`](group.md)
:::column-end:::
:::column span="":::
- [`SEGMENT`](segment.md)
[`.SEQ`](dot-seq.md)
+ [`SEGMENT`](segment.md)\
+ [`.SEQ`](dot-seq.md)
:::column-end:::
:::row-end:::
@@ -223,13 +315,21 @@ ms.assetid: da6efcd1-18f7-41de-81cd-a002a02f9a22
:::row:::
:::column span="":::
- [`.CODE`](dot-code.md)
[`.CONST`](dot-const.md)
[`.DATA`](dot-data.md)
[`.DATA?`](dot-data-q.md)
+ [`.CODE`](dot-code.md)\
+ [`.CONST`](dot-const.md)\
+ [`.DATA`](dot-data.md)\
+ [`.DATA?`](dot-data-q.md)
:::column-end:::
:::column span="":::
- [`.DOSSEG`](dot-dosseg.md)
[`.EXIT`](dot-exit.md)
[`.FARDATA`](dot-fardata.md)
[`.FARDATA?`](dot-fardata-q.md)
+ [`.DOSSEG`](dot-dosseg.md)\
+ [`.EXIT`](dot-exit.md)\
+ [`.FARDATA`](dot-fardata.md)\
+ [`.FARDATA?`](dot-fardata-q.md)
:::column-end:::
:::column span="":::
- [`.MODEL`](dot-model.md)
[`.STACK`](dot-stack.md)
[`.STARTUP`](dot-startup.md)
+ [`.MODEL`](dot-model.md)\
+ [`.STACK`](dot-stack.md)\
+ [`.STARTUP`](dot-startup.md)
:::column-end:::
:::row-end:::
@@ -237,7 +337,8 @@ ms.assetid: da6efcd1-18f7-41de-81cd-a002a02f9a22
:::row:::
:::column span="":::
- [`CATSTR`](catstr.md)
[`INSTR`](instr.md)
+ [`CATSTR`](catstr.md)\
+ [`INSTR`](instr.md)
:::column-end:::
:::column span="":::
[`SIZESTR`](sizestr.md)
@@ -251,10 +352,12 @@ ms.assetid: da6efcd1-18f7-41de-81cd-a002a02f9a22
:::row:::
:::column span="":::
- [`ENDS`](ends-masm.md)
[`RECORD`](record-masm.md)
+ [`ENDS`](ends-masm.md)\
+ [`RECORD`](record-masm.md)
:::column-end:::
:::column span="":::
- [`STRUCT`](struct-masm.md)
[`TYPEDEF`](typedef-masm.md)
+ [`STRUCT`](struct-masm.md)\
+ [`TYPEDEF`](typedef-masm.md)
:::column-end:::
:::column span="":::
[`UNION`](union.md)
diff --git a/docs/assembler/masm/operators-reference.md b/docs/assembler/masm/operators-reference.md
index 0fcee06c94b..37fa77dfbd8 100644
--- a/docs/assembler/masm/operators-reference.md
+++ b/docs/assembler/masm/operators-reference.md
@@ -10,13 +10,17 @@ ms.assetid: c069cab7-d6b0-4f82-a6ce-0ca3fc7e6428
:::row:::
:::column span="":::
- [`*` (multiply)](operator-multiply.md)
[`+` (add)](operator-add.md)
[`-` (subtract or negate)](operator-subtract-2.md)
+ [`*` (multiply)](operator-multiply.md)\
+ [`+` (add)](operator-add.md)\
+ [`-` (subtract or negate)](operator-subtract-2.md)
:::column-end:::
:::column span="":::
- [`.` (field)](operator-dot.md)
[`/` (divide)](operator-subtract-1.md)
+ [`.` (field)](operator-dot.md)\
+ [`/` (divide)](operator-subtract-1.md)
:::column-end:::
:::column span="":::
- [`[]` (index)](operator-brackets.md)
[`MOD` (remainder)](operator-mod.md)
+ [`[]` (index)](operator-brackets.md)\
+ [`MOD` (remainder)](operator-mod.md)
:::column-end:::
:::row-end:::
@@ -24,13 +28,25 @@ ms.assetid: c069cab7-d6b0-4f82-a6ce-0ca3fc7e6428
:::row:::
:::column span="":::
- [`!` (runtime logical not)](operator-logical-not-masm-run-time.md)
[`!=` (runtime not equal)](operator-not-equal-masm.md)
[`||` (runtime logical or)](operator-logical-or.md)
[`&&` (runtime logical and)](operator-logical-and-masm-run-time.md)
[`<` (runtime less than)](operator-less-than-masm-run-time.md)
+ [`!` (runtime logical not)](operator-logical-not-masm-run-time.md)\
+ [`!=` (runtime not equal)](operator-not-equal-masm.md)\
+ [`||` (runtime logical or)](operator-logical-or.md)\
+ [`&&` (runtime logical and)](operator-logical-and-masm-run-time.md)\
+ [`<` (runtime less than)](operator-less-than-masm-run-time.md)
:::column-end:::
:::column span="":::
- [`<=` (runtime less or equal)](operator-less-or-equal-masm-run-time.md)
[`==` (runtime equal)](operator-equal-masm-run-time.md)
[`>` (runtime greater than)](operator-greater-than-masm-run-time.md)
[`>=` (runtime greater or equal)](operator-greater-or-equal-masm-run-time.md)
[`&` (runtime bitwise and)](operator-bitwise-and.md)
+ [`<=` (runtime less or equal)](operator-less-or-equal-masm-run-time.md)\
+ [`==` (runtime equal)](operator-equal-masm-run-time.md)\
+ [`>` (runtime greater than)](operator-greater-than-masm-run-time.md)\
+ [`>=` (runtime greater or equal)](operator-greater-or-equal-masm-run-time.md)\
+ [`&` (runtime bitwise and)](operator-bitwise-and.md)
:::column-end:::
:::column span="":::
- [`CARRY?` (runtime carry test)](operator-carry-q.md)
[`OVERFLOW?` (runtime overflow test)](operator-overflow-q.md)
[`PARITY?` (runtime parity test)](operator-parity-q.md)
[`SIGN?` (runtime sign test)](operator-sign-q.md)
[`ZERO?` (runtime zero test)](operator-zero-q.md)
+ [`CARRY?` (runtime carry test)](operator-carry-q.md)\
+ [`OVERFLOW?` (runtime overflow test)](operator-overflow-q.md)\
+ [`PARITY?` (runtime parity test)](operator-parity-q.md)\
+ [`SIGN?` (runtime sign test)](operator-sign-q.md)\
+ [`ZERO?` (runtime zero test)](operator-zero-q.md)
:::column-end:::
:::row-end:::
@@ -38,13 +54,16 @@ ms.assetid: c069cab7-d6b0-4f82-a6ce-0ca3fc7e6428
:::row:::
:::column span="":::
- [`AND` (bitwise and)](operator-and.md)
[`NOT` (bitwise not)](operator-not.md)
+ [`AND` (bitwise and)](operator-and.md)\
+ [`NOT` (bitwise not)](operator-not.md)
:::column-end:::
:::column span="":::
- [`OR` (bitwise or)](operator-or.md)
[`SHL` (shift bits left)](operator-shl.md)
+ [`OR` (bitwise or)](operator-or.md)\
+ [`SHL` (shift bits left)](operator-shl.md)
:::column-end:::
:::column span="":::
- [`SHR` (shift bits right)](operator-shr.md)
[`XOR` (bitwise exclusive or)](operator-xor.md)
+ [`SHR` (shift bits right)](operator-shr.md)\
+ [`XOR` (bitwise exclusive or)](operator-xor.md)
:::column-end:::
:::row-end:::
@@ -52,10 +71,12 @@ ms.assetid: c069cab7-d6b0-4f82-a6ce-0ca3fc7e6428
:::row:::
:::column span="":::
- [`!` (character literal)](operator-logical-not-masm.md)
[`%` (treat as text)](operator-percent.md)
+ [`!` (character literal)](operator-logical-not-masm.md)\
+ [`%` (treat as text)](operator-percent.md)
:::column-end:::
:::column span="":::
- [`;;` (treat as comment)](operator-semicolons.md)
[`< >` (treat as one literal)](operator-literal.md)
+ [`;;` (treat as comment)](operator-semicolons.md)\
+ [`< >` (treat as one literal)](operator-literal.md)
:::column-end:::
:::column span="":::
[`& &` (substitute parameter value)](operator-logical-and-masm.md)
@@ -66,13 +87,17 @@ ms.assetid: c069cab7-d6b0-4f82-a6ce-0ca3fc7e6428
:::row:::
:::column span="":::
- [`' '` (treat as string)](operator-single-quote.md)
[`" "` (treat as string)](operator-double-quote.md)
`:` (local label definition)
+ [`' '` (treat as string)](operator-single-quote.md)\
+ [`" "` (treat as string)](operator-double-quote.md)\
+ `:` (local label definition)
:::column-end:::
:::column span="":::
- `::` (register segment and offset)
`::` (global label definition)
+ `::` (register segment and offset)\
+ `::` (global label definition)
:::column-end:::
:::column span="":::
- [`;` (treat as comment)](operator-semicolon.md)
[`DUP` (repeat declaration)](operator-dup.md)
+ [`;` (treat as comment)](operator-semicolon.md)\
+ [`DUP` (repeat declaration)](operator-dup.md)
:::column-end:::
:::row-end:::
@@ -91,13 +116,16 @@ ms.assetid: c069cab7-d6b0-4f82-a6ce-0ca3fc7e6428
:::row:::
:::column span="":::
- [`EQ` (equal)](operator-eq.md)
[`GE` (greater or equal)](operator-ge.md)
+ [`EQ` (equal)](operator-eq.md)\
+ [`GE` (greater or equal)](operator-ge.md)
:::column-end:::
:::column span="":::
- [`GT` (greater than)](operator-gt.md)
[`LE` (less or equal)](operator-le.md)
+ [`GT` (greater than)](operator-gt.md)\
+ [`LE` (less or equal)](operator-le.md)
:::column-end:::
:::column span="":::
- [`LT` (less than)](operator-lt.md)
[`NE` (not equal)](operator-ne.md)
+ [`LT` (less than)](operator-lt.md)\
+ [`NE` (not equal)](operator-ne.md)
:::column-end:::
:::row-end:::
@@ -105,13 +133,17 @@ ms.assetid: c069cab7-d6b0-4f82-a6ce-0ca3fc7e6428
:::row:::
:::column span="":::
- [`:` (segment override)](operator-colon.md)
`::` (register segment and offset)
[`IMAGEREL` (image relative offset)](operator-imagerel.md)
+ [`:` (segment override)](operator-colon.md)\
+ `::` (register segment and offset)\
+ [`IMAGEREL` (image relative offset)](operator-imagerel.md)
:::column-end:::
:::column span="":::
- [`LROFFSET` (loader resolved offset)](operator-lroffset.md)
[`OFFSET` (segment relative offset)](operator-offset.md)
+ [`LROFFSET` (loader resolved offset)](operator-lroffset.md)\
+ [`OFFSET` (segment relative offset)](operator-offset.md)
:::column-end:::
:::column span="":::
- [`SECTIONREL` (section relative offset)](operator-sectionrel.md)
[`SEG` (get segment)](operator-seg.md)
+ [`SECTIONREL` (section relative offset)](operator-sectionrel.md)\
+ [`SEG` (get segment)](operator-seg.md)
:::column-end:::
:::row-end:::
@@ -119,13 +151,26 @@ ms.assetid: c069cab7-d6b0-4f82-a6ce-0ca3fc7e6428
:::row:::
:::column span="":::
- [`HIGH` (high 8 bits of lowest 16 bits)](operator-high.md)
[`HIGH32` (high 32 bits of 64 bits)](operator-high32.md)
[`HIGHWORD` (high 16 bits of lowest 32 bits)](operator-highword.md)
[`LENGTH` (number of elements in array)](operator-length.md)
[`LENGTHOF` (number of elements in array)](operator-lengthof.md)
[`LOW` (low 8 bits)](operator-low.md)
+ [`HIGH` (high 8 bits of lowest 16 bits)](operator-high.md)\
+ [`HIGH32` (high 32 bits of 64 bits)](operator-high32.md)\
+ [`HIGHWORD` (high 16 bits of lowest 32 bits)](operator-highword.md)\
+ [`LENGTH` (number of elements in array)](operator-length.md)\
+ [`LENGTHOF` (number of elements in array)](operator-lengthof.md)\
+ [`LOW` (low 8 bits)](operator-low.md)
:::column-end:::
:::column span="":::
- [`LOW32` (low 32 bits)](operator-low32.md)
[`LOWWORD` (low 16 bits)](operator-lowword.md)
[`OPATTR` (get argument type info)](operator-opattr.md)
[`PTR` (pointer to or as type)](operator-ptr.md)
[`SHORT` (mark short label type)](operator-short.md)
+ [`LOW32` (low 32 bits)](operator-low32.md)\
+ [`LOWWORD` (low 16 bits)](operator-lowword.md)\
+ [`OPATTR` (get argument type info)](operator-opattr.md)\
+ [`PTR` (pointer to or as type)](operator-ptr.md)\
+ [`SHORT` (mark short label type)](operator-short.md)
:::column-end:::
:::column span="":::
- [`SIZE` (size of type or variable)](operator-size.md)
[`SIZEOF` (size of type or variable)](operator-sizeof.md)
[`THIS` (current location)](operator-this.md)
[`TYPE` (get expression type)](operator-type.md)
[`.TYPE` (get argument type info)](operator-dot-type.md)
+ [`SIZE` (size of type or variable)](operator-size.md)\
+ [`SIZEOF` (size of type or variable)](operator-sizeof.md)\
+ [`THIS` (current location)](operator-this.md)\
+ [`TYPE` (get expression type)](operator-type.md)\
+ [`.TYPE` (get argument type info)](operator-dot-type.md)
:::column-end:::
:::row-end:::
diff --git a/docs/assembler/masm/option-masm.md b/docs/assembler/masm/option-masm.md
index 7ed4aa9a077..c5114e6dfc2 100644
--- a/docs/assembler/masm/option-masm.md
+++ b/docs/assembler/masm/option-masm.md
@@ -19,16 +19,40 @@ Available options include:
:::row:::
:::column span="":::
- **`CASEMAP`**
**`DOTNAME`**
**`NODOTNAME`**
**`EMULATOR`**
**`NOEMULATOR`**
**`EPILOGUE`**
**`EXPR16`**
+ **`CASEMAP`**\
+ **`DOTNAME`**\
+ **`NODOTNAME`**\
+ **`EMULATOR`**\
+ **`NOEMULATOR`**\
+ **`EPILOGUE`**\
+ **`EXPR16`**
:::column-end:::
:::column span="":::
- **`EXPR32`**
**`LANGUAGE`**
**`LJMP`**
**`NOLJMP`**
**`M510`**
**`NOM510`**
**`NOKEYWORD`**
+ **`EXPR32`**\
+ **`LANGUAGE`**\
+ **`LJMP`**\
+ **`NOLJMP`**\
+ **`M510`**\
+ **`NOM510`**\
+ **`NOKEYWORD`**
:::column-end:::
:::column span="":::
- **`NOSIGNEXTEND`**
**`OFFSET`**
**`OLDMACROS`**
**`NOOLDMACROS`**
**`OLDSTRUCTS`**
**`NOOLDSTRUCTS`**
**`PROC`**
+ **`NOSIGNEXTEND`**\
+ **`OFFSET`**\
+ **`OLDMACROS`**\
+ **`NOOLDMACROS`**\
+ **`OLDSTRUCTS`**\
+ **`NOOLDSTRUCTS`**\
+ **`PROC`**
:::column-end:::
:::column span="":::
- **`PROLOGUE`**
**`READONLY`**
**`NOREADONLY`**
**`SCOPED`**
**`NOSCOPED`**
**`SEGMENT`**
**`SETIF2`**
+ **`PROLOGUE`**\
+ **`READONLY`**\
+ **`NOREADONLY`**\
+ **`SCOPED`**\
+ **`NOSCOPED`**\
+ **`SEGMENT`**\
+ **`SETIF2`**
:::column-end:::
:::row-end:::
diff --git a/docs/assembler/masm/symbols-reference.md b/docs/assembler/masm/symbols-reference.md
index 5e2049581b6..0762c3f4b80 100644
--- a/docs/assembler/masm/symbols-reference.md
+++ b/docs/assembler/masm/symbols-reference.md
@@ -69,7 +69,8 @@ ms.assetid: 96ed59cc-dafa-4299-bb2e-9c7c3f496491
:::row:::
:::column span="":::
- [`$`](dollar.md)
[`?`](q.md)
+ [`$`](dollar.md)\
+ [`?`](q.md)
:::column-end:::
:::column span="":::
[`@@:`](at-at.md)
@@ -86,16 +87,22 @@ ms.assetid: 96ed59cc-dafa-4299-bb2e-9c7c3f496491
:::row:::
:::column span="":::
- [`@code`](at-code.md)
[`@CodeSize`](at-codesize.md)
[`@CurSeg`](at-curseg.md)
+ [`@code`](at-code.md)\
+ [`@CodeSize`](at-codesize.md)\
+ [`@CurSeg`](at-curseg.md)
:::column-end:::
:::column span="":::
- [`@data`](at-data.md)
[`@DataSize`](at-datasize.md)
[`@fardata`](at-fardata.md)
+ [`@data`](at-data.md)\
+ [`@DataSize`](at-datasize.md)\
+ [`@fardata`](at-fardata.md)
:::column-end:::
:::column span="":::
- [`@fardata?`](at-fardata-q.md)
[`@Model`](at-model.md)
+ [`@fardata?`](at-fardata-q.md)\
+ [`@Model`](at-model.md)
:::column-end:::
:::column span="":::
- [`@stack`](at-stack.md)
[`@WordSize`](at-wordsize.md)
+ [`@stack`](at-stack.md)\
+ [`@WordSize`](at-wordsize.md)
:::column-end:::
:::row-end:::
diff --git a/docs/atl-mfc-shared/reference/coledatetimespan-class.md b/docs/atl-mfc-shared/reference/coledatetimespan-class.md
index 16967137809..f9f9ad194f4 100644
--- a/docs/atl-mfc-shared/reference/coledatetimespan-class.md
+++ b/docs/atl-mfc-shared/reference/coledatetimespan-class.md
@@ -42,7 +42,7 @@ class COleDateTimeSpan
### Public Operators
-|||
+|Name|Description|
|-|-|
|[operator +, -](#operator_add_-)|Add, subtract, and change sign for `COleDateTimeSpan` values.|
|[operator +=, -=](#operator_add_eq_-_eq)|Add and subtract a `COleDateTimeSpan` value from this `COleDateTimeSpan` value.|
diff --git a/docs/atl-mfc-shared/reference/cstringdata-class.md b/docs/atl-mfc-shared/reference/cstringdata-class.md
index 2aea7d71a26..17e82ec47c9 100644
--- a/docs/atl-mfc-shared/reference/cstringdata-class.md
+++ b/docs/atl-mfc-shared/reference/cstringdata-class.md
@@ -19,7 +19,7 @@ struct CStringData
### Methods
-|||
+|Name|Description|
|-|-|
|[AddRef](#addref)|Increments the reference count of the string data object.|
|[data](#data)|Retrieves the character data of a string object.|
@@ -31,7 +31,7 @@ struct CStringData
### Data Members
-|||
+|Name|Description|
|-|-|
|[nAllocLength](#nalloclength)|Length of allocated data in `XCHAR`s (not including terminating null)|
|[nDataLength](#ndatalength)|Length of currently used data in `XCHAR`s (not including terminating null)|
diff --git a/docs/atl-mfc-shared/reference/cstringt-class.md b/docs/atl-mfc-shared/reference/cstringt-class.md
index 0965d5a9938..5ebdbc635bd 100644
--- a/docs/atl-mfc-shared/reference/cstringt-class.md
+++ b/docs/atl-mfc-shared/reference/cstringt-class.md
@@ -98,7 +98,7 @@ Determines if the string class needs C Run-Time (CRT) Library support and where
### Operators
-|||
+|Name|Description|
|-|-|
|[CStringT::operator =](#operator_eq)|Assigns a new value to a `CStringT` object.|
|[CStringT::operator +](#operator_add)|Concatenates two strings or a character and a string.|
diff --git a/docs/atl-mfc-shared/reference/ctime-class.md b/docs/atl-mfc-shared/reference/ctime-class.md
index 7703f13a37b..6da33fc06c9 100644
--- a/docs/atl-mfc-shared/reference/ctime-class.md
+++ b/docs/atl-mfc-shared/reference/ctime-class.md
@@ -46,7 +46,7 @@ class CTime
### Operators
-|||
+|Name|Description|
|-|-|
|[operator + -](#operator_add_-)|These operators add and subtract `CTimeSpan` and `CTime` objects.|
|[operator +=, -=](#operator_add_eq_-_eq)|These operators add and subtract a `CTimeSpan` object to and from this `CTime` object.|
diff --git a/docs/atl-mfc-shared/reference/ctimespan-class.md b/docs/atl-mfc-shared/reference/ctimespan-class.md
index abebccea3e2..83653567b7e 100644
--- a/docs/atl-mfc-shared/reference/ctimespan-class.md
+++ b/docs/atl-mfc-shared/reference/ctimespan-class.md
@@ -40,7 +40,7 @@ class CTimeSpan
### Operators
-|||
+|Name|Description|
|-|-|
|[operator + -](#operator_add_-)|Adds and subtracts `CTimeSpan` objects.|
|[operator += -=](#operator_add_eq_-_eq)|Adds and subtracts a `CTimeSpan` object to and from this `CTimeSpan`.|
diff --git a/docs/atl-mfc-shared/reference/iatlstringmgr-class.md b/docs/atl-mfc-shared/reference/iatlstringmgr-class.md
index ddf9bc330ee..89aea9838d0 100644
--- a/docs/atl-mfc-shared/reference/iatlstringmgr-class.md
+++ b/docs/atl-mfc-shared/reference/iatlstringmgr-class.md
@@ -19,7 +19,7 @@ __interface IAtlStringMgr
### Methods
-|||
+|Name|Description|
|-|-|
|[Allocate](#allocate)|Call this method to allocate a new string data structure.|
|[Clone](#clone)|Call this method to return a pointer to a new string manager for use with another instance of `CSimpleStringT`.|
diff --git a/docs/atl-mfc-shared/unicode-and-multibyte-character-set-mbcs-support.md b/docs/atl-mfc-shared/unicode-and-multibyte-character-set-mbcs-support.md
index 849f8d788f9..d67c6e39e9a 100644
--- a/docs/atl-mfc-shared/unicode-and-multibyte-character-set-mbcs-support.md
+++ b/docs/atl-mfc-shared/unicode-and-multibyte-character-set-mbcs-support.md
@@ -19,13 +19,34 @@ The entire MFC class library is conditionally enabled for Unicode characters and
These library, debugger, and DLL files are used to support Unicode in MFC:
-|||||
-|-|-|-|-|
-|UAFXCW.LIB|UAFXCW.PDB|UAFXCWD.LIB|UAFXCWD.PDB|
-|MFC*version*U.LIB|MFC*version*U.PDB|MFC*version*U.DLL|MFC*version*UD.LIB|
-|MFC*version*UD.PDB|MFC*version*UD.DLL|MFCS*version*U.LIB|MFCS*version*U.PDB|
-|MFCS*version*UD.LIB|MFCS*version*UD.PDB|MFCM*version*U.LIB|MFCM*version*U.PDB|
-|MFCM*version*U.DLL|MFCM*version*UD.LIB|MFCM*version*UD.PDB|MFCM*version*UD.DLL|
+:::row:::
+ :::column span="":::
+ MFC*version*U.LIB\
+ MFC*version*UD.LIB\
+ MFCM*version*U.LIB\
+ MFCM*version*UD.LIB\
+ MFCS*version*U.LIB\
+ MFCS*version*UD.LIB\
+ UAFXCW.LIB\
+ UAFXCWD.LIB
+ :::column-end:::
+ :::column span="":::
+ MFC*version*U.PDB\
+ MFC*version*UD.PDB\
+ MFCM*version*U.PDB\
+ MFCM*version*UD.PDB\
+ MFCS*version*U.PDB\
+ MFCS*version*UD.PDB\
+ UAFXCW.PDB\
+ UAFXCWD.PDB
+ :::column-end:::
+ :::column span="":::
+ MFC*version*U.DLL\
+ MFC*version*UD.DLL\
+ MFCM*version*U.DLL\
+ MFCM*version*UD.DLL
+ :::column-end:::
+:::row-end:::
(*version* represents the version number of the file; for example, '140' means version 14.0.)
@@ -45,7 +66,7 @@ To complete Unicode programming of your application, you must also:
- Use LPTSTR where you would use **`char`**\*.
- - Use LPCTSTR where you would use **const char**\*. `CString` provides the operator LPCTSTR to convert between `CString` and LPCTSTR.
+ - Use LPCTSTR where you would use **`const char`**\*. `CString` provides the operator LPCTSTR to convert between `CString` and LPCTSTR.
`CString` also supplies Unicode-aware constructors, assignment operators, and comparison operators.
@@ -66,7 +87,7 @@ Under DBCS, a given string can contain all single-byte ANSI characters, all doub
`CString` member functions use special "generic text" versions of the C run-time functions they call, or they use Unicode-aware functions. Therefore, for example, if a `CString` function would typically call `strcmp`, it calls the corresponding generic-text function `_tcscmp` instead. Depending on how the symbols _MBCS and _UNICODE are defined, `_tcscmp` maps as follows:
-|||
+|Symbols|Function|
|-|-|
|_MBCS defined|`_mbscmp`|
|_UNICODE defined|`wcscmp`|
diff --git a/docs/atl/atl-class-overview.md b/docs/atl/atl-class-overview.md
index fffa86786ce..91123ba0689 100644
--- a/docs/atl/atl-class-overview.md
+++ b/docs/atl/atl-class-overview.md
@@ -1,40 +1,55 @@
---
-title: "ATL Class Overview"
+title: "ATL class overview"
ms.date: "11/04/2016"
helpviewer_keywords: ["classes [C++], ATL", "ATL, class reference"]
ms.assetid: c38ac93d-c3a2-4ce7-8153-f1d34c0f0fa6
---
-# ATL Class Overview
+# ATL class overview
Classes in the Active Template Library (ATL) can be categorized as follows:
-|||
-|-|-|
-|[Class Factories](../atl/class-factories-classes.md)|[Memory Management](../atl/memory-management-classes.md)|
-|[Class Information](../atl/class-information-classes.md)|[MMC Snap-In](../atl/mmc-snap-in-classes.md)|
-|[Collection](../atl/collection-classes.md)|[Object Safety](../atl/object-safety-classes.md)|
-|[COM Modules](../atl/com-modules-classes.md)|[Persistence](../atl/persistence-classes.md)|
-|[Composite Controls](../atl/composite-controls-classes.md)|[Properties and Property Pages](../atl/properties-and-property-pages-classes.md)|
-|[Connection Points](../atl/connection-points-classes.md)|[Registry Support](../atl/registry-support-classes.md)|
-|[Control Containment](../atl/control-containment-classes.md)|[Running Objects](../atl/running-objects-classes.md)|
-|[Controls: General Support](../atl/controls-general-support-classes.md)|[Security](../atl/security-classes.md)|
-|[Data Transfer](../atl/data-transfer-classes.md)|[Service Provider Support](../atl/service-provider-support-classes.md)|
-|[Data Types](../atl/data-types-classes.md)|[Site Information](../atl/site-information-classes.md)|
-|[Debugging and Exception](../atl/debugging-and-exceptions-classes.md)|[String and Text](../atl/string-and-text-classes.md)|
-|[Dual Interfaces](../atl/dual-interfaces-classes.md)|[Tear-Off Interfaces](../atl/tear-off-interfaces-classes.md)|
-|[Enumerators and Collections](../atl/enumerators-and-collections-classes.md)|[Thread Pooling](../atl/thread-pooling-classes.md)|
-|[Error Information](../atl/error-information-classes.md)|[Threading Models and Critical Sections](../atl/threading-models-and-critical-sections-classes.md)|
-|[File Handling](../atl/file-handling-classes.md)|[UI Support](../atl/ui-support-classes.md)|
-|[Interface Pointers](../atl/interface-pointers-classes.md)|[Windows Support](../atl/windows-support-classes.md)|
-|[IUnknown Implementation](../atl/iunknown-implementation-classes.md)|[Utility](../atl/utility-classes.md)|
+[Class factories](../atl/class-factories-classes.md)\
+[Class information](../atl/class-information-classes.md)\
+[Collection](../atl/collection-classes.md)\
+[COM modules](../atl/com-modules-classes.md)\
+[Composite controls](../atl/composite-controls-classes.md)\
+[Connection points](../atl/connection-points-classes.md)\
+[Control containment](../atl/control-containment-classes.md)\
+[Controls: General support](../atl/controls-general-support-classes.md)\
+[Data transfer](../atl/data-transfer-classes.md)\
+[Data types](../atl/data-types-classes.md)\
+[Debugging and exception](../atl/debugging-and-exceptions-classes.md)\
+[Dual interfaces](../atl/dual-interfaces-classes.md)\
+[Enumerators and collections](../atl/enumerators-and-collections-classes.md)\
+[Error information](../atl/error-information-classes.md)\
+[File handling](../atl/file-handling-classes.md)\
+[Interface pointers](../atl/interface-pointers-classes.md)\
+[IUnknown implementation](../atl/iunknown-implementation-classes.md)\
+[Memory management](../atl/memory-management-classes.md)\
+[MMC snap-in](../atl/mmc-snap-in-classes.md)\
+[Object safety](../atl/object-safety-classes.md)\
+[Persistence](../atl/persistence-classes.md)\
+[Properties and property pages](../atl/properties-and-property-pages-classes.md)\
+[Registry support](../atl/registry-support-classes.md)\
+[Running objects](../atl/running-objects-classes.md)\
+[Security](../atl/security-classes.md)\
+[Service provider support](../atl/service-provider-support-classes.md)\
+[Site information](../atl/site-information-classes.md)\
+[String and text](../atl/string-and-text-classes.md)\
+[Tear-off interfaces](../atl/tear-off-interfaces-classes.md)\
+[Thread pooling](../atl/thread-pooling-classes.md)\
+[Threading models and critical sections](../atl/threading-models-and-critical-sections-classes.md)\
+[UI support](../atl/ui-support-classes.md)\
+[Windows support](../atl/windows-support-classes.md)\
+[Utility](../atl/utility-classes.md)
-For additional classes that can be used in ATL projects, see [Shared Classes](../atl-mfc-shared/atl-mfc-shared-classes.md).
+For additional classes that can be used in ATL projects, see [Shared classes](../atl-mfc-shared/atl-mfc-shared-classes.md).
## See also
[Classes and structs](../atl/reference/atl-classes.md)
-[ATL COM Desktop Components](../atl/atl-com-desktop-components.md)
+[ATL COM desktop components](../atl/atl-com-desktop-components.md)
[Functions](../atl/reference/atl-functions.md)
-[Global Variables](../atl/reference/atl-global-variables.md)
+[Global variables](../atl/reference/atl-global-variables.md)
[Macros](../atl/reference/atl-macros.md)
[Typedefs](../atl/reference/atl-typedefs.md)
diff --git a/docs/atl/atl-encoding-reference.md b/docs/atl/atl-encoding-reference.md
index a5e899b3914..29acacae865 100644
--- a/docs/atl/atl-encoding-reference.md
+++ b/docs/atl/atl-encoding-reference.md
@@ -6,35 +6,35 @@ ms.assetid: 82d4fdf3-3c4a-4fe2-b297-8ffb4714406f
---
# ATL Encoding Reference
-Encoding in a range of common Internet standards such as uuencode, hexadecimal, and UTF8 is supported by the code found in atlenc.h.
+Encoding in a range of common Internet standards such as uuencode, hexadecimal, and UTF8 is supported by the code found in *`atlenc.h`*.
### Functions
-|||
-|-|-|
-|[AtlGetHexValue](reference/atl-text-encoding-functions.md#atlgethexvalue)|Call this function to get the numeric value of a hexadecimal digit.|
-|[AtlHexDecode](reference/atl-text-encoding-functions.md#atlhexdecode)|Decodes a string of data that has been encoded as hexadecimal text such as by a previous call to [AtlHexEncode](reference/atl-text-encoding-functions.md#atlhexencode).|
-|[AtlHexDecodeGetRequiredLength](reference/atl-text-encoding-functions.md#atlhexdecodegetrequiredlength)|Call this function to get the size in bytes of a buffer that could contain data decoded from a hex-encoded string of the specified length.|
-|[AtlHexEncode](reference/atl-text-encoding-functions.md#atlhexencode)|Call this function to encode some data as a string of hexadecimal text.|
-|[AtlHexEncodeGetRequiredLength](reference/atl-text-encoding-functions.md#atlhexencodegetrequiredlength)|Call this function to get the size in characters of a buffer that could contain a string encoded from data of the specified size.|
-|[AtlUnicodeToUTF8](reference/atl-text-encoding-functions.md#atlunicodetoutf8)|Call this function to convert a Unicode string to UTF-8.|
-|[BEncode](reference/atl-text-encoding-functions.md#bencode)|Call this function to convert some data using the "B" encoding.|
-|[BEncodeGetRequiredLength](reference/atl-text-encoding-functions.md#bencodegetrequiredlength)|Call this function to get the size in characters of a buffer that could contain a string encoded from data of the specified size.|
-|[EscapeXML](reference/atl-text-encoding-functions.md#escapexml)|Call this function to convert characters that are unsafe for use in XML to their safe equivalents.|
-|[GetExtendedChars](reference/atl-text-encoding-functions.md#getextendedchars)|Call this function to get the number of extended characters in a string.|
-|[IsExtendedChar](reference/atl-text-encoding-functions.md#isextendedchar)|Call this function to find out if a given character is an extended character (less than 32, greater than 126, and not a tab, line feed or carriage return)|
-|[QEncode](reference/atl-text-encoding-functions.md#qencode)|Call this function to convert some data using the "Q" encoding.|
-|[QEncodeGetRequiredLength](reference/atl-text-encoding-functions.md#qencodegetrequiredlength)|Call this function to get the size in characters of a buffer that could contain a string encoded from data of the specified size.|
-|[QPDecode](reference/atl-text-encoding-functions.md#qpdecode)|Decodes a string of data that has been encoded in quoted-printable format such as by a previous call to [QPEncode](reference/atl-text-encoding-functions.md#qpencode).|
-|[QPDecodeGetRequiredLength](reference/atl-text-encoding-functions.md#qpdecodegetrequiredlength)|Call this function to get the size in bytes of a buffer that could contain data decoded from quoted-printable-encoded string of the specified length.|
-|[QPEncode](reference/atl-text-encoding-functions.md#qpencode)|Call this function to encode some data in quoted-printable format.|
-|[QPEncodeGetRequiredLength](reference/atl-text-encoding-functions.md#qpencodegetrequiredlength)|Call this function to get the size in characters of a buffer that could contain a string encoded from data of the specified size.|
-|[UUDecode](reference/atl-text-encoding-functions.md#uudecode)|Decodes a string of data that has been uuencoded such as by a previous call to [UUEncode](reference/atl-text-encoding-functions.md#uuencode).|
-|[UUDecodeGetRequiredLength](reference/atl-text-encoding-functions.md#uudecodegetrequiredlength)|Call this function to get the size in bytes of a buffer that could contain data decoded from a uuencoded string of the specified length.|
-|[UUEncode](reference/atl-text-encoding-functions.md#uuencode)|Call this function to uuencode some data.|
-|[UUEncodeGetRequiredLength](reference/atl-text-encoding-functions.md#uuencodegetrequiredlength)|Call this function to get the size in characters of a buffer that could contain a string encoded from data of the specified size.|
+| Function | Use case |
+|--|--|
+| [AtlGetHexValue](reference/atl-text-encoding-functions.md#atlgethexvalue) | Call this function to get the numeric value of a hexadecimal digit. |
+| [AtlHexDecode](reference/atl-text-encoding-functions.md#atlhexdecode) | Decodes a string of data that has been encoded as hexadecimal text such as by a previous call to [AtlHexEncode](reference/atl-text-encoding-functions.md#atlhexencode). |
+| [AtlHexDecodeGetRequiredLength](reference/atl-text-encoding-functions.md#atlhexdecodegetrequiredlength) | Call this function to get the size in bytes of a buffer that could contain data decoded from a hex-encoded string of the specified length. |
+| [AtlHexEncode](reference/atl-text-encoding-functions.md#atlhexencode) | Call this function to encode some data as a string of hexadecimal text. |
+| [AtlHexEncodeGetRequiredLength](reference/atl-text-encoding-functions.md#atlhexencodegetrequiredlength) | Call this function to get the size in characters of a buffer that could contain a string encoded from data of the specified size. |
+| [AtlUnicodeToUTF8](reference/atl-text-encoding-functions.md#atlunicodetoutf8) | Call this function to convert a Unicode string to UTF-8. |
+| [BEncode](reference/atl-text-encoding-functions.md#bencode) | Call this function to convert some data using the "B" encoding. |
+| [BEncodeGetRequiredLength](reference/atl-text-encoding-functions.md#bencodegetrequiredlength) | Call this function to get the size in characters of a buffer that could contain a string encoded from data of the specified size. |
+| [EscapeXML](reference/atl-text-encoding-functions.md#escapexml) | Call this function to convert characters that are unsafe for use in XML to their safe equivalents. |
+| [GetExtendedChars](reference/atl-text-encoding-functions.md#getextendedchars) | Call this function to get the number of extended characters in a string. |
+| [IsExtendedChar](reference/atl-text-encoding-functions.md#isextendedchar) | Call this function to find out if a given character is an extended character (less than 32, greater than 126, and not a tab, line feed or carriage return) |
+| [QEncode](reference/atl-text-encoding-functions.md#qencode) | Call this function to convert some data using the "Q" encoding. |
+| [QEncodeGetRequiredLength](reference/atl-text-encoding-functions.md#qencodegetrequiredlength) | Call this function to get the size in characters of a buffer that could contain a string encoded from data of the specified size. |
+| [QPDecode](reference/atl-text-encoding-functions.md#qpdecode) | Decodes a string of data that has been encoded in quoted-printable format such as by a previous call to [QPEncode](reference/atl-text-encoding-functions.md#qpencode). |
+| [QPDecodeGetRequiredLength](reference/atl-text-encoding-functions.md#qpdecodegetrequiredlength) | Call this function to get the size in bytes of a buffer that could contain data decoded from quoted-printable-encoded string of the specified length. |
+| [QPEncode](reference/atl-text-encoding-functions.md#qpencode) | Call this function to encode some data in quoted-printable format. |
+| [QPEncodeGetRequiredLength](reference/atl-text-encoding-functions.md#qpencodegetrequiredlength) | Call this function to get the size in characters of a buffer that could contain a string encoded from data of the specified size. |
+| [UUDecode](reference/atl-text-encoding-functions.md#uudecode) | Decodes a string of data that has been uuencoded such as by a previous call to [UUEncode](reference/atl-text-encoding-functions.md#uuencode). |
+| [UUDecodeGetRequiredLength](reference/atl-text-encoding-functions.md#uudecodegetrequiredlength) | Call this function to get the size in bytes of a buffer that could contain data decoded from a uuencoded string of the specified length. |
+| [UUEncode](reference/atl-text-encoding-functions.md#uuencode) | Call this function to uuencode some data. |
+| [UUEncodeGetRequiredLength](reference/atl-text-encoding-functions.md#uuencodegetrequiredlength) | Call this function to get the size in characters of a buffer that could contain a string encoded from data of the specified size. |
## See also
[Concepts](../atl/active-template-library-atl-concepts.md)
-[ATL COM Desktop Components](../atl/atl-com-desktop-components.md)
+[ATL COM desktop components](../atl/atl-com-desktop-components.md)
diff --git a/docs/atl/atl-utilities-reference.md b/docs/atl/atl-utilities-reference.md
index ea0f7d0e1a4..8c77e28cba6 100644
--- a/docs/atl/atl-utilities-reference.md
+++ b/docs/atl/atl-utilities-reference.md
@@ -1,91 +1,90 @@
---
-title: "ATL Utilities Reference"
+title: "ATL utilities reference"
ms.date: "11/04/2016"
ms.assetid: dd8a2888-34f4-461e-9bf4-834218f9b95b
---
-# ATL Utilities Reference
+# ATL utilities reference
ATL provides code for manipulating paths and URLs in the form of [CPathT](../atl/reference/cpatht-class.md) and [CUrl](../atl/reference/curl-class.md). A thread pool, [CThreadPool](../atl/reference/cthreadpool-class.md), can be used in your applications. This code can be found in atlpath.h and atlutil.h.
-### Classes
+## Classes
-|||
-|-|-|
-|[CPathT Class](../atl/reference/cpatht-class.md)|This class represents a path.|
-|[CDebugReportHook Class](../atl/reference/cdebugreporthook-class.md)|Use this class to send debug reports to a named pipe.|
-|[CNonStatelessWorker Class](../atl/reference/cnonstatelessworker-class.md)|Receives requests from a thread pool and passes them on to a worker object that is created and destroyed on each request.|
-|[CNoWorkerThread Class](../atl/reference/cnoworkerthread-class.md)|Use this class as the argument for the `MonitorClass` template parameter to cache classes if you want to disable dynamic cache maintenance.|
-|[CThreadPool Class](../atl/reference/cthreadpool-class.md)|This class provides a pool of worker threads that process a queue of work items.|
-|[CUrl Class](../atl/reference/curl-class.md)|This class represents a URL. It allows you to manipulate each element of the URL independently of the others whether parsing an existing URL string or building a string from scratch.|
-|[CWorkerThread Class](../atl/reference/cworkerthread-class.md)|This class creates a worker thread or uses an existing one, waits on one or more kernel object handles, and executes a specified client function when one of the handles is signaled.|
+| | |
+|--|--|
+| [CPathT class](../atl/reference/cpatht-class.md) | This class represents a path. |
+| [CDebugReportHook class](../atl/reference/cdebugreporthook-class.md) | Use this class to send debug reports to a named pipe. |
+| [CNonStatelessWorker class](../atl/reference/cnonstatelessworker-class.md) | Receives requests from a thread pool and passes them on to a worker object that is created and destroyed on each request. |
+| [CNoWorkerThread class](../atl/reference/cnoworkerthread-class.md) | Use this class as the argument for the `MonitorClass` template parameter to cache classes if you want to disable dynamic cache maintenance. |
+| [CThreadPool class](../atl/reference/cthreadpool-class.md) | This class provides a pool of worker threads that process a queue of work items. |
+| [CUrl class](../atl/reference/curl-class.md) | This class represents a URL. It allows you to manipulate each element of the URL independently of the others whether parsing an existing URL string or building a string from scratch. |
+| [CWorkerThread class](../atl/reference/cworkerthread-class.md) | This class creates a worker thread or uses an existing one, waits on one or more kernel object handles, and executes a specified client function when one of the handles is signaled. |
-### Typedefs
+## Typedefs
-|||
-|-|-|
-|[CPath](../atl/reference/atl-typedefs.md#cpath)|A specialization of [CPathT](../atl/reference/cpatht-class.md) using `CString`.|
-|[CPathA](../atl/reference/atl-typedefs.md#cpatha)|A specialization of [CPathT](../atl/reference/cpatht-class.md) using `CStringA`.|
-|[CPathW](../atl/reference/atl-typedefs.md#cpathw)|A specialization of [CPathT](../atl/reference/cpatht-class.md) using `CStringW`.|
-|[ATL_URL_PORT](../atl/reference/atl-typedefs.md#atl_url_port)|The type used by [CUrl](../atl/reference/curl-class.md) for specifying a port number.|
+| | |
+|--|--|
+| [CPath](../atl/reference/atl-typedefs.md#cpath) | A specialization of [CPathT](../atl/reference/cpatht-class.md) using `CString`. |
+| [CPathA](../atl/reference/atl-typedefs.md#cpatha) | A specialization of [CPathT](../atl/reference/cpatht-class.md) using `CStringA`. |
+| [CPathW](../atl/reference/atl-typedefs.md#cpathw) | A specialization of [CPathT](../atl/reference/cpatht-class.md) using `CStringW`. |
+| [ATL_URL_PORT](../atl/reference/atl-typedefs.md#atl_url_port) | The type used by [CUrl](../atl/reference/curl-class.md) for specifying a port number. |
-### Enums
+## Enums
-|||
-|-|-|
-|[ATL_URL_SCHEME](../atl/reference/atl-url-scheme-enum.md)|The members of this enumeration provide constants for the schemes understood by [CUrl](../atl/reference/curl-class.md).|
+| | |
+|--|--|
+| [ATL_URL_SCHEME](../atl/reference/atl-url-scheme-enum.md) | The members of this enumeration provide constants for the schemes understood by [CUrl](../atl/reference/curl-class.md). |
-### Functions
+## Functions
-|||
-|-|-|
-|[AtlCanonicalizeUrl](../atl/reference/atl-http-utility-functions.md#atlcanonicalizeurl)|Call this function to canonicalize a URL, which includes converting unsafe characters and spaces into escape sequences.|
-|[AtlCombineUrl](../atl/reference/atl-http-utility-functions.md#atlcombineurl)|Call this function to combine a base URL and a relative URL into a single, canonical URL.|
-|[AtlEscapeUrl](../atl/reference/atl-http-utility-functions.md#atlescapeurl)|Call this function to convert all unsafe characters to escape sequences.|
-|[AtlGetDefaultUrlPort](../atl/reference/atl-http-utility-functions.md#atlgetdefaulturlport)|Call this function to get the default port number associated with a particular internet protocol or scheme.|
-|[AtlHexValue](../atl/reference/atl-text-encoding-functions.md#atlhexvalue)|Call this function to get the numeric value of a hexadecimal digit.|
-|[AtlIsUnsafeUrlChar](../atl/reference/atl-http-utility-functions.md#atlisunsafeurlchar)|Call this function to find out whether a character is safe for use in a URL.|
-|[AtlUnescapeUrl](../atl/reference/atl-http-utility-functions.md#atlunescapeurl)|Call this function to convert escaped characters back to their original values.|
-|[SystemTimeToHttpDate](../atl/reference/atl-http-utility-functions.md#systemtimetohttpdate)|Call this function to convert a system time to a string in a format suitable for using in HTTP headers.|
-
-|[ATLPath::AddBackslash](../atl/reference/atl-path-functions.md#addbackslash)|This function is an overloaded wrapper for [PathAddBackslash](/windows/desktop/api/shlwapi/nf-shlwapi-pathaddbackslasha
-).|
-|[ATLPath::AddExtension](../atl/reference/atl-path-functions.md#addextension)|This function is an overloaded wrapper for [PathAddExtension](/windows/win32/api/shlwapi/nf-shlwapi-pathaddextensionw).|
-|[ATLPath::Append](../atl/reference/atl-path-functions.md#append)|This function is an overloaded wrapper for [PathAppend](/windows/win32/api/shlwapi/nf-shlwapi-pathappendw).|
-|[ATLPath::BuildRoot](../atl/reference/atl-path-functions.md#buildroot)|This function is an overloaded wrapper for [PathBuildRoot](/windows/win32/api/shlwapi/nf-shlwapi-pathbuildrootw).|
-|[ATLPath::Canonicalize](../atl/reference/atl-path-functions.md#canonicalize)|This function is an overloaded wrapper for [PathCanonicalize](/windows/win32/api/shlwapi/nf-shlwapi-pathcanonicalizew).|
-|[ATLPath::Combine](../atl/reference/atl-path-functions.md#combine)|This function is an overloaded wrapper for [PathCombine](/windows/win32/api/shlwapi/nf-shlwapi-pathcombinew).|
-|[ATLPath::CommonPrefix](../atl/reference/atl-path-functions.md#commonprefix)|This function is an overloaded wrapper for [PathCommonPrefix](/windows/win32/api/shlwapi/nf-shlwapi-pathcommonprefixw).|
-|[ATLPath::CompactPath](../atl/reference/atl-path-functions.md#compactpath)|This function is an overloaded wrapper for [PathCompactPath](/windows/win32/api/shlwapi/nf-shlwapi-pathcompactpathw).|
-|[ATLPath::CompactPathEx](../atl/reference/atl-path-functions.md#compactpathex)|This function is an overloaded wrapper for [PathCompactPathEx](/windows/win32/api/shlwapi/nf-shlwapi-pathcompactpathexw).|
-|[ATLPath::FileExists](../atl/reference/atl-path-functions.md#fileexists)|This function is an overloaded wrapper for [PathFileExists](/windows/win32/api/shlwapi/nf-shlwapi-pathfileexistsw).|
-|[ATLPath::FindExtension](../atl/reference/atl-path-functions.md#findextension)|This function is an overloaded wrapper for [PathFindExtension](/windows/win32/api/shlwapi/nf-shlwapi-pathfindextensionw).|
-|[ATLPath::FindFileName](../atl/reference/atl-path-functions.md#findfilename)|This function is an overloaded wrapper for [PathFindFileName](/windows/win32/api/shlwapi/nf-shlwapi-pathfindfilenamew).|
-|[ATLPath::GetDriveNumber](../atl/reference/atl-path-functions.md#getdrivenumber)|This function is an overloaded wrapper for [PathGetDriveNumber](/windows/win32/api/shlwapi/nf-shlwapi-pathgetdrivenumberw).|
-|[ATLPath::IsDirectory](../atl/reference/atl-path-functions.md#isdirectory)|This function is an overloaded wrapper for [PathIsDirectory](/windows/win32/api/shlwapi/nf-shlwapi-pathisdirectoryw).|
-|[ATLPath::IsFileSpec](../atl/reference/atl-path-functions.md#isfilespec)|This function is an overloaded wrapper for [PathIsFileSpec](/windows/win32/api/shlwapi/nf-shlwapi-pathisfilespecw).|
-|[ATLPath::IsPrefix](../atl/reference/atl-path-functions.md#isprefix)|This function is an overloaded wrapper for [PathIsPrefix](/windows/win32/api/shlwapi/nf-shlwapi-pathisprefixw).|
-|[ATLPath::IsRelative](../atl/reference/atl-path-functions.md#isrelative)|This function is an overloaded wrapper for [PathIsRelative](/windows/win32/api/shlwapi/nf-shlwapi-pathisrelativew).|
-|[ATLPath::IsRoot](../atl/reference/atl-path-functions.md#isroot)|This function is an overloaded wrapper for [PathIsRoot](/windows/win32/api/shlwapi/nf-shlwapi-pathisrootw).|
-|[ATLPath::IsSameRoot](../atl/reference/atl-path-functions.md#issameroot)|This function is an overloaded wrapper for [PathIsSameRoot](/windows/win32/api/shlwapi/nf-shlwapi-pathissamerootw).|
-|[ATLPath::IsUNC](../atl/reference/atl-path-functions.md#isunc)|This function is an overloaded wrapper for [PathIsUNC](/windows/win32/api/shlwapi/nf-shlwapi-pathisuncw).|
-|[ATLPath::IsUNCServer](../atl/reference/atl-path-functions.md#isuncserver)|This function is an overloaded wrapper for [PathIsUNCServer](/windows/win32/api/shlwapi/nf-shlwapi-pathisuncserverw).|
-|[ATLPath::IsUNCServerShare](../atl/reference/atl-path-functions.md#isuncservershare)|This function is an overloaded wrapper for [PathIsUNCServerShare](/windows/win32/api/shlwapi/nf-shlwapi-pathisuncserversharew).|
-|[ATLPath::MakePretty](../atl/reference/atl-path-functions.md#makepretty)|This function is an overloaded wrapper for [PathMakePretty](/windows/win32/api/shlwapi/nf-shlwapi-pathmakeprettyw).|
-|[ATLPath::MatchSpec](../atl/reference/atl-path-functions.md#matchspec)|This function is an overloaded wrapper for [PathMatchSpec](/windows/win32/api/shlwapi/nf-shlwapi-pathmatchspecw).|
-|[ATLPath::QuoteSpaces](../atl/reference/atl-path-functions.md#quotespaces)|This function is an overloaded wrapper for [PathQuoteSpaces](/windows/win32/api/shlwapi/nf-shlwapi-pathquotespacesw).|
-|[ATLPath::RelativePathTo](../atl/reference/atl-path-functions.md#relativepathto)|This function is an overloaded wrapper for [PathRelativePathTo](/windows/win32/api/shlwapi/nf-shlwapi-pathrelativepathtow).|
-|[ATLPath::RemoveArgs](../atl/reference/atl-path-functions.md#removeargs)|This function is an overloaded wrapper for [PathRemoveArgs](/windows/win32/api/shlwapi/nf-shlwapi-pathremoveargsw).|
-|[ATLPath::RemoveBackslash](../atl/reference/atl-path-functions.md#removebackslash)|This function is an overloaded wrapper for [PathRemoveBackslash](/windows/win32/api/shlwapi/nf-shlwapi-pathremovebackslashw).|
-|[ATLPath::RemoveBlanks](../atl/reference/atl-path-functions.md#removeblanks)|This function is an overloaded wrapper for [PathRemoveBlanks](/windows/win32/api/shlwapi/nf-shlwapi-pathremoveblanksw).|
-|[ATLPath::RemoveExtension](../atl/reference/atl-path-functions.md#removeextension)|This function is an overloaded wrapper for [PathRemoveExtension](/windows/win32/api/shlwapi/nf-shlwapi-pathremoveextensionw).|
-|[ATLPath::RemoveFileSpec](../atl/reference/atl-path-functions.md#removefilespec)|This function is an overloaded wrapper for [PathRemoveFileSpec](/windows/win32/api/shlwapi/nf-shlwapi-pathremovefilespecw).|
-|[ATLPath::RenameExtension](../atl/reference/atl-path-functions.md#renameextension)|This function is an overloaded wrapper for [PathRenameExtension](/windows/win32/api/shlwapi/nf-shlwapi-pathrenameextensionw).|
-|[ATLPath::SkipRoot](../atl/reference/atl-path-functions.md#skiproot)|This function is an overloaded wrapper for [PathSkipRoot](/windows/win32/api/shlwapi/nf-shlwapi-pathskiprootw).|
-|[ATLPath::StripPath](../atl/reference/atl-path-functions.md#strippath)|This function is an overloaded wrapper for [PathStripPath](/windows/win32/api/shlwapi/nf-shlwapi-pathstrippathw).|
-|[ATLPath::StripToRoot](../atl/reference/atl-path-functions.md#striptoroot)|This function is an overloaded wrapper for [PathStripToRoot](/windows/win32/api/shlwapi/nf-shlwapi-pathstriptorootw).|
-|[ATLPath::UnquoteSpaces](../atl/reference/atl-path-functions.md#unquotespaces)|This function is an overloaded wrapper for [PathUnquoteSpaces](/windows/win32/api/shlwapi/nf-shlwapi-pathunquotespacesw).|
+| | |
+|--|--|
+| [AtlCanonicalizeUrl](../atl/reference/atl-http-utility-functions.md#atlcanonicalizeurl) | Call this function to canonicalize a URL, which includes converting unsafe characters and spaces into escape sequences. |
+| [AtlCombineUrl](../atl/reference/atl-http-utility-functions.md#atlcombineurl) | Call this function to combine a base URL and a relative URL into a single, canonical URL. |
+| [AtlEscapeUrl](../atl/reference/atl-http-utility-functions.md#atlescapeurl) | Call this function to convert all unsafe characters to escape sequences. |
+| [AtlGetDefaultUrlPort](../atl/reference/atl-http-utility-functions.md#atlgetdefaulturlport) | Call this function to get the default port number associated with a particular internet protocol or scheme. |
+| [AtlHexValue](../atl/reference/atl-text-encoding-functions.md#atlhexvalue) | Call this function to get the numeric value of a hexadecimal digit. |
+| [AtlIsUnsafeUrlChar](../atl/reference/atl-http-utility-functions.md#atlisunsafeurlchar) | Call this function to find out whether a character is safe for use in a URL. |
+| [AtlUnescapeUrl](../atl/reference/atl-http-utility-functions.md#atlunescapeurl) | Call this function to convert escaped characters back to their original values. |
+| [SystemTimeToHttpDate](../atl/reference/atl-http-utility-functions.md#systemtimetohttpdate) | Call this function to convert a system time to a string in a format suitable for using in HTTP headers. |
+| [ATLPath::AddBackslash](../atl/reference/atl-path-functions.md#addbackslash) | This function is an overloaded wrapper for [PathAddBackslash](/windows/desktop/api/shlwapi/nf-shlwapi-pathaddbackslasha |
+| ). |
+| [ATLPath::AddExtension](../atl/reference/atl-path-functions.md#addextension) | This function is an overloaded wrapper for [PathAddExtension](/windows/win32/api/shlwapi/nf-shlwapi-pathaddextensionw). |
+| [ATLPath::Append](../atl/reference/atl-path-functions.md#append) | This function is an overloaded wrapper for [PathAppend](/windows/win32/api/shlwapi/nf-shlwapi-pathappendw). |
+| [ATLPath::BuildRoot](../atl/reference/atl-path-functions.md#buildroot) | This function is an overloaded wrapper for [PathBuildRoot](/windows/win32/api/shlwapi/nf-shlwapi-pathbuildrootw). |
+| [ATLPath::Canonicalize](../atl/reference/atl-path-functions.md#canonicalize) | This function is an overloaded wrapper for [PathCanonicalize](/windows/win32/api/shlwapi/nf-shlwapi-pathcanonicalizew). |
+| [ATLPath::Combine](../atl/reference/atl-path-functions.md#combine) | This function is an overloaded wrapper for [PathCombine](/windows/win32/api/shlwapi/nf-shlwapi-pathcombinew). |
+| [ATLPath::CommonPrefix](../atl/reference/atl-path-functions.md#commonprefix) | This function is an overloaded wrapper for [PathCommonPrefix](/windows/win32/api/shlwapi/nf-shlwapi-pathcommonprefixw). |
+| [ATLPath::CompactPath](../atl/reference/atl-path-functions.md#compactpath) | This function is an overloaded wrapper for [PathCompactPath](/windows/win32/api/shlwapi/nf-shlwapi-pathcompactpathw). |
+| [ATLPath::CompactPathEx](../atl/reference/atl-path-functions.md#compactpathex) | This function is an overloaded wrapper for [PathCompactPathEx](/windows/win32/api/shlwapi/nf-shlwapi-pathcompactpathexw). |
+| [ATLPath::FileExists](../atl/reference/atl-path-functions.md#fileexists) | This function is an overloaded wrapper for [PathFileExists](/windows/win32/api/shlwapi/nf-shlwapi-pathfileexistsw). |
+| [ATLPath::FindExtension](../atl/reference/atl-path-functions.md#findextension) | This function is an overloaded wrapper for [PathFindExtension](/windows/win32/api/shlwapi/nf-shlwapi-pathfindextensionw). |
+| [ATLPath::FindFileName](../atl/reference/atl-path-functions.md#findfilename) | This function is an overloaded wrapper for [PathFindFileName](/windows/win32/api/shlwapi/nf-shlwapi-pathfindfilenamew). |
+| [ATLPath::GetDriveNumber](../atl/reference/atl-path-functions.md#getdrivenumber) | This function is an overloaded wrapper for [PathGetDriveNumber](/windows/win32/api/shlwapi/nf-shlwapi-pathgetdrivenumberw). |
+| [ATLPath::IsDirectory](../atl/reference/atl-path-functions.md#isdirectory) | This function is an overloaded wrapper for [PathIsDirectory](/windows/win32/api/shlwapi/nf-shlwapi-pathisdirectoryw). |
+| [ATLPath::IsFileSpec](../atl/reference/atl-path-functions.md#isfilespec) | This function is an overloaded wrapper for [PathIsFileSpec](/windows/win32/api/shlwapi/nf-shlwapi-pathisfilespecw). |
+| [ATLPath::IsPrefix](../atl/reference/atl-path-functions.md#isprefix) | This function is an overloaded wrapper for [PathIsPrefix](/windows/win32/api/shlwapi/nf-shlwapi-pathisprefixw). |
+| [ATLPath::IsRelative](../atl/reference/atl-path-functions.md#isrelative) | This function is an overloaded wrapper for [PathIsRelative](/windows/win32/api/shlwapi/nf-shlwapi-pathisrelativew). |
+| [ATLPath::IsRoot](../atl/reference/atl-path-functions.md#isroot) | This function is an overloaded wrapper for [PathIsRoot](/windows/win32/api/shlwapi/nf-shlwapi-pathisrootw). |
+| [ATLPath::IsSameRoot](../atl/reference/atl-path-functions.md#issameroot) | This function is an overloaded wrapper for [PathIsSameRoot](/windows/win32/api/shlwapi/nf-shlwapi-pathissamerootw). |
+| [ATLPath::IsUNC](../atl/reference/atl-path-functions.md#isunc) | This function is an overloaded wrapper for [PathIsUNC](/windows/win32/api/shlwapi/nf-shlwapi-pathisuncw). |
+| [ATLPath::IsUNCServer](../atl/reference/atl-path-functions.md#isuncserver) | This function is an overloaded wrapper for [PathIsUNCServer](/windows/win32/api/shlwapi/nf-shlwapi-pathisuncserverw). |
+| [ATLPath::IsUNCServerShare](../atl/reference/atl-path-functions.md#isuncservershare) | This function is an overloaded wrapper for [PathIsUNCServerShare](/windows/win32/api/shlwapi/nf-shlwapi-pathisuncserversharew). |
+| [ATLPath::MakePretty](../atl/reference/atl-path-functions.md#makepretty) | This function is an overloaded wrapper for [PathMakePretty](/windows/win32/api/shlwapi/nf-shlwapi-pathmakeprettyw). |
+| [ATLPath::MatchSpec](../atl/reference/atl-path-functions.md#matchspec) | This function is an overloaded wrapper for [PathMatchSpec](/windows/win32/api/shlwapi/nf-shlwapi-pathmatchspecw). |
+| [ATLPath::QuoteSpaces](../atl/reference/atl-path-functions.md#quotespaces) | This function is an overloaded wrapper for [PathQuoteSpaces](/windows/win32/api/shlwapi/nf-shlwapi-pathquotespacesw). |
+| [ATLPath::RelativePathTo](../atl/reference/atl-path-functions.md#relativepathto) | This function is an overloaded wrapper for [PathRelativePathTo](/windows/win32/api/shlwapi/nf-shlwapi-pathrelativepathtow). |
+| [ATLPath::RemoveArgs](../atl/reference/atl-path-functions.md#removeargs) | This function is an overloaded wrapper for [PathRemoveArgs](/windows/win32/api/shlwapi/nf-shlwapi-pathremoveargsw). |
+| [ATLPath::RemoveBackslash](../atl/reference/atl-path-functions.md#removebackslash) | This function is an overloaded wrapper for [PathRemoveBackslash](/windows/win32/api/shlwapi/nf-shlwapi-pathremovebackslashw). |
+| [ATLPath::RemoveBlanks](../atl/reference/atl-path-functions.md#removeblanks) | This function is an overloaded wrapper for [PathRemoveBlanks](/windows/win32/api/shlwapi/nf-shlwapi-pathremoveblanksw). |
+| [ATLPath::RemoveExtension](../atl/reference/atl-path-functions.md#removeextension) | This function is an overloaded wrapper for [PathRemoveExtension](/windows/win32/api/shlwapi/nf-shlwapi-pathremoveextensionw). |
+| [ATLPath::RemoveFileSpec](../atl/reference/atl-path-functions.md#removefilespec) | This function is an overloaded wrapper for [PathRemoveFileSpec](/windows/win32/api/shlwapi/nf-shlwapi-pathremovefilespecw). |
+| [ATLPath::RenameExtension](../atl/reference/atl-path-functions.md#renameextension) | This function is an overloaded wrapper for [PathRenameExtension](/windows/win32/api/shlwapi/nf-shlwapi-pathrenameextensionw). |
+| [ATLPath::SkipRoot](../atl/reference/atl-path-functions.md#skiproot) | This function is an overloaded wrapper for [PathSkipRoot](/windows/win32/api/shlwapi/nf-shlwapi-pathskiprootw). |
+| [ATLPath::StripPath](../atl/reference/atl-path-functions.md#strippath) | This function is an overloaded wrapper for [PathStripPath](/windows/win32/api/shlwapi/nf-shlwapi-pathstrippathw). |
+| [ATLPath::StripToRoot](../atl/reference/atl-path-functions.md#striptoroot) | This function is an overloaded wrapper for [PathStripToRoot](/windows/win32/api/shlwapi/nf-shlwapi-pathstriptorootw). |
+| [ATLPath::UnquoteSpaces](../atl/reference/atl-path-functions.md#unquotespaces) | This function is an overloaded wrapper for [PathUnquoteSpaces](/windows/win32/api/shlwapi/nf-shlwapi-pathunquotespacesw). |
## See also
[Concepts](../atl/active-template-library-atl-concepts.md)
-[ATL COM Desktop Components](../atl/atl-com-desktop-components.md)
+[ATL COM desktop components](../atl/atl-com-desktop-components.md)
diff --git a/docs/atl/reference/adding-objects-and-controls-to-an-atl-project.md b/docs/atl/reference/adding-objects-and-controls-to-an-atl-project.md
index 79dcf0eb694..a4d24c2fb91 100644
--- a/docs/atl/reference/adding-objects-and-controls-to-an-atl-project.md
+++ b/docs/atl/reference/adding-objects-and-controls-to-an-atl-project.md
@@ -12,11 +12,15 @@ ms.assetid: c0adcbd0-07fe-4c55-a8fd-8c2c65ecdaad
You can use one of the ATL code wizards to add an object or a control to your ATL- or MFC-based projects. For each COM object or control you add, the wizard generates .cpp and .h files, as well as an .rgs file for script-based registry support. The following ATL code wizards are available in Visual Studio:
-||||
-|-|-|-|
-|[ATL Simple Object](../../atl/reference/atl-simple-object-wizard.md)|[ATL Dialog](../../atl/reference/atl-dialog-wizard.md)|[ATL Control](../../atl/reference/atl-control-wizard.md)|
-|[ATL Property Page](../../atl/reference/atl-property-page-wizard.md)|[ATL Active Server Page Component](../../atl/reference/atl-active-server-page-component-wizard.md)|[ATL OLE DB Consumer](../../atl/reference/atl-ole-db-consumer-wizard.md)|
-|[Add ATL Support to MFC](../../mfc/reference/adding-atl-support-to-your-mfc-project.md)|[ATL COM+ 1.0 Component Wizard](../../atl/reference/atl-com-plus-1-0-component-wizard.md)|[ATL OLE DB Provider](../../atl/reference/atl-ole-db-provider-wizard.md)|
+- [ATL Simple Object](../../atl/reference/atl-simple-object-wizard.md)
+- [ATL Dialog](../../atl/reference/atl-dialog-wizard.md)
+- [ATL Control](../../atl/reference/atl-control-wizard.md)
+- [ATL Property Page](../../atl/reference/atl-property-page-wizard.md)
+- [ATL Active Server Page Component](../../atl/reference/atl-active-server-page-component-wizard.md)
+- [ATL OLE DB Consumer](../../atl/reference/atl-ole-db-consumer-wizard.md)
+- [Add ATL Support to MFC](../../mfc/reference/adding-atl-support-to-your-mfc-project.md)
+- [ATL COM+ 1.0 Component Wizard](../../atl/reference/atl-com-plus-1-0-component-wizard.md)
+- [ATL OLE DB Provider](../../atl/reference/atl-ole-db-provider-wizard.md)
> [!NOTE]
> Before adding an ATL object to your project, you should review the details and requirements for the object in its related Help topics.
diff --git a/docs/atl/reference/atl-http-utility-functions.md b/docs/atl/reference/atl-http-utility-functions.md
index 2ac450a0ea8..e2d64ce8095 100644
--- a/docs/atl/reference/atl-http-utility-functions.md
+++ b/docs/atl/reference/atl-http-utility-functions.md
@@ -7,7 +7,7 @@ ms.assetid: 4db57ef2-31fa-4696-bbeb-79a9035033ed
These functions support manipulation of URLs.
-|||
+|Function|Description|
|-|-|
|[AtlCanonicalizeUrl](#atlcanonicalizeurl)|Canonicalizes a URL, which includes converting unsafe characters and spaces into escape sequences.|
|[AtlCombineUrl](#atlcombineurl)|Combines a base URL and a relative URL into a single, canonical URL.|
diff --git a/docs/atl/reference/atl-path-functions.md b/docs/atl/reference/atl-path-functions.md
index a704907c849..84b62dc43ef 100644
--- a/docs/atl/reference/atl-path-functions.md
+++ b/docs/atl/reference/atl-path-functions.md
@@ -11,13 +11,13 @@ ATL provides the ATLPath class for manipulating paths in the form of [CPathT](cp
## Related Classes
-|||
+|Class|Description|
|-|-|
|[CPathT Class](cpatht-class.md)|This class represents a path.|
## Related Typedefs
-|||
+|Typedef|Description|
|-|-|
|`CPath`|A specialization of [CPathT](cpatht-class.md) using `CString`.|
|`CPathA`|A specialization of [CPathT](cpatht-class.md) using `CStringA`.|
@@ -25,7 +25,7 @@ ATL provides the ATLPath class for manipulating paths in the form of [CPathT](cp
## Functions
-|||
+|Function|Description|
|-|-|
|[ATLPath::AddBackslash](#addbackslash)|This function is an overloaded wrapper for [PathAddBackslash](/windows/win32/api/shlwapi/nf-shlwapi-pathaddbackslashw).|
|[ATLPath::AddExtension](#addextension)|This function is an overloaded wrapper for [PathAddExtension](/windows/win32/api/shlwapi/nf-shlwapi-pathaddextensionw).|
diff --git a/docs/atl/reference/atl-property-page-wizard.md b/docs/atl/reference/atl-property-page-wizard.md
index e11300a445b..be4c4fa53e8 100644
--- a/docs/atl/reference/atl-property-page-wizard.md
+++ b/docs/atl/reference/atl-property-page-wizard.md
@@ -32,9 +32,8 @@ Specify the names for the object, interface, and classes to be added to your pro
Provides information for the C++ class created to implement the object.
-|||
-|-|-|
|Term|Definition|
+|-|-|
|**Short name**|Sets the abbreviated name for the object. The name that you provide determines the class and **Coclass** names, the file (**.cpp** and **.h**) names, the **Type** name, and the **ProgID**, unless you change those fields individually.|
|**.h file**|Sets the name of the header file for the new object's class. By default, this name is based on the name that you provide in **Short name**. Click the ellipsis button to save the file name to the location of your choice, or to append the class declaration to an existing file. If you select an existing file, the wizard will not save it to the selected location until you click **Finish** in the wizard.
The wizard does not overwrite a file. If you select the name of an existing file, when you click **Finish**, the wizard prompts you to indicate whether the class declaration should be appended to the contents of the file. Click **Yes** to append the file; click **No** to return to the wizard and specify another file name.|
|**Class**|Sets the name of the class that implements the object. This name is based on the name that you provide in **Short name**, preceded by 'C', the typical prefix for a class name.|
diff --git a/docs/atl/reference/atl-text-encoding-functions.md b/docs/atl/reference/atl-text-encoding-functions.md
index 76ff1156b0a..6e39ba42462 100644
--- a/docs/atl/reference/atl-text-encoding-functions.md
+++ b/docs/atl/reference/atl-text-encoding-functions.md
@@ -8,7 +8,7 @@ ms.assetid: 2ae1648b-2b87-4112-92aa-0069fcfd23da
These functions support text encoding and decoding.
-|||
+|Function|Description|
|-|-|
|[AtlGetHexValue](#atlgethexvalue)|Call this function to get the numeric value of a hexadecimal digit.|
|[AtlGetVersion](#atlgetversion)|Call this function to get the version of the ATL library that you are using. |
diff --git a/docs/atl/reference/atl-typedefs.md b/docs/atl/reference/atl-typedefs.md
index b027344273b..8332ae98803 100644
--- a/docs/atl/reference/atl-typedefs.md
+++ b/docs/atl/reference/atl-typedefs.md
@@ -9,7 +9,7 @@ ms.assetid: 7dd05baa-3efb-4e3b-af23-793c610f4560
The Active Template Library includes the following typedefs.
-|||
+|Typedef|Description|
|-|-|
|[_ATL_BASE_MODULE](#_atl_base_module)|Defined as a typedef based on [_ATL_BASE_MODULE70](../../atl/reference/atl-base-module70-structure.md).|
|[_ATL_COM_MODULE](#_atl_com_module)|Defined as a typedef based on [_ATL_COM_MODULE70](../../atl/reference/atl-com-module70-structure.md).|
diff --git a/docs/atl/reference/category-macros.md b/docs/atl/reference/category-macros.md
index 0baf8d0cd8d..f103a524a26 100644
--- a/docs/atl/reference/category-macros.md
+++ b/docs/atl/reference/category-macros.md
@@ -8,7 +8,7 @@ ms.assetid: 223578cb-6180-4787-a8d8-ba3787a5d3ee
These macros define category maps.
-|||
+|Macro|Description|
|-|-|
|[BEGIN_CATEGORY_MAP](#begin_category_map)|Marks the beginning of the category map.|
|[END_CATEGORY_MAP](#end_category_map)|Marks the end of the category map.|
diff --git a/docs/atl/reference/catlarray-class.md b/docs/atl/reference/catlarray-class.md
index 669da3a6a91..64ceeba40fb 100644
--- a/docs/atl/reference/catlarray-class.md
+++ b/docs/atl/reference/catlarray-class.md
@@ -28,7 +28,7 @@ The code used to copy or move elements.
### Methods
-|||
+|Function|Description|
|-|-|
|[Add](#add)|Call this method to add an element to the array object.|
|[Append](#append)|Call this method to add the contents of one array to the end of another.|
@@ -51,13 +51,13 @@ The code used to copy or move elements.
### Operators
-|||
+|Operator|Description|
|-|-|
|[operator []](#operator_at)|Call this operator to return a reference to an element in the array.|
### Typedefs
-|||
+|Typedef|Description|
|-|-|
|[INARGTYPE](#inargtype)|The data type to use for adding elements to the array.|
|[OUTARGTYPE](#outargtype)|The data type to use for retrieving elements from the array.|
diff --git a/docs/atl/reference/caxwindow-class.md b/docs/atl/reference/caxwindow-class.md
index e1d0ff1892a..2d62bac00c9 100644
--- a/docs/atl/reference/caxwindow-class.md
+++ b/docs/atl/reference/caxwindow-class.md
@@ -22,7 +22,7 @@ class CAxWindow : public CWindow
### Methods
-|||
+|Function|Description|
|-|-|
|[AttachControl](#attachcontrol)|Attaches an existing ActiveX control to the `CAxWindow` object.|
|[CAxWindow](#caxwindow)|Constructs a `CAxWindow` object.|
@@ -36,7 +36,7 @@ class CAxWindow : public CWindow
### Operators
-|||
+|Operator|Description|
|-|-|
|[operator =](#operator_eq)|Assigns an HWND to an existing `CAxWindow` object.|
diff --git a/docs/atl/reference/ccomautothreadmodule-class.md b/docs/atl/reference/ccomautothreadmodule-class.md
index 689dcd9caf9..c3686cf0bc6 100644
--- a/docs/atl/reference/ccomautothreadmodule-class.md
+++ b/docs/atl/reference/ccomautothreadmodule-class.md
@@ -28,7 +28,7 @@ class CComAutoThreadModule : public CComModule
### Methods
-|||
+|Function|Description|
|-|-|
|[CreateInstance](#createinstance)|Selects a thread and then creates an object in the associated apartment.|
|[GetDefaultThreads](#getdefaultthreads)|(Static) Dynamically calculates the number of threads for the module based on the number of processors.|
@@ -38,9 +38,7 @@ class CComAutoThreadModule : public CComModule
### Data Members
-### Data Members
-
-|||
+|Data member|Description|
|-|-|
|[dwThreadID](#dwthreadid)|Contains the identifier of the current thread.|
|[m_Allocator](#m_allocator)|Manages thread selection.|
diff --git a/docs/atl/reference/ccomcompositecontrol-class.md b/docs/atl/reference/ccomcompositecontrol-class.md
index 482eafac897..526d7016f38 100644
--- a/docs/atl/reference/ccomcompositecontrol-class.md
+++ b/docs/atl/reference/ccomcompositecontrol-class.md
@@ -99,14 +99,14 @@ True if all controls are to be advised; otherwise false.
### Return Value
-|||
-|-|-|
-|S_OK |All controls in the event sink map were connected or disconnected from their event source successfully.|
-|E_FAIL |Not all controls in the event sink map could be connected or disconnected from their event source successfully.|
-|E_POINTER |This error usually indicates a problem with an entry in the control's event sink map or a problem with a template argument used in an `IDispEventImpl` or `IDispEventSimpleImpl` base class.|
-|CONNECT_E_ADVISELIMIT |The connection point has already reached its limit of connections and cannot accept any more.|
-|CONNECT_E_CANNOTCONNECT |The sink does not support the interface required by this connection point.|
-|CONNECT_E_NOCONNECTION |The cookie value does not represent a valid connection. This error usually indicates a problem with an entry in the control's event sink map or a problem with a template argument used in an `IDispEventImpl` or `IDispEventSimpleImpl` base class.|
+| Value | Description |
+|--|--|
+| `S_OK` | All controls in the event sink map were connected or disconnected from their event source successfully. |
+| `E_FAIL` | Not all controls in the event sink map could be connected or disconnected from their event source successfully. |
+| `E_POINTER` | This error usually indicates a problem with an entry in the control's event sink map or a problem with a template argument used in an `IDispEventImpl` or `IDispEventSimpleImpl` base class. |
+| `CONNECT_E_ADVISELIMIT` | The connection point has already reached its limit of connections and cannot accept any more. |
+| `CONNECT_E_CANNOTCONNECT` | The sink does not support the interface required by this connection point. |
+| `CONNECT_E_NOCONNECTION` | The cookie value does not represent a valid connection. This error usually indicates a problem with an entry in the control's event sink map or a problem with a template argument used in an `IDispEventImpl` or `IDispEventSimpleImpl` base class. |
### Remarks
diff --git a/docs/atl/reference/ccomobjectrootex-class.md b/docs/atl/reference/ccomobjectrootex-class.md
index a63950388cc..b1022c9cbd4 100644
--- a/docs/atl/reference/ccomobjectrootex-class.md
+++ b/docs/atl/reference/ccomobjectrootex-class.md
@@ -25,7 +25,7 @@ The class whose methods implement the desired threading model. You can explicitl
### Methods
-|||
+|Function|Description|
|-|-|
|[CComObjectRootEx](#ccomobjectrootex)|Constructor.|
|[InternalAddRef](#internaladdref)|Increments the reference count for a nonaggregated object.|
@@ -35,7 +35,7 @@ The class whose methods implement the desired threading model. You can explicitl
### CComObjectRootBase Methods
-|||
+|Function|Description|
|-|-|
|[FinalConstruct](#finalconstruct)|Override in your class to perform any initialization required by your object.|
|[FinalRelease](#finalrelease)|Override in your class to perform any cleanup required by your object.|
@@ -45,14 +45,14 @@ The class whose methods implement the desired threading model. You can explicitl
### Static Functions
-|||
+|Function|Description|
|-|-|
|[InternalQueryInterface](#internalqueryinterface)|Delegates to the `IUnknown` of a nonaggregated object.|
|[ObjectMain](#objectmain)|Called during module initialization and termination for derived classes listed in the object map.|
### Data Members
-|||
+|Data member|Description|
|-|-|
|[m_dwRef](#m_dwref)|With `m_pOuterUnknown`, part of a union. Used when the object is not aggregated to hold the reference count of `AddRef` and `Release`.|
|[m_pOuterUnknown](#m_pouterunknown)|With `m_dwRef`, part of a union. Used when the object is aggregated to hold a pointer to the outer unknown.|
diff --git a/docs/atl/reference/ccomsafearraybound-class.md b/docs/atl/reference/ccomsafearraybound-class.md
index f9447c01c3a..e04836aae52 100644
--- a/docs/atl/reference/ccomsafearraybound-class.md
+++ b/docs/atl/reference/ccomsafearraybound-class.md
@@ -19,7 +19,7 @@ class CComSafeArrayBound : public SAFEARRAYBOUND
### Methods
-|||
+|Function|Description|
|-|-|
|[CComSafeArrayBound](#ccomsafearraybound)|The constructor.|
|[GetCount](#getcount)|Call this method to return the number of elements.|
@@ -30,7 +30,7 @@ class CComSafeArrayBound : public SAFEARRAYBOUND
### Operators
-|||
+|Operator|Description|
|-|-|
|[operator =](#operator_eq)|Sets the `CComSafeArrayBound` to a new value.|
diff --git a/docs/atl/reference/ccomsafedeletecriticalsection-class.md b/docs/atl/reference/ccomsafedeletecriticalsection-class.md
index 9264fb7d333..c96ca08e6e3 100644
--- a/docs/atl/reference/ccomsafedeletecriticalsection-class.md
+++ b/docs/atl/reference/ccomsafedeletecriticalsection-class.md
@@ -34,7 +34,7 @@ class CComSafeDeleteCriticalSection : public CComCriticalSection
### Data Members
-|||
+|Data member|Description|
|-|-|
|[m_bInitialized](#m_binitialized)|Flags whether the internal `CRITICAL_SECTION` object has been initialized.|
diff --git a/docs/atl/reference/ccomtearoffobject-class.md b/docs/atl/reference/ccomtearoffobject-class.md
index 7db32f7d8a2..84d17a50600 100644
--- a/docs/atl/reference/ccomtearoffobject-class.md
+++ b/docs/atl/reference/ccomtearoffobject-class.md
@@ -42,13 +42,13 @@ ATL implements its tear-off interfaces in two phases — the `CComTearOffObjectB
### CComTearOffObjectBase Methods
-|||
+|Function|Description|
|-|-|
|[CComTearOffObjectBase](#ccomtearoffobjectbase)|Constructor.|
### CComTearOffObjectBase Data Members
-|||
+|Data member|Description|
|-|-|
|[m_pOwner](#m_powner)|A pointer to a `CComObject` derived from the owner class.|
diff --git a/docs/atl/reference/ccomvariant-class.md b/docs/atl/reference/ccomvariant-class.md
index ba18ff739f2..adbc16b4952 100644
--- a/docs/atl/reference/ccomvariant-class.md
+++ b/docs/atl/reference/ccomvariant-class.md
@@ -41,7 +41,7 @@ class CComVariant : public tagVARIANT
### Public Operators
-|||
+|Operator|Description|
|-|-|
|[CComVariant::operator <](#operator_lt)|Indicates whether the `CComVariant` object is less than the specified VARIANT.|
|[CComVariant::operator >](#operator_gt)|Indicates whether the `CComVariant` object is greater than the specified VARIANT.|
diff --git a/docs/atl/reference/cdialogimpl-class.md b/docs/atl/reference/cdialogimpl-class.md
index a1590b22c04..77b9468a40c 100644
--- a/docs/atl/reference/cdialogimpl-class.md
+++ b/docs/atl/reference/cdialogimpl-class.md
@@ -32,7 +32,7 @@ The base class of your new class. The default base class is [CWindow](../../atl/
### Methods
-|||
+|Function|Description|
|-|-|
|[Create](#create)|Creates a modeless dialog box.|
|[DestroyWindow](#destroywindow)|Destroys a modeless dialog box.|
@@ -41,7 +41,7 @@ The base class of your new class. The default base class is [CWindow](../../atl/
### CDialogImplBaseT Methods
-|||
+|Function|Description|
|-|-|
|[GetDialogProc](#getdialogproc)|Returns the current dialog box procedure.|
|[MapDialogRect](#mapdialogrect)|Maps the dialog-box units of the specified rectangle to screen units (pixels).|
@@ -49,7 +49,7 @@ The base class of your new class. The default base class is [CWindow](../../atl/
### Static Functions
-|||
+|Function|Description|
|-|-|
|[DialogProc](#dialogproc)|Processes messages sent to the dialog box.|
|[StartDialogProc](#startdialogproc)|Called when the first message is received to process messages sent to the dialog box.|
diff --git a/docs/atl/reference/com-interface-entry-macros.md b/docs/atl/reference/com-interface-entry-macros.md
index 4c3f04dec1c..17fec41b2cf 100644
--- a/docs/atl/reference/com-interface-entry-macros.md
+++ b/docs/atl/reference/com-interface-entry-macros.md
@@ -9,7 +9,7 @@ ms.assetid: 19dcb768-2e1f-4b8d-a618-453a01a4bd00
These macros enter an object's interfaces into its COM map so that they can be accessed by `QueryInterface`. The order of entries in the COM map is the order interfaces will be checked for a matching IID during `QueryInterface`.
-|||
+|Macro|Description|
|-|-|
|[COM_INTERFACE_ENTRY](#com_interface_entry)|Enters interfaces into the COM interface map.|
|[COM_INTERFACE_ENTRY2](#com_interface_entry2)|Use this macro to disambiguate two branches of inheritance.|
diff --git a/docs/atl/reference/com-map-global-functions.md b/docs/atl/reference/com-map-global-functions.md
index a661c2e62ba..ea89ac82283 100644
--- a/docs/atl/reference/com-map-global-functions.md
+++ b/docs/atl/reference/com-map-global-functions.md
@@ -9,7 +9,7 @@ ms.assetid: b9612d30-eb23-46ef-8093-d56f237d3cf1
These functions provide support for COM Map `IUnknown` implementations.
-|||
+|Function|Description|
|-|-|
|[AtlInternalQueryInterface](#atlinternalqueryinterface)|Delegates to the `IUnknown` of a nonaggregated object.|
|[InlineIsEqualIUnknown](#inlineisequaliunknown)|Generates efficient code for comparing interfaces against `IUnknown`.|
diff --git a/docs/atl/reference/com-map-macros.md b/docs/atl/reference/com-map-macros.md
index f68ae030c51..53809aebebe 100644
--- a/docs/atl/reference/com-map-macros.md
+++ b/docs/atl/reference/com-map-macros.md
@@ -9,7 +9,7 @@ ms.assetid: 0f33656d-321f-4996-90cc-9a7f21ab73c3
These macros define COM interface maps.
-|||
+|Macro|Description|
|-|-|
|[BEGIN_COM_MAP](#begin_com_map)|Marks the beginning of the COM interface map entries.|
|[END_COM_MAP](#end_com_map)|Marks the end of the COM interface map entries.|
diff --git a/docs/atl/reference/compiler-options-macros.md b/docs/atl/reference/compiler-options-macros.md
index 81d590b3900..125b4f23477 100644
--- a/docs/atl/reference/compiler-options-macros.md
+++ b/docs/atl/reference/compiler-options-macros.md
@@ -9,7 +9,7 @@ ms.assetid: a869adc6-b3de-4299-b040-9ae20b45f82c
These macros control specific compiler features.
-|||
+|Macro|Description|
|-|-|
|[_ATL_ALL_WARNINGS](#_atl_all_warnings)|A symbol that enables errors in projects converted from previous versions of ATL.|
|[_ATL_APARTMENT_THREADED](#_atl_apartment_threaded)|Define if one or more of your objects use apartment threading.|
diff --git a/docs/atl/reference/composite-control-global-functions.md b/docs/atl/reference/composite-control-global-functions.md
index 3b0d13b5067..106fcec6446 100644
--- a/docs/atl/reference/composite-control-global-functions.md
+++ b/docs/atl/reference/composite-control-global-functions.md
@@ -12,7 +12,7 @@ These functions provide support for creating dialog boxes, and for creating, hos
> [!IMPORTANT]
> The functions listed in the following table cannot be used in applications that execute in the Windows Runtime.
-|||
+|Function|Description|
|-|-|
|[AtlAxDialogBox](#atlaxdialogbox)|Creates a modal dialog box from a dialog template provided by the user. The resulting dialog box can contain ActiveX controls.|
|[AtlAxCreateDialog](#atlaxcreatedialog)|Creates a modeless dialog box from a dialog template provided by the user. The resulting dialog box can contain ActiveX controls.|
diff --git a/docs/atl/reference/composite-control-macros.md b/docs/atl/reference/composite-control-macros.md
index 4578e12c450..5843cf58f3f 100644
--- a/docs/atl/reference/composite-control-macros.md
+++ b/docs/atl/reference/composite-control-macros.md
@@ -9,7 +9,7 @@ ms.assetid: 17f2dd5e-07e6-4aa6-b965-7a361c78c45e
These macros define event sink maps and entries.
-|||
+|Macro|Description|
|-|-|
|[BEGIN_SINK_MAP](#begin_sink_map)|Marks the beginning of the event sink map for the composite control.|
|[END_SINK_MAP](#end_sink_map)|Marks the end of the event sink map for the composite control.|
diff --git a/docs/atl/reference/connection-point-global-functions.md b/docs/atl/reference/connection-point-global-functions.md
index 995af33e619..03b745519e5 100644
--- a/docs/atl/reference/connection-point-global-functions.md
+++ b/docs/atl/reference/connection-point-global-functions.md
@@ -12,7 +12,7 @@ These functions provide support for connection points and sink maps.
> [!IMPORTANT]
> The functions listed in the following table cannot be used in applications that execute in the Windows Runtime.
-|||
+|Function|Description|
|-|-|
|[AtlAdvise](#atladvise)|Creates a connection between an object's connection point and a client's sink.|
|[AtlUnadvise](#atlunadvise)|Terminates the connection established through `AtlAdvise`.|
diff --git a/docs/atl/reference/connection-point-macros.md b/docs/atl/reference/connection-point-macros.md
index b9be9eac5db..ea121b14d4b 100644
--- a/docs/atl/reference/connection-point-macros.md
+++ b/docs/atl/reference/connection-point-macros.md
@@ -9,7 +9,7 @@ ms.assetid: cc3a6dd3-5538-45df-b027-1f34963c31e5
These macros define connection point maps and entries.
-|||
+|Macro|Description|
|-|-|
|[BEGIN_CONNECTION_POINT_MAP](#begin_connection_point_map)|Marks the beginning of the connection point map entries.|
|[CONNECTION_POINT_ENTRY](#connection_point_entry)|Enters connection points into the map.|
diff --git a/docs/atl/reference/cprivateobjectsecuritydesc-class.md b/docs/atl/reference/cprivateobjectsecuritydesc-class.md
index db915df3b7a..a33aeb473a2 100644
--- a/docs/atl/reference/cprivateobjectsecuritydesc-class.md
+++ b/docs/atl/reference/cprivateobjectsecuritydesc-class.md
@@ -35,7 +35,7 @@ class CPrivateObjectSecurityDesc : public CSecurityDesc
### Operators
-|||
+|Operator|Description|
|-|-|
|[operator =](#operator_eq)|Assignment operator.|
diff --git a/docs/atl/reference/crbtree-class.md b/docs/atl/reference/crbtree-class.md
index b6b0fadc37a..1bdc2139527 100644
--- a/docs/atl/reference/crbtree-class.md
+++ b/docs/atl/reference/crbtree-class.md
@@ -103,7 +103,7 @@ This class is used by the methods [CRBTree::GetAt](#getat), [CRBTree::GetNext](#
The members are as follows:
-|||
+|Data member|Description|
|-|-|
|`m_key`|The data member storing the key element.|
|`m_value`|The data member storing the value element.|
diff --git a/docs/atl/reference/csid-class.md b/docs/atl/reference/csid-class.md
index b66256092bc..6e026911f20 100644
--- a/docs/atl/reference/csid-class.md
+++ b/docs/atl/reference/csid-class.md
@@ -52,14 +52,14 @@ class CSid
### Operators
-|||
+|Name|Description|
|-|-|
|[operator =](#operator_eq)|Assignment operator.|
|[operator const SID *](#operator_const_sid__star)|Casts a `CSid` object to a pointer to a `SID` structure.|
### Global Operators
-|||
+|Name|Description|
|-|-|
|[operator ==](#operator_eq_eq)|Tests two security descriptor objects for equality|
|[operator !=](#operator_neq)|Tests two security descriptor objects for inequality|
diff --git a/docs/atl/reference/cstockpropimpl-class.md b/docs/atl/reference/cstockpropimpl-class.md
index 9d70ac0f674..07b2b178d31 100644
--- a/docs/atl/reference/cstockpropimpl-class.md
+++ b/docs/atl/reference/cstockpropimpl-class.md
@@ -54,7 +54,7 @@ The class used to manage the type information for *T*. The default value is `CCo
### Public Methods
-|||
+|Name|Description|
|-|-|
|[get_Appearance](#get_appearance)|Call this method to get the paint style used by the control, for example, flat or 3D.|
|[get_AutoSize](#get_autosize)|Call this method to get the status of the flag that indicates if the control cannot be any other size.|
diff --git a/docs/atl/reference/cwindowimpl-class.md b/docs/atl/reference/cwindowimpl-class.md
index 009802be410..be57b54b7dd 100644
--- a/docs/atl/reference/cwindowimpl-class.md
+++ b/docs/atl/reference/cwindowimpl-class.md
@@ -40,7 +40,7 @@ A [traits class](../../atl/understanding-window-traits.md) that defines styles f
### CWindowImplBaseT Methods
-|||
+|Name|Description|
|-|-|
|[DefWindowProc](#defwindowproc)|Provides default message processing.|
|[GetCurrentMessage](#getcurrentmessage)|Returns the current message.|
@@ -51,14 +51,14 @@ A [traits class](../../atl/understanding-window-traits.md) that defines styles f
### Static Methods
-|||
+|Name|Description|
|-|-|
|[GetWndClassInfo](#getwndclassinfo)|Returns a static instance of [CWndClassInfo](../../atl/reference/cwndclassinfo-class.md), which manages the window class information.|
|[WindowProc](#windowproc)|Processes messages sent to the window.|
### Data Members
-|||
+|Name|Description|
|-|-|
|[m_pfnSuperWindowProc](#m_pfnsuperwindowproc)|Points to the window class's original window procedure.|
diff --git a/docs/atl/reference/cwndclassinfo-class.md b/docs/atl/reference/cwndclassinfo-class.md
index ad78e3059cb..ad1978b636a 100644
--- a/docs/atl/reference/cwndclassinfo-class.md
+++ b/docs/atl/reference/cwndclassinfo-class.md
@@ -22,13 +22,13 @@ class CWndClassInfo
### Public Methods
-|||
+|Name|Description|
|-|-|
|[Register](#register)|Registers the window class.|
### Data Members
-|||
+|Name|Description|
|-|-|
|[m_atom](#m_atom)|Uniquely identifies the registered window class.|
|[m_bSystemCursor](#m_bsystemcursor)|Specifies whether the cursor resource refers to a system cursor or to a cursor contained in a module resource.|
diff --git a/docs/atl/reference/debugging-and-error-reporting-global-functions.md b/docs/atl/reference/debugging-and-error-reporting-global-functions.md
index 1ef7f2aa0a2..74c2e9d1ae1 100644
--- a/docs/atl/reference/debugging-and-error-reporting-global-functions.md
+++ b/docs/atl/reference/debugging-and-error-reporting-global-functions.md
@@ -9,7 +9,7 @@ ms.assetid: 11339c02-98cd-428d-b3b9-7deeb155a6a3
These functions provide useful debugging and trace facilities.
-|||
+|Name|Description|
|-|-|
|[AtlHresultFromLastError](debugging-and-error-reporting-global-functions.md#atlhresultfromlasterror)|Returns a `GetLastError` error code in the form of an HRESULT.|
|[AtlHresultFromWin32](debugging-and-error-reporting-global-functions.md#atlhresultfromwin32)|Converts a Win32 error code into an HRESULT.|
diff --git a/docs/atl/reference/debugging-and-error-reporting-macros.md b/docs/atl/reference/debugging-and-error-reporting-macros.md
index a117a291ae5..aca6a30a040 100644
--- a/docs/atl/reference/debugging-and-error-reporting-macros.md
+++ b/docs/atl/reference/debugging-and-error-reporting-macros.md
@@ -9,7 +9,7 @@ ms.assetid: 4da9b87f-ec5c-4a32-ab93-637780909b9d
These macros provide useful debugging and trace facilities.
-|||
+|Name|Description|
|-|-|
|[_ATL_DEBUG_INTERFACES](#_atl_debug_interfaces)|Writes, to the output window, any interface leaks that are detected when `_Module.Term` is called.|
|[_ATL_DEBUG_QI](#_atl_debug_qi)|Writes all calls to `QueryInterface` to the output window.|
diff --git a/docs/atl/reference/device-context-global-functions.md b/docs/atl/reference/device-context-global-functions.md
index eccdceccbeb..d5dfb3879b9 100644
--- a/docs/atl/reference/device-context-global-functions.md
+++ b/docs/atl/reference/device-context-global-functions.md
@@ -8,7 +8,7 @@ ms.assetid: 08ec28f6-daff-4882-9544-e8a4639d05c4
This function creates a device context for a given device.
-|||
+|Name|Description|
|-|-|
|[AtlCreateTargetDC](#atlcreatetargetdc)|Creates a device context.|
diff --git a/docs/atl/reference/event-handling-global-functions.md b/docs/atl/reference/event-handling-global-functions.md
index 45dbc018120..1825682262e 100644
--- a/docs/atl/reference/event-handling-global-functions.md
+++ b/docs/atl/reference/event-handling-global-functions.md
@@ -12,7 +12,7 @@ This function provides an event handler.
> [!IMPORTANT]
> The function listed in the following table cannot be used in applications that execute in the Windows Runtime.
-|||
+|Name|Description|
|-|-|
|[AtlWaitWithMessageLoop](#atlwaitwithmessageloop)|Waits for an object to be signaled, meanwhile dispatching window messages as needed.|
diff --git a/docs/atl/reference/exception-handling-macros.md b/docs/atl/reference/exception-handling-macros.md
index 83bda37e746..7fd8b378e63 100644
--- a/docs/atl/reference/exception-handling-macros.md
+++ b/docs/atl/reference/exception-handling-macros.md
@@ -9,7 +9,7 @@ ms.assetid: a8385d34-3fb0-4006-a42a-de045cacf0f4
These macros provide support for exception handling.
-|||
+|Name|Description|
|-|-|
|[_ATLCATCH](#_atlcatch)|Statement(s) to handle errors occurring in the associated `_ATLTRY`.|
|[_ATLCATCHALL](#_atlcatchall)|Statement(s) to handle errors occurring in the associated `_ATLTRY`.|
diff --git a/docs/atl/reference/iatlmemmgr-class.md b/docs/atl/reference/iatlmemmgr-class.md
index 7dac87c9fae..9b40aa3eb25 100644
--- a/docs/atl/reference/iatlmemmgr-class.md
+++ b/docs/atl/reference/iatlmemmgr-class.md
@@ -19,7 +19,7 @@ __interface __declspec(uuid("654F7EF5-CFDF-4df9-A450-6C6A13C622C0")) IAtlMemMgr
### Methods
-|||
+|Name|Description|
|-|-|
|[Allocate](#allocate)|Call this method to allocate a block of memory.|
|[Free](#free)|Call this method to free a block of memory.|
diff --git a/docs/atl/reference/iaxwinambientdispatch-interface.md b/docs/atl/reference/iaxwinambientdispatch-interface.md
index 675d1e39058..0f1bd334270 100644
--- a/docs/atl/reference/iaxwinambientdispatch-interface.md
+++ b/docs/atl/reference/iaxwinambientdispatch-interface.md
@@ -22,7 +22,7 @@ interface IAxWinAmbientDispatch : IDispatch
### Methods
-|||
+|Name|Description|
|-|-|
|[get_AllowContextMenu](#get_allowcontextmenu)|The `AllowContextMenu` property specifies whether the hosted control is allowed to display its own context menu.|
|[get_AllowShowUI](#get_allowshowui)|The `AllowShowUI` property specifies whether the hosted control is allowed to display its own user interface.|
diff --git a/docs/atl/reference/iaxwinambientdispatchex-interface.md b/docs/atl/reference/iaxwinambientdispatchex-interface.md
index 245a0dbf34d..3592e9f19f0 100644
--- a/docs/atl/reference/iaxwinambientdispatchex-interface.md
+++ b/docs/atl/reference/iaxwinambientdispatchex-interface.md
@@ -22,7 +22,7 @@ MIDL_INTERFACE("B2D0778B - AC99 - 4c58 - A5C8 - E7724E5316B5") IAxWinAmbientDisp
### Methods
-|||
+|Name|Description|
|-|-|
|[SetAmbientDispatch](#setambientdispatch)|This method is called to supplement the default ambient property interface with a user-defined interface.|
diff --git a/docs/atl/reference/iaxwinhostwindow-interface.md b/docs/atl/reference/iaxwinhostwindow-interface.md
index 9268326bc4f..4b3660b7488 100644
--- a/docs/atl/reference/iaxwinhostwindow-interface.md
+++ b/docs/atl/reference/iaxwinhostwindow-interface.md
@@ -22,7 +22,7 @@ interface IAxWinHostWindow : IUnknown
### Methods
-|||
+|Name|Description|
|-|-|
|[AttachControl](#attachcontrol)|Attaches an existing control to the host object.|
|[CreateControl](#createcontrol)|Creates a control and attaches it to the host object.|
diff --git a/docs/atl/reference/iaxwinhostwindowlic-interface.md b/docs/atl/reference/iaxwinhostwindowlic-interface.md
index 0424951ff68..30207bbd031 100644
--- a/docs/atl/reference/iaxwinhostwindowlic-interface.md
+++ b/docs/atl/reference/iaxwinhostwindowlic-interface.md
@@ -19,7 +19,7 @@ interface IAxWinHostWindowLic : IAxWinHostWindow
### Methods
-|||
+|Name|Description|
|-|-|
|[CreateControlLic](#createcontrollic)|Creates a licensed control and attaches it to the host object.|
|[CreateControlLicEx](#createcontrollicex)|Creates a licensed control, attaches it to the host object, and optionally sets up an event handler.|
diff --git a/docs/atl/reference/idochostuihandlerdispatch-interface.md b/docs/atl/reference/idochostuihandlerdispatch-interface.md
index d644040fc1f..486e4cba865 100644
--- a/docs/atl/reference/idochostuihandlerdispatch-interface.md
+++ b/docs/atl/reference/idochostuihandlerdispatch-interface.md
@@ -25,7 +25,7 @@ interface IDocHostUIHandlerDispatch : IDispatch
> [!NOTE]
> The links in the following table are to the INet SDK reference topics for the members of the [IDocUIHostHandler](/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa753260\(v=vs.85\)) interface. `IDocHostUIHandlerDispatch` has the same functionality as `IDocUIHostHandler`, with the difference being that `IDocHostUIHandlerDispatch` is a dispinterface whereas `IDocUIHostHandler` is a custom interface.
-|||
+|Name|Description|
|-|-|
|[EnableModeless](/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa753253\(v=vs.85\))|Called from MSHTML implementation of [IOleInPlaceActiveObject::EnableModeless](/windows/win32/api/oleidl/nf-oleidl-ioleinplaceactiveobject-enablemodeless). Also called when MSHTML displays modal UI.|
|[FilterDataObject](/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa753254\(v=vs.85\))|Called on the host by MSHTML to allow the host to replace MSHTML's data object.|
diff --git a/docs/atl/reference/ithreadpoolconfig-interface.md b/docs/atl/reference/ithreadpoolconfig-interface.md
index 4a7fbb4fedc..07465bc9e9f 100644
--- a/docs/atl/reference/ithreadpoolconfig-interface.md
+++ b/docs/atl/reference/ithreadpoolconfig-interface.md
@@ -23,7 +23,7 @@ __interface
### Methods
-|||
+|Name|Description|
|-|-|
|[GetSize](#getsize)|Call this method to get the number of threads in the pool.|
|[GetTimeout](#gettimeout)|Call this method to get the maximum time in milliseconds that the thread pool will wait for a thread to shut down.|
diff --git a/docs/atl/reference/iworkerthreadclient-interface.md b/docs/atl/reference/iworkerthreadclient-interface.md
index 0f62e3e5886..38ffc1ed609 100644
--- a/docs/atl/reference/iworkerthreadclient-interface.md
+++ b/docs/atl/reference/iworkerthreadclient-interface.md
@@ -22,7 +22,7 @@ __interface IWorkerThreadClient
### Methods
-|||
+|Name|Description|
|-|-|
|[CloseHandle](#closehandle)|Implement this method to close the handle associated with this object.|
|[Execute](#execute)|Implement this method to execute code when the handle associated with this object becomes signaled.|
diff --git a/docs/atl/reference/marshaling-global-functions.md b/docs/atl/reference/marshaling-global-functions.md
index a17e79d3c57..5d66c3c94b5 100644
--- a/docs/atl/reference/marshaling-global-functions.md
+++ b/docs/atl/reference/marshaling-global-functions.md
@@ -11,7 +11,7 @@ These functions provide support for marshaling and converting marshaling data in
> [!IMPORTANT]
> The functions listed in the following table cannot be used in applications that execute in the Windows Runtime.
-|||
+|Name|Description|
|-|-|
|[AtlFreeMarshalStream](#atlfreemarshalstream)|Releases the marshal data and the `IStream` pointer.|
|[AtlMarshalPtrInProc](#atlmarshalptrinproc)|Creates a new stream object and marshals the specified interface pointer.|
diff --git a/docs/atl/reference/message-map-macros-atl.md b/docs/atl/reference/message-map-macros-atl.md
index e4f71076770..802d073d3f0 100644
--- a/docs/atl/reference/message-map-macros-atl.md
+++ b/docs/atl/reference/message-map-macros-atl.md
@@ -8,7 +8,7 @@ ms.assetid: eefdd546-8934-4a30-b263-9c06a8addcbd
These macros define message maps and entries.
-|||
+|Name|Description|
|-|-|
|[ALT_MSG_MAP](#alt_msg_map)|Marks the beginning of an alternate message map.|
|[BEGIN_MSG_MAP](#begin_msg_map)|Marks the beginning of the default message map.|
diff --git a/docs/atl/reference/object-map-macros.md b/docs/atl/reference/object-map-macros.md
index 2b38419a082..61bf17ff699 100644
--- a/docs/atl/reference/object-map-macros.md
+++ b/docs/atl/reference/object-map-macros.md
@@ -8,7 +8,7 @@ ms.assetid: 680087f4-9894-41dd-a79c-6f337e1f13c1
These macros define object maps and entries.
-|||
+|Name|Description|
|-|-|
|[DECLARE_OBJECT_DESCRIPTION](#declare_object_description)|Allows you to specify a class object's text description, which will be entered into the object map.|
|[OBJECT_ENTRY_AUTO](#object_entry_auto)|Enters an ATL object into the object map, updates the registry, and creates an instance of the object.|
diff --git a/docs/atl/reference/object-status-macros.md b/docs/atl/reference/object-status-macros.md
index 747fc8c5e74..af4652d019b 100644
--- a/docs/atl/reference/object-status-macros.md
+++ b/docs/atl/reference/object-status-macros.md
@@ -8,7 +8,7 @@ ms.assetid: 727dbef2-a342-4157-9d64-a421805d9747
This macro sets flags belonging to ActiveX controls.
-|||
+|Name|Description|
|-|-|
|[DECLARE_OLEMISC_STATUS](#declare_olemisc_status)|Used in ATL ActiveX controls to set the OLEMISC flags.|
diff --git a/docs/atl/reference/pixel-himetric-conversion-global-functions.md b/docs/atl/reference/pixel-himetric-conversion-global-functions.md
index ceb40d325cd..210eb4dbd9d 100644
--- a/docs/atl/reference/pixel-himetric-conversion-global-functions.md
+++ b/docs/atl/reference/pixel-himetric-conversion-global-functions.md
@@ -11,7 +11,7 @@ These functions provide support for converting to and from pixel and HIMETRIC un
> [!IMPORTANT]
> The functions listed in the following table cannot be used in applications that execute in the Windows Runtime.
-|||
+|Name|Description|
|-|-|
|[AtlHiMetricToPixel](#atlhimetrictopixel)|Converts HIMETRIC units (each unit is 0.01 millimeter) to pixels.|
|[AtlPixelToHiMetric](#atlpixeltohimetric)|Converts pixels to HIMETRIC units (each unit is 0.01 millimeter).|
diff --git a/docs/atl/reference/property-map-macros.md b/docs/atl/reference/property-map-macros.md
index 14c4ca020a2..6ba84e07377 100644
--- a/docs/atl/reference/property-map-macros.md
+++ b/docs/atl/reference/property-map-macros.md
@@ -9,7 +9,7 @@ ms.assetid: 128bc742-2b98-4b97-a243-684dbb83db77
These macros define property maps and entries.
-|||
+|Name|Description|
|-|-|
|[BEGIN_PROP_MAP](#begin_prop_map)|Marks the beginning of the ATL property map.|
|[PROP_DATA_ENTRY](#prop_data_entry)|Indicates the extent, or dimensions, of an ActiveX control.|
diff --git a/docs/atl/reference/registry-and-typelib-global-functions.md b/docs/atl/reference/registry-and-typelib-global-functions.md
index 027528f43aa..b4db37d557d 100644
--- a/docs/atl/reference/registry-and-typelib-global-functions.md
+++ b/docs/atl/reference/registry-and-typelib-global-functions.md
@@ -12,7 +12,7 @@ These functions provide support for loading and registering a type library.
> [!IMPORTANT]
> The functions listed in the following tables cannot be used in applications that execute in the Windows Runtime.
-|||
+|Name|Description|
|-|-|
|[AfxRegCreateKey](#afxregcreatekey)|Creates the specified registry key.|
|[AfxRegDeleteKey](#afxregdeletekey)|Deletes the specified registry key.|
@@ -28,7 +28,7 @@ These functions provide support for loading and registering a type library.
These functions control which node in the registry the program uses to store information.
-|||
+|Name|Description|
|-|-|
|[AtlGetPerUserRegistration](#atlgetperuserregistration)|Retrieves whether the application redirects registry access to the **HKEY_CURRENT_USER** ( **HKCU**) node.|
|[AtlSetPerUserRegistration](#atlsetperuserregistration)|Sets whether the application redirects registry access to the **HKEY_CURRENT_USER** ( **HKCU**) node.|
diff --git a/docs/atl/reference/registry-data-exchange-macros.md b/docs/atl/reference/registry-data-exchange-macros.md
index 0feb3145760..5a08a731c5c 100644
--- a/docs/atl/reference/registry-data-exchange-macros.md
+++ b/docs/atl/reference/registry-data-exchange-macros.md
@@ -9,7 +9,7 @@ ms.assetid: c1bc5e79-2307-43d2-9d10-3a62ffadf473
These macros perform Registry Data Exchange operations.
-|||
+|Name|Description|
|-|-|
|[BEGIN_RDX_MAP](#begin_rdx_map)|Marks the beginning of the Registry Data Exchange map.|
|[END_RDX_MAP](#end_rdx_map)|Marks the end of the Registry Data Exchange map.|
diff --git a/docs/atl/reference/registry-macros.md b/docs/atl/reference/registry-macros.md
index bd7e75e03fc..9ce0bdca75a 100644
--- a/docs/atl/reference/registry-macros.md
+++ b/docs/atl/reference/registry-macros.md
@@ -9,7 +9,7 @@ ms.assetid: 3ee041da-c63b-42a4-89cf-2a4b2a6f81ae
These macros define useful type library and registry facilities.
-|||
+|Name|Description|
|-|-|
|[_ATL_STATIC_REGISTRY](#_atl_static_registry)|Indicates that you want the registration code for your object to be in the object to avoid a dependency on ATL.DLL.|
|[DECLARE_LIBID](#declare_libid)|Provides a way for ATL to obtain the *libid* of the type library.|
diff --git a/docs/atl/reference/security-global-functions.md b/docs/atl/reference/security-global-functions.md
index 224a2ea1500..5eeef91f1ee 100644
--- a/docs/atl/reference/security-global-functions.md
+++ b/docs/atl/reference/security-global-functions.md
@@ -12,7 +12,7 @@ These functions provide support for modifying SID and ACL objects.
> [!IMPORTANT]
> The functions listed in the following table cannot be used in applications that execute in the Windows Runtime.
-|||
+|Name|Description|
|-|-|
|[AtlGetDacl](#atlgetdacl)|Call this function to retrieve the discretionary access-control list (DACL) information of a specified object.|
|[AtlSetDacl](#atlsetdacl)|Call this function to set the discretionary access-control list (DACL) information of a specified object.|
diff --git a/docs/atl/reference/security-identifier-global-functions.md b/docs/atl/reference/security-identifier-global-functions.md
index d7b26e8c568..b4cd6879119 100644
--- a/docs/atl/reference/security-identifier-global-functions.md
+++ b/docs/atl/reference/security-identifier-global-functions.md
@@ -12,7 +12,7 @@ These functions return common well-known SID objects.
> [!IMPORTANT]
> The functions listed in the following table cannot be used in applications that execute in the Windows Runtime.
-|||
+|Name|Description|
|-|-|
|[Sids::AccountOps](#accountops)|Returns the DOMAIN_ALIAS_RID_ACCOUNT_OPS SID.|
|[Sids::Admins](#admins)|Returns the DOMAIN_ALIAS_RID_ADMINS SID.|
diff --git a/docs/atl/reference/server-registration-global-functions.md b/docs/atl/reference/server-registration-global-functions.md
index c2c4f4f7cb4..83c8b57242c 100644
--- a/docs/atl/reference/server-registration-global-functions.md
+++ b/docs/atl/reference/server-registration-global-functions.md
@@ -11,7 +11,7 @@ These functions provide support for registering and unregistering server objects
> [!IMPORTANT]
> The functions listed in the following table cannot be used in applications that execute in the Windows Runtime.
-|||
+|Name|Description|
|-|-|
|[AtlComModuleRegisterServer](#atlcommoduleregisterserver)|This function is called to register every object in the object map.|
|[AtlComModuleUnregisterServer](#atlcommoduleunregisterserver)|This function is called to unregister every object in the object map.|
diff --git a/docs/atl/reference/service-map-macros.md b/docs/atl/reference/service-map-macros.md
index ff1a1b275bd..f14cb0b34ee 100644
--- a/docs/atl/reference/service-map-macros.md
+++ b/docs/atl/reference/service-map-macros.md
@@ -8,7 +8,7 @@ ms.assetid: ca02a125-454a-4cf6-aac2-1c5585025ed4
These macros define service maps and entries.
-|||
+|Name|Description|
|-|-|
|[BEGIN_SERVICE_MAP](#begin_service_map)|Marks the beginning of an ATL service map.|
|[END_SERVICE_MAP](#end_service_map)|Marks the end of an ATL service map.|
diff --git a/docs/atl/reference/snap-in-object-macros.md b/docs/atl/reference/snap-in-object-macros.md
index da4c4021314..e1a92e71653 100644
--- a/docs/atl/reference/snap-in-object-macros.md
+++ b/docs/atl/reference/snap-in-object-macros.md
@@ -8,7 +8,7 @@ ms.assetid: 4e9850c0-e395-4929-86c9-584a81828053
These macros provide support for snap-in extensions.
-|||
+|Name|Description|
|-|-|
|[BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP](#begin_extension_snapin_nodeinfo_map)|Marks the beginning of the snap-in extension data class map for a Snap-In object.|
|[BEGIN_SNAPINTOOLBARID_MAP](#begin_snapintoolbarid_map)|Marks the beginning of the toolbar map for a Snap-In object.|
diff --git a/docs/atl/reference/string-conversion-macros.md b/docs/atl/reference/string-conversion-macros.md
index 40eaf4e9fa6..7b1e6d36a40 100644
--- a/docs/atl/reference/string-conversion-macros.md
+++ b/docs/atl/reference/string-conversion-macros.md
@@ -49,7 +49,7 @@ The behavior of the `DEVMODE` and `TEXTMETRIC` string conversion macros depends
The following table lists the `DEVMODE` and `TEXTMETRIC` string conversion macros.
-|||
+|`DEVMODE` macro|`TEXTMETRIC` macro|
|-|-|
|DEVMODEA2W|TEXTMETRICA2W|
|DEVMODEOLE2T|TEXTMETRICOLE2T|
diff --git a/docs/atl/reference/window-class-macros.md b/docs/atl/reference/window-class-macros.md
index ae41f9c880a..ed5d58a8abb 100644
--- a/docs/atl/reference/window-class-macros.md
+++ b/docs/atl/reference/window-class-macros.md
@@ -8,7 +8,7 @@ ms.assetid: ce18681a-2bab-4453-9895-0f3ea47c2b24
These macros define window class utilities.
-|||
+|Name|Description|
|-|-|
|[DECLARE_WND_CLASS](#declare_wnd_class)|Allows you to specify the name of a new window class.|
|[DECLARE_WND_CLASS2](#declare_wnd_class2)|(Visual Studio 2017) Allows you to specify the name of a new window class and the enclosing class whose window procedure the new class will use.|
diff --git a/docs/atl/reference/windows-messages-macros.md b/docs/atl/reference/windows-messages-macros.md
index fba9a9e238c..4d033245794 100644
--- a/docs/atl/reference/windows-messages-macros.md
+++ b/docs/atl/reference/windows-messages-macros.md
@@ -8,7 +8,7 @@ ms.assetid: 63abd22c-372d-4148-bb04-c605950ae64f
This macro forwards window messages.
-|||
+|Name|Description|
|-|-|
|[WM_FORWARDMSG](#wm_forwardmsg)|Use to forward a message received by a window to another window for processing.|
diff --git a/docs/atl/reference/winmodule-global-functions.md b/docs/atl/reference/winmodule-global-functions.md
index 486b2c49568..d9d29e84ad7 100644
--- a/docs/atl/reference/winmodule-global-functions.md
+++ b/docs/atl/reference/winmodule-global-functions.md
@@ -11,7 +11,7 @@ These functions provide support for `_AtlCreateWndData` structure operations.
> [!IMPORTANT]
> The functions listed in the following table cannot be used in applications that execute in the Windows Runtime.
-|||
+|Name|Description|
|-|-|
|[AtlWinModuleAddCreateWndData](#atlwinmoduleaddcreatewnddata)|This function is used to initialize and add an `_AtlCreateWndData` structure.|
|[AtlWinModuleExtractCreateWndData](#atlwinmoduleextractcreatewnddata)|Call this function to extract an existing `_AtlCreateWndData` structure.|
diff --git a/docs/build-insights/reference/sdk/cpp-event-data-types/compiler-pass.md b/docs/build-insights/reference/sdk/cpp-event-data-types/compiler-pass.md
index 4b8a3dccb92..7728a75dc35 100644
--- a/docs/build-insights/reference/sdk/cpp-event-data-types/compiler-pass.md
+++ b/docs/build-insights/reference/sdk/cpp-event-data-types/compiler-pass.md
@@ -47,7 +47,7 @@ Along with the inherited members from its [Activity](activity.md) base class, th
#### PassCode
-|||
+|Value|Description|
|-|-|
|FRONT_END|The front-end pass.|
|BACK_END|The back-end pass.|
diff --git a/docs/build/cppproperties-schema-reference.md b/docs/build/cppproperties-schema-reference.md
index 6923b4d97e6..0b8c2ced6a2 100644
--- a/docs/build/cppproperties-schema-reference.md
+++ b/docs/build/cppproperties-schema-reference.md
@@ -11,7 +11,7 @@ Open Folder projects that don't use CMake can store project configuration settin
A configuration may have any of the following properties:
-|||
+|Name|Description|
|-|-|
|`inheritEnvironments`| Specifies which environments apply to this configuration.|
|`name`|The configuration name that will appear in the C++ configuration dropdown|
@@ -118,7 +118,7 @@ When you define an **environments** property inside a configuration, it override
You have access to the following built-in macros inside *CppProperties.json*:
-|||
+|Macro|Description|
|-|-|
|`${workspaceRoot}`| The full path to the workspace folder|
|`${projectRoot}`| The full path to the folder where *CppProperties.json* is placed|
diff --git a/docs/build/creating-precompiled-header-files.md b/docs/build/creating-precompiled-header-files.md
index 909c2ecb474..bf59311d41d 100644
--- a/docs/build/creating-precompiled-header-files.md
+++ b/docs/build/creating-precompiled-header-files.md
@@ -81,22 +81,54 @@ Pragmas processed during the creation of a PCH file usually affect the file with
These pragmas affect only the code within the PCH file; they do not affect code that subsequently uses the PCH file:
-||||
-|-|-|-|
-|`comment`|`page`|`subtitle`|
-|`linesize`|`pagesize`|`title`|
-|`message`|`skip`||
+:::row:::
+ :::column span="":::
+ `comment`\
+ `linesize`
+ :::column-end:::
+ :::column span="":::
+ `message`\
+ `page`
+ :::column-end:::
+ :::column span="":::
+ `pagesize`\
+ `skip`
+ :::column-end:::
+ :::column span="":::
+ `subtitle`\
+ `title`
+ :::column-end:::
+:::row-end:::
These pragmas are retained as part of a precompiled header, and affect the remainder of a compilation that uses the precompiled header:
-||||
-|-|-|-|
-|`alloc_text`|`include_alias`|`pack`|
-|`auto_inline`|`init_seg`|`pointers_to_members`|
-|`check_stack`|`inline_depth`|`setlocale`|
-|`code_seg`|`inline_recursion`|`vtordisp`|
-|`data_seg`|`intrinsic`|`warning`|
-|`function`|`optimize`||
+:::row:::
+ :::column span="":::
+ `alloc_text`\
+ `auto_inline`\
+ `check_stack`\
+ `code_seg`\
+ `data_seg`
+ :::column-end:::
+ :::column span="":::
+ `function`\
+ `include_alias`\
+ `init_seg`\
+ `inline_depth`
+ :::column-end:::
+ :::column span="":::
+ `inline_recursion`\
+ `intrinsic`\
+ `optimize`\
+ `pack`
+ :::column-end:::
+ :::column span="":::
+ `pointers_to_members`\
+ `setlocale`\
+ `vtordisp`\
+ `warning`
+ :::column-end:::
+:::row-end:::
## Consistency Rules for /Yc and /Yu
diff --git a/docs/build/exception-handling-x64.md b/docs/build/exception-handling-x64.md
index 237921aee25..a5e0cb586a6 100644
--- a/docs/build/exception-handling-x64.md
+++ b/docs/build/exception-handling-x64.md
@@ -16,7 +16,7 @@ Several data structures are required for exception handling and debugging suppor
Table-based exception handling requires a table entry for all functions that allocate stack space or call another function (for example, nonleaf functions). Function table entries have the format:
-|||
+|Size|Value|
|-|-|
|ULONG|Function start address|
|ULONG|Function end address|
@@ -28,7 +28,7 @@ The RUNTIME_FUNCTION structure must be DWORD aligned in memory. All addresses ar
The unwind data info structure is used to record the effects a function has on the stack pointer, and where the nonvolatile registers are saved on the stack:
-|||
+|Size|Value|
|-|-|
|UBYTE: 3|Version|
|UBYTE: 5|Flags|
@@ -41,14 +41,14 @@ The unwind data info structure is used to record the effects a function has on t
(1) Exception Handler
-|||
+|Size|Value|
|-|-|
|ULONG|Address of exception handler|
|variable|Language-specific handler data (optional)|
(2) Chained Unwind Info
-|||
+|Size|Value|
|-|-|
|ULONG|Function start address|
|ULONG|Function end address|
@@ -106,7 +106,7 @@ The UNWIND_INFO structure must be DWORD aligned in memory. Here's what each fiel
The unwind code array is used to record the sequence of operations in the prolog that affect the nonvolatile registers and RSP. Each code item has this format:
-|||
+|Size|Value|
|-|-|
|UBYTE|Offset in prolog|
|UBYTE: 4|Unwind operation code|
@@ -172,7 +172,7 @@ The unwind operation code is one of these values:
Push a machine frame. This unwind code is used to record the effect of a hardware interrupt or exception. There are two forms. If the operation info equals 0, one of these frames has been pushed on the stack:
- |||
+ |Location|Value|
|-|-|
|RSP+32|SS|
|RSP+24|Old RSP|
@@ -182,7 +182,7 @@ The unwind operation code is one of these values:
If the operation info equals 1, then one of these frames has been pushed:
- |||
+ |Location|Value|
|-|-|
|RSP+40|SS|
|RSP+32|Old RSP|
@@ -213,7 +213,7 @@ The unwind operation code is one of these values:
The meaning of the operation info bits depends upon the operation code. To encode a general-purpose (integer) register, this mapping is used:
-|||
+|Bit|Register|
|-|-|
|0|RAX|
|1|RCX|
diff --git a/docs/build/launch-vs-schema-reference-cpp.md b/docs/build/launch-vs-schema-reference-cpp.md
index 6b44bc0655c..563dd1a8f55 100644
--- a/docs/build/launch-vs-schema-reference-cpp.md
+++ b/docs/build/launch-vs-schema-reference-cpp.md
@@ -9,9 +9,8 @@ Use the *launch.vs.json* file to configure debugging parameters. To create the f
## Default properties
-||||
+|Property|Type|Description|
|-|-|-|
-|**Property**|**Type**|**Description**|
|`name`|string|Specifies the name of the entry in the Debug target dropdown.|
|`type`|string|Specifies whether the project is a dll or .exe (Defaults to .exe)|
|`project`|string|Specifies the relative path to the project file.|
@@ -29,9 +28,8 @@ Use the *launch.vs.json* file to configure debugging parameters. To create the f
## C++ Linux properties
-||||
+|Property|Type|Description|
|-|-|-|
-|**Property**|**Type**|**Description**|
|`program`|string|Full path to program executable on the remote machine. When using CMake, the macro `${debugInfo.fullTargetPath}` can be used as the value of this field.|
|`processId`|integer|Optional process ID to attach the debugger to.|
|`sourceFileMap`|object|Optional source file mappings passed to the debug engine. Format: `{ "\": "\" }` or `{ "\": { "editorPath": "\", "useForBreakpoints": true } }`. Example: `{ "/home/user/foo": "C:\\foo" }` or `{ "/home/user/foo": { "editorPath": "c:\\foo", "useForBreakpoints": true } }`. See [Source file map options](#source_file_map_options).|
@@ -60,7 +58,7 @@ externalConsole|boolean|If true, a console is launched for the debuggee. If **`f
Used with the `setupCommands` property:
-||||
+|Property|Type|Description|
|-|-|-|
|`text`|string|The debugger command to execute.|
|`description`|string|Optional description for the command.|
@@ -70,7 +68,7 @@ Used with the `setupCommands` property:
Used with the `pipeTransport` property:
-||||
+|Property|Type|Description|
|-|-|-|
|`pipeCwd`|string|The fully qualified path to the working directory for the pipe program.|
|`pipeProgram`|string|The fully qualified pipe command to execute.|
@@ -83,7 +81,7 @@ Used with the `pipeTransport` property:
Use with the `sourceFileMap` property:
-||||
+|Property|Type|Description|
|-|-|-|
|`editorPath`|string|The location of the source code for the editor to locate.|
|`useForBreakpoints`|boolean|When setting breakpoints, this source mapping should be used. If **`false`**, only the filename and line number is used for setting breakpoints. If **`true`**, breakpoints will be set with the full path to the file and line number only when this source mapping is used. Otherwise just filename and line number will be used when setting breakpoints. Default is **`true`**.|
diff --git a/docs/build/optimization-best-practices.md b/docs/build/optimization-best-practices.md
index 76902cd8829..1aac7bf0f49 100644
--- a/docs/build/optimization-best-practices.md
+++ b/docs/build/optimization-best-practices.md
@@ -32,7 +32,7 @@ It is also strongly recommended to generate debug symbols, even with optimized r
The **`/Op`** compiler option has been removed, and the following four compiler options dealing with floating point optimizations have been added:
-|||
+|Option|Description|
|-|-|
|**`/fp:precise`**|This is the default recommendation and should be used in most cases.|
|**`/fp:fast`**|Recommended if performance is of the utmost importance, for example in games. This will result in the fastest performance.|
diff --git a/docs/build/reference/clrsupportlasterror-preserve-last-error-code-for-pinvoke-calls.md b/docs/build/reference/clrsupportlasterror-preserve-last-error-code-for-pinvoke-calls.md
index 2d5e734182e..82f7ec490d6 100644
--- a/docs/build/reference/clrsupportlasterror-preserve-last-error-code-for-pinvoke-calls.md
+++ b/docs/build/reference/clrsupportlasterror-preserve-last-error-code-for-pinvoke-calls.md
@@ -19,38 +19,7 @@ ms.assetid: b7057990-4154-4b1d-9fc9-6236f7be7575
Preserving the last error code implies a decrease in performance. If you do not want to incur the performance impact of preserving the last error code, link with **/CLRSUPPORTLASTERROR:NO**.
-You can minimize the performance impact by linking with **/CLRSUPPORTLASTERROR:SYSTEMDLL**, which only preserves the last error code for functions in system DLLs. A system DLL is defined as one of the following:
-
-|||||
-|-|-|-|-|
-|ACLUI.DLL|ACTIVEDS.DLL|ADPTIF.DLL|ADVAPI32.DLL|
-|ASYCFILT.DLL|AUTHZ.DLL|AVICAP32.DLL|AVIFIL32.DLL|
-|CABINET.DLL|CLUSAPI.DLL|COMCTL32.DLL|COMDLG32.DLL|
-|COMSVCS.DLL|CREDUI.DLL|CRYPT32.DLL|CRYPTNET.DLL|
-|CRYPTUI.DLL|D3D8THK.DLL|DBGENG.DLL|DBGHELP.DLL|
-|DCIMAN32.DLL|DNSAPI.DLL|DSPROP.DLL|DSUIEXT.DLL|
-|GDI32.DLL|GLU32.DLL|HLINK.DLL|ICM32.DLL|
-|IMAGEHLP.DLL|IMM32.DLL|IPHLPAPI.DLL|IPROP.DLL|
-|KERNEL32.DLL|KSUSER.DLL|LOADPERF.DLL|LZ32.DLL|
-|MAPI32.DLL|MGMTAPI.DLL|MOBSYNC.DLL|MPR.DLL|
-|MPRAPI.DLL|MQRT.DLL|MSACM32.DLL|MSCMS.DLL|
-|MSI.DLL|MSIMG32.DLL|MSRATING.DLL|MSTASK.DLL|
-|MSVFW32.DLL|MSWSOCK.DLL|MTXEX.DLL|NDDEAPI.DLL|
-|NETAPI32.DLL|NPPTOOLS.DLL|NTDSAPI.DLL|NTDSBCLI.DLL|
-|NTMSAPI.DLL|ODBC32.DLL|ODBCBCP.DLL|OLE32.DLL|
-|OLEACC.DLL|OLEAUT32.DLL|OLEDLG.DLL|OPENGL32.DLL|
-|PDH.DLL|POWRPROF.DLL|QOSNAME.DLL|QUERY.DLL|
-|RASAPI32.DLL|RASDLG.DLL|RASSAPI.DLL|RESUTILS.DLL|
-|RICHED20.DLL|RPCNS4.DLL|RPCRT4.DLL|RTM.DLL|
-|RTUTILS.DLL|SCARDDLG.DLL|SECUR32.DLL|SENSAPI.DLL|
-|SETUPAPI.DLL|SFC.DLL|SHELL32.DLL|SHFOLDER.DLL|
-|SHLWAPI.DLL|SISBKUP.DLL|SNMPAPI.DLL|SRCLIENT.DLL|
-|STI.DLL|TAPI32.DLL|TRAFFIC.DLL|URL.DLL|
-|URLMON.DLL|USER32.DLL|USERENV.DLL|USP10.DLL|
-|UXTHEME.DLL|VDMDBG.DLL|VERSION.DLL|WINFAX.DLL|
-|WINHTTP.DLL|WININET.DLL|WINMM.DLL|WINSCARD.DLL|
-|WINTRUST.DLL|WLDAP32.DLL|WOW32.DLL|WS2_32.DLL|
-|WSNMP32.DLL|WSOCK32.DLL|WTSAPI32.DLL|XOLEHLP.DLL|
+You can minimize the performance impact by linking with **/CLRSUPPORTLASTERROR:SYSTEMDLL**, which only preserves the last error code for functions in system DLLs.
> [!NOTE]
> Preserving the last error is not supported for unmanaged functions that are consumed by CLR code, in the same module.
diff --git a/docs/build/reference/recommended-tags-for-documentation-comments-visual-cpp.md b/docs/build/reference/recommended-tags-for-documentation-comments-visual-cpp.md
index 6679b6399c7..b74f9a48c57 100644
--- a/docs/build/reference/recommended-tags-for-documentation-comments-visual-cpp.md
+++ b/docs/build/reference/recommended-tags-for-documentation-comments-visual-cpp.md
@@ -16,14 +16,22 @@ Tags must immediately precede types or members.
The compiler will process any tag that is valid XML. The following tags provide commonly used functionality in user documentation:
-||||
-|-|-|-|
-|[\](c-visual-cpp.md)|[\](code-visual-cpp.md)|[\](example-visual-cpp.md)|
-|[\](exception-visual-cpp.md)1|[\](include-visual-cpp.md)1|[\](list-visual-cpp.md)|
-|[\](para-visual-cpp.md)|[\](param-visual-cpp.md)1|[\](paramref-visual-cpp.md)1|
-|[\](permission-visual-cpp.md)1|[\](remarks-visual-cpp.md)|[\](returns-visual-cpp.md)|
-|[\](see-visual-cpp.md)1|[\](seealso-visual-cpp.md)1|[\](summary-visual-cpp.md)|
-|[\](value-visual-cpp.md)|||
+[``](c-visual-cpp.md)
+[``](code-visual-cpp.md)
+[``](example-visual-cpp.md)
+[``](exception-visual-cpp.md)1
+[``](include-visual-cpp.md)1
+[``](list-visual-cpp.md)
+[``](para-visual-cpp.md)
+[``](param-visual-cpp.md)1
+[``](paramref-visual-cpp.md)1
+[``](permission-visual-cpp.md)1
+[``](remarks-visual-cpp.md)
+[``](returns-visual-cpp.md)
+[``](see-visual-cpp.md)1
+[``](seealso-visual-cpp.md)1
+[``](summary-visual-cpp.md)
+[``](value-visual-cpp.md)
1. Compiler verifies syntax.
diff --git a/docs/build/reference/reserved-words.md b/docs/build/reference/reserved-words.md
index 6509cb59624..d0162bcbd0d 100644
--- a/docs/build/reference/reserved-words.md
+++ b/docs/build/reference/reserved-words.md
@@ -9,28 +9,75 @@ ms.assetid: 9b9f49e5-0739-45ab-a37e-81e3915ceb25
The following words are reserved by the linker. These names can be used as arguments in [module-definition statements](module-definition-dot-def-files.md) only if the name is enclosed in double quotation marks ("").
-||||
-|-|-|-|
-|**APPLOADER**1|**INITINSTANCE**2|**PRELOAD**|
-|**BASE**|**IOPL**|**PRIVATE**|
-|**CODE**|**LIBRARY**1|**PROTMODE**2|
-|**CONFORMING**|**LOADONCALL**1|**PURE**1|
-|**DATA**|**LONGNAMES**2|**READONLY**|
-|**DESCRIPTION**|**MOVABLE**1|**READWRITE**|
-|**DEV386**|**MOVEABLE**1|**REALMODE**1|
-|**DISCARDABLE**|**MULTIPLE**|**RESIDENT**|
-|**DYNAMIC**|**NAME**|**RESIDENTNAME**1|
-|**EXECUTE-ONLY**|**NEWFILES**2|**SECTIONS**|
-|**EXECUTEONLY**|**NODATA**1|**SEGMENTS**|
-|**EXECUTEREAD**|**NOIOPL**1|**SHARED**|
-|**EXETYPE**|**NONAME**|**SINGLE**|
-|**EXPORTS**|**NONCONFORMING**1|**STACKSIZE**|
-|**FIXED**1|**NONDISCARDABLE**|**STUB**|
-|**FUNCTIONS**2|**NONE**|**VERSION**|
-|**HEAPSIZE**|**NONSHARED**|**WINDOWAPI**|
-|**IMPORTS**|**NOTWINDOWCOMPAT**1|**WINDOWCOMPAT**|
-|**IMPURE**1|**OBJECTS**|**WINDOWS**|
-|**INCLUDE**2|**OLD**1||
+:::row:::
+ :::column span="":::
+ **`APPLOADER`**1\
+ **`BASE`**\
+ **`CODE`**\
+ **`CONFORMING`**\
+ **`DATA`**\
+ **`DESCRIPTION`**\
+ **`DEV386`**\
+ **`DISCARDABLE`**\
+ **`DYNAMIC`**\
+ **`EXECUTE-ONLY`**\
+ **`EXECUTEONLY`**\
+ **`EXECUTEREAD`**\
+ **`EXETYPE`**\
+ **`EXPORTS`**\
+ **`FIXED`**1
+ :::column-end:::
+ :::column span="":::
+ **`FUNCTIONS`**2\
+ **`HEAPSIZE`**\
+ **`IMPORTS`**\
+ **`IMPURE`**1\
+ **`INCLUDE`**2\
+ **`INITINSTANCE`**2\
+ **`IOPL`**\
+ **`LIBRARY`**1\
+ **`LOADONCALL`**1\
+ **`LONGNAMES`**2\
+ **`MOVABLE`**1\
+ **`MOVEABLE`**1\
+ **`MULTIPLE`**\
+ **`NAME`**\
+ **`NEWFILES`**2
+ :::column-end:::
+ :::column span="":::
+ **`NODATA`**1\
+ **`NOIOPL`**1\
+ **`NONAME`**\
+ **`NONCONFORMING`**1\
+ **`NONDISCARDABLE`**\
+ **`NONE`**\
+ **`NONSHARED`**\
+ **`NOTWINDOWCOMPAT`**1\
+ **`OBJECTS`**\
+ **`OLD`**1\
+ **`PRELOAD`**\
+ **`PRIVATE`**\
+ **`PROTMODE`**2\
+ **`PURE`**1\
+ **`READONLY`**
+ :::column-end:::
+ :::column span="":::
+ **`READWRITE`**\
+ **`REALMODE`**1\
+ **`RESIDENT`**\
+ **`RESIDENTNAME`**1\
+ **`SECTIONS`**\
+ **`SEGMENTS`**\
+ **`SHARED`**\
+ **`SINGLE`**\
+ **`STACKSIZE`**\
+ **`STUB`**\
+ **`VERSION`**\
+ **`WINDOWAPI`**\
+ **`WINDOWCOMPAT`**\
+ **`WINDOWS`**
+ :::column-end:::
+:::row-end:::
1 The linker emits a warning ("ignored") when it encounters this term. However, the word is still reserved.
diff --git a/docs/build/tasks-vs-json-schema-reference-cpp.md b/docs/build/tasks-vs-json-schema-reference-cpp.md
index 6cfa30afe95..df36b8e71ed 100644
--- a/docs/build/tasks-vs-json-schema-reference-cpp.md
+++ b/docs/build/tasks-vs-json-schema-reference-cpp.md
@@ -14,9 +14,8 @@ A task has a `type` property which may have one of four values: `default`, `laun
The default properties are available on all types of tasks:
-||||
+|Property|Type|Description|
|-|-|-|
-|**Property**|**Type**|**Description**|
|`taskLabel`|string| (Required.) Specifies the task label used in the user interface.|
|`appliesTo`|string| (Required.) Specifies which files the command can be performed on. The use of wildcards is supported, for example: "*", "*.cpp", "/*.txt"|
|`contextType`|string| Allowed values: "custom", "build", "clean", "rebuild". Determines where in the context menu the task will appear. Defaults to "custom".|
@@ -28,9 +27,8 @@ The default properties are available on all types of tasks:
When the task type is `launch`, these properties are available:
-||||
+|Property|Type|Description|
|-|-|-|
-|**Property**|**Type**|**Description**|
|`command`|string| Specifies the full path of the process or script to launch.|
|`args`|array| Specifies a comma-separated list of arguments passed to the command.|
|`launchOption`|string| Allowed values: "None", "ContinueOnError","IgnoreError". Specifies how to proceed with the command when there are errors.|
@@ -81,9 +79,8 @@ Remote tasks are enabled when you install the Linux development with C++ workloa
When the task type is `remote`, these properties are available:
-||||
+|Property|Type|Description|
|-|-|-|
-|**Property**|**Type**|**Description**|
|`remoteMachineName`|string|The name of the remote machine. Must match a machine name in **Connection Manager**.|
|`command`|string|The command to send to the remote machine. By default commands are executed in the $HOME directory on the remote system.|
|`remoteWorkingDirectory`|string|The current working directory on the remote machine.|
@@ -122,9 +119,8 @@ The following task will appear in the context menu when you right-click on *main
When the task type is `msbuild`, these properties are available:
-||||
+|Property|Type|Description|
|-|-|-|
-|**Property**|**Type**|**Description**|
|`verbosity`|string| Specifies the MSBuild project build output verbosityAllowed values: "Quiet", "Minimal", "Normal", "Detailed", "Diagnostic".|
|`toolsVersion`|string| Specifies the toolset version to build the project, for example "2.0", "3.5", "4.0", "Current". Defaults to "Current".|
|`globalProperties`|object|Specifies a key-value list of the global properties to pass into the project, for example, "Configuration":"Release"|
diff --git a/docs/build/x64-software-conventions.md b/docs/build/x64-software-conventions.md
index 9dfd5611238..647420350e3 100644
--- a/docs/build/x64-software-conventions.md
+++ b/docs/build/x64-software-conventions.md
@@ -36,22 +36,21 @@ Although it's possible to access data with any alignment, it's recommended to al
- Octaword - 128 bits
-|||||
-|-|-|-|-|
|Scalar Type|C Data Type|Storage Size (in bytes)|Recommended Alignment|
-|**INT8**|**`char`**|1|Byte|
-|**UINT8**|**`unsigned char`**|1|Byte|
-|**INT16**|**`short`**|2|Word|
-|**UINT16**|**`unsigned short`**|2|Word|
-|**INT32**|**`int`**, **`long`**|4|Doubleword|
-|**UINT32**|**unsigned int, unsigned long**|4|Doubleword|
-|**INT64**|**`__int64`**|8|Quadword|
-|**UINT64**|**unsigned __int64**|8|Quadword|
-|**FP32 (single precision)**|**`float`**|4|Doubleword|
-|**FP64 (double precision)**|**`double`**|8|Quadword|
-|**POINTER**|__\*__|8|Quadword|
-|**`__m64`**|**struct __m64**|8|Quadword|
-|**`__m128`**|**struct __m128**|16|Octaword|
+|-|-|-|-|
+|**`INT8`**|**`char`**|1|Byte|
+|**`UINT8`**|**`unsigned char`**|1|Byte|
+|**`INT16`**|**`short`**|2|Word|
+|**`UINT16`**|**`unsigned short`**|2|Word|
+|**`INT32`**|**`int`**, **`long`**|4|Doubleword|
+|**`UINT32`**|**`unsigned int`**, **`unsigned long`**|4|Doubleword|
+|**`INT64`**|**`__int64`**|8|Quadword|
+|**`UINT64`**|**`unsigned __int64`**|8|Quadword|
+|**`FP32`** (single precision)|**`float`**|4|Doubleword|
+|**`FP64`** (double precision)|**`double`**|8|Quadword|
+|**`POINTER`**|__\*__|8|Quadword|
+|**`__m64`**|**`struct __m64`**|8|Quadword|
+|**`__m128`**|**`struct __m128`**|16|Octaword|
### Aggregates and unions
@@ -71,22 +70,21 @@ Other types, such as arrays, structs, and unions, have stricter alignment requir
The following table shows the strongly suggested alignment for the scalar members of unions and structures.
-||||
-|-|-|-|
|Scalar Type|C Data Type|Required Alignment|
-|**INT8**|**`char`**|Byte|
-|**UINT8**|**`unsigned char`**|Byte|
-|**INT16**|**`short`**|Word|
-|**UINT16**|**`unsigned short`**|Word|
-|**INT32**|**`int`**, **`long`**|Doubleword|
-|**UINT32**|**unsigned int, unsigned long**|Doubleword|
-|**INT64**|**`__int64`**|Quadword|
-|**UINT64**|**unsigned __int64**|Quadword|
-|**FP32 (single precision)**|**`float`**|Doubleword|
-|**FP64 (double precision)**|**`double`**|Quadword|
-|**POINTER**|\*|Quadword|
-|**`__m64`**|**struct __m64**|Quadword|
-|**`__m128`**|**struct __m128**|Octaword|
+|-|-|-|
+|**`INT8`**|**`char`**|Byte|
+|**`UINT8`**|**`unsigned char`**|Byte|
+|**`INT16`**|**`short`**|Word|
+|**`UINT16`**|**`unsigned short`**|Word|
+|**`INT32`**|**`int`**, **`long`**|Doubleword|
+|**`UINT32`**|**`unsigned int`**, **`unsigned long`**|Doubleword|
+|**`INT64`**|**`__int64`**|Quadword|
+|**`UINT64`**|**`unsigned __int64`**|Quadword|
+|**`FP32`** (single precision)|**`float`**|Doubleword|
+|**`FP64`** (double precision)|**`double`**|Quadword|
+|**`POINTER`**|\*|Quadword|
+|**`__m64`**|**`struct __m64`**|Quadword|
+|**`__m128`**|**`struct __m128`**|Octaword|
The following aggregate alignment rules apply:
@@ -183,9 +181,8 @@ The x64 architecture provides for 16 general-purpose registers (hereafter referr
The following table describes how each register is used across function calls:
-||||
-|-|-|-|
|Register|Status|Use|
+|-|-|-|
|RAX|Volatile|Return value register|
|RCX|Volatile|First integer argument|
|RDX|Volatile|Second integer argument|
diff --git a/docs/c-language/c-keywords.md b/docs/c-language/c-keywords.md
index c2e18f17482..e815481e52e 100644
--- a/docs/c-language/c-keywords.md
+++ b/docs/c-language/c-keywords.md
@@ -10,44 +10,44 @@ ms.assetid: 2d932335-97bf-45cd-b367-4ae00db0ff42
:::row:::
:::column:::
- **`auto`**
- **`double`**
- **`int`**
- **`struct`**
- **`break`**
- **`else`**
- **`long`**
- **`switch`**
+ **`auto`**\
+ **`double`**\
+ **`int`**\
+ **`struct`**\
+ **`break`**\
+ **`else`**\
+ **`long`**\
+ **`switch`**
:::column-end:::
:::column:::
- **`case`**
- **`enum`**
- **`register`**
- **`typedef`**
- **`char`**
- **`extern`**
- **`return`**
- **`union`**
+ **`case`**\
+ **`enum`**\
+ **`register`**\
+ **`typedef`**\
+ **`char`**\
+ **`extern`**\
+ **`return`**\
+ **`union`**
:::column-end:::
:::column:::
- **`const`**
- **`float`**
- **`short`**
- **`unsigned`**
- **`continue`**
- **`for`**
- **`signed`**
- **`void`**
+ **`const`**\
+ **`float`**\
+ **`short`**\
+ **`unsigned`**\
+ **`continue`**\
+ **`for`**\
+ **`signed`**\
+ **`void`**
:::column-end:::
:::column:::
- **`default`**
- **`goto`**
- **`sizeof`**
- **`volatile`**
- **`do`**
- **`if`**
- **`static`**
- **`while`**
+ **`default`**\
+ **`goto`**\
+ **`sizeof`**\
+ **`volatile`**\
+ **`do`**\
+ **`if`**\
+ **`static`**\
+ **`while`**
:::column-end:::
:::row-end:::
@@ -61,31 +61,31 @@ The following keywords and special identifiers are recognized by the Microsoft C
:::row:::
:::column:::
- **`__asm`**3
- **`dllimport`**2
- **`__int8`**3
- **`naked`**2
- **`__based`**1, 3
+ **`__asm`**3\
+ **`dllimport`**2\
+ **`__int8`**3\
+ **`naked`**2\
+ **`__based`**1, 3
:::column-end:::
:::column:::
- **`__except`**3
- **`__int16`**3
- **`__stdcall`**3
- **`__cdecl`**3
- **`__fastcall`**
+ **`__except`**3\
+ **`__int16`**3\
+ **`__stdcall`**3\
+ **`__cdecl`**3\
+ **`__fastcall`**
:::column-end:::
:::column:::
- **`__int32`**3
- **`thread`**2
- **`__declspec`**3
- **`__finally`**3
- **`__int64`**3
+ **`__int32`**3\
+ **`thread`**2\
+ **`__declspec`**3\
+ **`__finally`**3\
+ **`__int64`**3
:::column-end:::
:::column:::
- **`__try`**3
- **`dllexport`**2
- **`__inline`**3
- **`__leave`**3
+ **`__try`**3\
+ **`dllexport`**2\
+ **`__inline`**3\
+ **`__leave`**3
:::column-end:::
:::row-end:::
diff --git a/docs/c-language/c-pragmas.md b/docs/c-language/c-pragmas.md
index 20823b01cea..3c9bcf7bd9d 100644
--- a/docs/c-language/c-pragmas.md
+++ b/docs/c-language/c-pragmas.md
@@ -12,48 +12,48 @@ A *pragma* instructs the compiler to perform a particular action at compile time
:::row:::
:::column:::
- [`alloc_text`](../preprocessor/alloc-text.md)
- [`auto_inline`](../preprocessor/auto-inline.md)
- [`bss_seg`](../preprocessor/bss-seg.md)
- [`check_stack`](../preprocessor/check-stack.md)
- [`code_seg`](../preprocessor/code-seg.md)
- [`comment`](../preprocessor/comment-c-cpp.md)
- [`component`](../preprocessor/component.md)
- [`const_seg`](../preprocessor/const-seg.md)
- [`data_seg`](../preprocessor/data-seg.md)
+ [`alloc_text`](../preprocessor/alloc-text.md)\
+ [`auto_inline`](../preprocessor/auto-inline.md)\
+ [`bss_seg`](../preprocessor/bss-seg.md)\
+ [`check_stack`](../preprocessor/check-stack.md)\
+ [`code_seg`](../preprocessor/code-seg.md)\
+ [`comment`](../preprocessor/comment-c-cpp.md)\
+ [`component`](../preprocessor/component.md)\
+ [`const_seg`](../preprocessor/const-seg.md)\
+ [`data_seg`](../preprocessor/data-seg.md)
:::column-end:::
:::column:::
- [`deprecated`](../preprocessor/deprecated-c-cpp.md)
- [`detect_mismatch`](../preprocessor/detect-mismatch.md)
- [`fenv_access`](../preprocessor/fenv-access.md)
- [`float_control`](../preprocessor/float-control.md)
- [`fp_contract`](../preprocessor/fp-contract.md)
- [`function`](../preprocessor/function-c-cpp.md)
- [`hdrstop`](../preprocessor/hdrstop.md)
- [`include_alias`](../preprocessor/include-alias.md)
- [`inline_depth`](../preprocessor/inline-depth.md)
+ [`deprecated`](../preprocessor/deprecated-c-cpp.md)\
+ [`detect_mismatch`](../preprocessor/detect-mismatch.md)\
+ [`fenv_access`](../preprocessor/fenv-access.md)\
+ [`float_control`](../preprocessor/float-control.md)\
+ [`fp_contract`](../preprocessor/fp-contract.md)\
+ [`function`](../preprocessor/function-c-cpp.md)\
+ [`hdrstop`](../preprocessor/hdrstop.md)\
+ [`include_alias`](../preprocessor/include-alias.md)\
+ [`inline_depth`](../preprocessor/inline-depth.md)
:::column-end:::
:::column:::
- [`inline_recursion`](../preprocessor/inline-recursion.md)
- [`intrinsic`](../preprocessor/intrinsic.md)
- [`make_public`](../preprocessor/make-public.md)
- [`managed`](../preprocessor/managed-unmanaged.md)
- [`message`](../preprocessor/message.md)
- [`omp`](../preprocessor/omp.md)
- [`once`](../preprocessor/once.md)
- [`optimize`](../preprocessor/optimize.md)
- [`pack`](../preprocessor/pack.md)
+ [`inline_recursion`](../preprocessor/inline-recursion.md)\
+ [`intrinsic`](../preprocessor/intrinsic.md)\
+ [`make_public`](../preprocessor/make-public.md)\
+ [`managed`](../preprocessor/managed-unmanaged.md)\
+ [`message`](../preprocessor/message.md)\
+ [`omp`](../preprocessor/omp.md)\
+ [`once`](../preprocessor/once.md)\
+ [`optimize`](../preprocessor/optimize.md)\
+ [`pack`](../preprocessor/pack.md)
:::column-end:::
:::column:::
- [`pop_macro`](../preprocessor/pop-macro.md)
- [`push_macro`](../preprocessor/push-macro.md)
- [`region`, `endregion`](../preprocessor/region-endregion.md)
- [`runtime_checks`](../preprocessor/runtime-checks.md)
- [`section`](../preprocessor/section.md)
- [`setlocale`](../preprocessor/setlocale.md)
- [`strict_gs_check`](../preprocessor/strict-gs-check.md)
- [`unmanaged`](../preprocessor/managed-unmanaged.md)
- [`warning`](../preprocessor/warning.md)
+ [`pop_macro`](../preprocessor/pop-macro.md)\
+ [`push_macro`](../preprocessor/push-macro.md)\
+ [`region`, `endregion`](../preprocessor/region-endregion.md)\
+ [`runtime_checks`](../preprocessor/runtime-checks.md)\
+ [`section`](../preprocessor/section.md)\
+ [`setlocale`](../preprocessor/setlocale.md)\
+ [`strict_gs_check`](../preprocessor/strict-gs-check.md)\
+ [`unmanaged`](../preprocessor/managed-unmanaged.md)\
+ [`warning`](../preprocessor/warning.md)
:::column-end:::
:::row-end:::
diff --git a/docs/c-language/pragmas.md b/docs/c-language/pragmas.md
index fd7edf3f7d8..6742abde574 100644
--- a/docs/c-language/pragmas.md
+++ b/docs/c-language/pragmas.md
@@ -10,13 +10,33 @@ ms.assetid: 3ce8aced-53ee-4524-87d0-f998d6977ff5
The following [C Pragmas](../c-language/c-pragmas.md) are defined for the Microsoft C compiler:
-|||||
-|-|-|-|-|
-|[alloc_text](../preprocessor/alloc-text.md)|[data_seg](../preprocessor/data-seg.md)|[include_alias](../preprocessor/include-alias.md)|[setlocale](../preprocessor/setlocale.md)|
-|[auto_inline](../preprocessor/auto-inline.md)|[function](../preprocessor/function-c-cpp.md)|[intrinsic](../preprocessor/intrinsic.md)|[warning](../preprocessor/warning.md)|
-|[check_stack](../preprocessor/check-stack.md)|[hdrstop](../preprocessor/hdrstop.md)|[message](../preprocessor/message.md)||
-|[code_seg](../preprocessor/code-seg.md)|[inline_depth](../preprocessor/inline-depth.md)|[optimize](../preprocessor/optimize.md)||
-|[comment](../preprocessor/comment-c-cpp.md)|[inline_recursion](../preprocessor/inline-recursion.md)|[pack](../preprocessor/pack.md)||
+:::row:::
+ :::column span="":::
+ [alloc_text](../preprocessor/alloc-text.md)\
+ [auto_inline](../preprocessor/auto-inline.md)\
+ [check_stack](../preprocessor/check-stack.md)\
+ [code_seg](../preprocessor/code-seg.md)\
+ [comment](../preprocessor/comment-c-cpp.md)
+ :::column-end:::
+ :::column span="":::
+ [data_seg](../preprocessor/data-seg.md)\
+ [function](../preprocessor/function-c-cpp.md)\
+ [hdrstop](../preprocessor/hdrstop.md)\
+ [include_alias](../preprocessor/include-alias.md)
+ :::column-end:::
+ :::column span="":::
+ [inline_depth](../preprocessor/inline-depth.md)\
+ [inline_recursion](../preprocessor/inline-recursion.md)\
+ [intrinsic](../preprocessor/intrinsic.md)\
+ [message](../preprocessor/message.md)
+ :::column-end:::
+ :::column span="":::
+ [optimize](../preprocessor/optimize.md)\
+ [pack](../preprocessor/pack.md)\
+ [setlocale](../preprocessor/setlocale.md)\
+ [warning](../preprocessor/warning.md)
+ :::column-end:::
+:::row-end:::
## See also
diff --git a/docs/c-language/statements-c.md b/docs/c-language/statements-c.md
index 6d5b6bfceca..deea332ffaf 100644
--- a/docs/c-language/statements-c.md
+++ b/docs/c-language/statements-c.md
@@ -8,15 +8,28 @@ ms.assetid: df3891cd-6195-4663-aecf-7fe7dc3ed9c3
The statements of a C program control the flow of program execution. In C, as in other programming languages, several kinds of statements are available to perform loops, to select other statements to be executed, and to transfer control. Following a brief [overview of statement syntax](../c-language/overview-of-c-statements.md), this section describes the C statements in alphabetical order:
-|||
-|-|-|
-|[break statement](../c-language/break-statement-c.md)|[if statement](../c-language/if-statement-c.md)|
-|[compound statement](../c-language/compound-statement-c.md)|[null statement](../c-language/null-statement-c.md)|
-|[continue statement](../c-language/continue-statement-c.md)|[return statement](../c-language/return-statement-c.md)|
-|[do-while statement](../c-language/do-while-statement-c.md)|[switch statement](../c-language/switch-statement-c.md)|
-|[expression statement](../c-language/expression-statement-c.md)|[try-except statement](../c-language/try-except-statement-c.md)|
-|[for statement](../c-language/for-statement-c.md)|[try-finally statement](../c-language/try-finally-statement-c.md)|
-|[goto and labeled statements](../c-language/goto-and-labeled-statements-c.md)|[while statement](../c-language/while-statement-c.md)|
+:::row:::
+ :::column span="":::
+ [break statement](../c-language/break-statement-c.md)\
+ [compound statement](../c-language/compound-statement-c.md)\
+ [continue statement](../c-language/continue-statement-c.md)\
+ [do-while statement](../c-language/do-while-statement-c.md)\
+ [expression statement](../c-language/expression-statement-c.md)
+ :::column-end:::
+ :::column span="":::
+ [for statement](../c-language/for-statement-c.md)\
+ [goto and labeled statements](../c-language/goto-and-labeled-statements-c.md)\
+ [if statement](../c-language/if-statement-c.md)\
+ [null statement](../c-language/null-statement-c.md)\
+ [return statement](../c-language/return-statement-c.md)
+ :::column-end:::
+ :::column span="":::
+ [switch statement](../c-language/switch-statement-c.md)\
+ [try-except statement](../c-language/try-except-statement-c.md)\
+ [try-finally statement](../c-language/try-finally-statement-c.md)\
+ [while statement](../c-language/while-statement-c.md)
+ :::column-end:::
+:::row-end:::
## See also
diff --git a/docs/c-language/summary-of-keywords.md b/docs/c-language/summary-of-keywords.md
index 90eabdd7f94..cff742b795d 100644
--- a/docs/c-language/summary-of-keywords.md
+++ b/docs/c-language/summary-of-keywords.md
@@ -9,44 +9,44 @@ ms.assetid: 341d8297-03eb-4351-9ed0-138ec59b375c
:::row:::
:::column:::
- **`auto`**
- **`double`**
- **`int`**
- **`struct`**
- **`break`**
- **`else`**
- **`long`**
- **`switch`**
+ **`auto`**\
+ **`double`**\
+ **`int`**\
+ **`struct`**\
+ **`break`**\
+ **`else`**\
+ **`long`**\
+ **`switch`**
:::column-end:::
:::column:::
- **`case`**
- **`enum`**
- **`register`**
- **`typedef`**
- **`char`**
- **`extern`**
- **`return`**
- **`union`**
+ **`case`**\
+ **`enum`**\
+ **`register`**\
+ **`typedef`**\
+ **`char`**\
+ **`extern`**\
+ **`return`**\
+ **`union`**
:::column-end:::
:::column:::
- **`const`**
- **`float`**
- **`short`**
- **`unsigned`**
- **`continue`**
- **`for`**
- **`signed`**
- **`void`**
+ **`const`**\
+ **`float`**\
+ **`short`**\
+ **`unsigned`**\
+ **`continue`**\
+ **`for`**\
+ **`signed`**\
+ **`void`**
:::column-end:::
:::column:::
- **`default`**
- **`goto`**
- **`sizeof`**
- **`volatile`**
- **`do`**
- **`if`**
- **`static`**
- **`while`**
+ **`default`**\
+ **`goto`**\
+ **`sizeof`**\
+ **`volatile`**\
+ **`do`**\
+ **`if`**\
+ **`static`**\
+ **`while`**
:::column-end:::
:::row-end:::
diff --git a/docs/c-runtime-library/debug-routines.md b/docs/c-runtime-library/debug-routines.md
index 7b4c5bcb24a..54b6241943d 100644
--- a/docs/c-runtime-library/debug-routines.md
+++ b/docs/c-runtime-library/debug-routines.md
@@ -21,66 +21,105 @@ The debug version of the C runtime library supplies many diagnostic services tha
To use these routines, the [_DEBUG](../c-runtime-library/debug.md) flag must be defined. All of these routines do nothing in a retail build of an application. For more information on how to use the new debug routines, see [CRT Debugging Techniques](/visualstudio/debugger/crt-debugging-techniques).
-|Routine|Use|
-|-------------|---------|
-|[_ASSERT](../c-runtime-library/reference/assert-asserte-assert-expr-macros.md)|Evaluate an expression and generates a debug report when the result is FALSE|
-|[_ASSERTE](../c-runtime-library/reference/assert-asserte-assert-expr-macros.md)|Similar to **_ASSERT**, but includes the failed expression in the generated report|
-|[_CrtCheckMemory](../c-runtime-library/reference/crtcheckmemory.md)|Confirm the integrity of the memory blocks allocated on the debug heap|
-|[_CrtDbgBreak](../c-runtime-library/reference/crtdbgbreak.md)|Sets a break point.|
-|[_CrtDbgReport, _CrtDbgReportW](../c-runtime-library/reference/crtdbgreport-crtdbgreportw.md)|Generate a debug report with a user message and send the report to three possible destinations|
-|[_CrtDoForAllClientObjects](../c-runtime-library/reference/crtdoforallclientobjects.md)|Call an application-supplied function for all **_CLIENT_BLOCK** types on the heap|
-|[_CrtDumpMemoryLeaks](../c-runtime-library/reference/crtdumpmemoryleaks.md)|Dump all of the memory blocks on the debug heap when a significant memory leak has occurred|
-|[_CrtIsMemoryBlock](../c-runtime-library/reference/crtismemoryblock.md)|Verify that a specified memory block is located within the local heap and that it has a valid debug heap block type identifier|
-|[_CrtIsValidHeapPointer](../c-runtime-library/reference/crtisvalidheappointer.md)|Verifies that a specified pointer is in the local heap|
-|[_CrtIsValidPointer](../c-runtime-library/reference/crtisvalidpointer.md)|Verify that a specified memory range is valid for reading and writing|
-|[_CrtMemCheckpoint](../c-runtime-library/reference/crtmemcheckpoint.md)|Obtain the current state of the debug heap and store it in an application-supplied **_CrtMemState** structure|
-|[_CrtMemDifference](../c-runtime-library/reference/crtmemdifference.md)|Compare two memory states for significant differences and return the results|
-|[_CrtMemDumpAllObjectsSince](../c-runtime-library/reference/crtmemdumpallobjectssince.md)|Dump information about objects on the heap since a specified checkpoint was taken or from the start of program execution|
-|[_CrtMemDumpStatistics](../c-runtime-library/reference/crtmemdumpstatistics.md)|Dump the debug header information for a specified memory state in a user-readable form|
-|[_CrtReportBlockType](../c-runtime-library/reference/crtreportblocktype.md)|Returns the block type/subtype associated with a given debug heap block pointer.|
-|[_CrtSetAllocHook](../c-runtime-library/reference/crtsetallochook.md)|Install a client-defined allocation function by hooking it into the C run-time debug memory allocation process|
-|[_CrtSetBreakAlloc](../c-runtime-library/reference/crtsetbreakalloc.md)|Set a breakpoint on a specified object allocation order number|
-|[_CrtSetDbgFlag](../c-runtime-library/reference/crtsetdbgflag.md)|Retrieve or modify the state of the **_crtDbgFlag** flag to control the allocation behavior of the debug heap manager|
-|[_CrtSetDumpClient](../c-runtime-library/reference/crtsetdumpclient.md)|Install an application-defined function that is called every time a debug dump function is called to dump **_CLIENT_BLOCK** type memory blocks|
-|[_CrtSetReportFile](../c-runtime-library/reference/crtsetreportfile.md)|Identify the file or stream to be used as a destination for a specific report type by **_CrtDbgReport**|
-|[_CrtSetReportHook](../c-runtime-library/reference/crtsetreporthook.md)|Install a client-defined reporting function by hooking it into the C run-time debug reporting process|
-|[_CrtSetReportHook2, _CrtSetReportHookW2](../c-runtime-library/reference/crtsetreporthook2-crtsetreporthookw2.md)|Installs or uninstalls a client-defined reporting function by hooking it into the C run-time debug reporting process.|
-|[_CrtSetReportMode](../c-runtime-library/reference/crtsetreportmode.md)|Specify the general destination(s) for a specific report type generated by **_CrtDbgReport**|
-|[_RPT[0,1,2,3,4]](../c-runtime-library/reference/rpt-rptf-rptw-rptfw-macros.md)|Track the application's progress by generating a debug report by calling **_CrtDbgReport** with a format string and a variable number of arguments. Provides no source file and line number information.|
-|[_RPTF[0,1,2,3,4]](../c-runtime-library/reference/rpt-rptf-rptw-rptfw-macros.md)|Similar to the **_RPTn** macros, but provides the source file name and line number where the report request originated|
-|[_calloc_dbg](../c-runtime-library/reference/calloc-dbg.md)|Allocate a specified number of memory blocks on the heap with additional space for a debugging header and overwrite buffers|
-|[_expand_dbg](../c-runtime-library/reference/expand-dbg.md)|Resize a specified block of memory on the heap by expanding or contracting the block|
-|[_free_dbg](../c-runtime-library/reference/free-dbg.md)|Free a block of memory on the heap|
-|[_fullpath_dbg, _wfullpath_dbg](../c-runtime-library/reference/fullpath-dbg-wfullpath-dbg.md)|Create an absolute or full path name for the specified relative path name, using [_malloc_dbg](../c-runtime-library/reference/malloc-dbg.md) to allocate memory.|
-|[_getcwd_dbg, _wgetcwd_dbg](../c-runtime-library/reference/getcwd-dbg-wgetcwd-dbg.md)|Get the current working directory, using [_malloc_dbg](../c-runtime-library/reference/malloc-dbg.md) to allocate memory.|
-|[_malloc_dbg](../c-runtime-library/reference/malloc-dbg.md)|Allocate a block of memory on the heap with additional space for a debugging header and overwrite buffers|
-|[_msize_dbg](../c-runtime-library/reference/msize-dbg.md)|Calculate the size of a block of memory on the heap|
-|[_realloc_dbg](../c-runtime-library/reference/realloc-dbg.md)|Reallocate a specified block of memory on the heap by moving and/or resizing the block|
-|[_strdup_dbg, _wcsdup_dbg](../c-runtime-library/reference/strdup-dbg-wcsdup-dbg.md)|Duplicates a string, using [_malloc_dbg](../c-runtime-library/reference/malloc-dbg.md) to allocate memory.|
-|[_tempnam_dbg, _wtempnam_dbg](../c-runtime-library/reference/tempnam-dbg-wtempnam-dbg.md)|Generate names you can use to create temporary files, using [_malloc_dbg](../c-runtime-library/reference/malloc-dbg.md) to allocate memory.|
+| Routine | Use |
+|--|--|
+| [`_ASSERT`](../c-runtime-library/reference/assert-asserte-assert-expr-macros.md) | Evaluate an expression and generates a debug report when the result is FALSE |
+| [`_ASSERTE`](../c-runtime-library/reference/assert-asserte-assert-expr-macros.md) | Similar to **`_ASSERT`**, but includes the failed expression in the generated report |
+| [`_CrtCheckMemory`](../c-runtime-library/reference/crtcheckmemory.md) | Confirm the integrity of the memory blocks allocated on the debug heap |
+| [`_CrtDbgBreak`](../c-runtime-library/reference/crtdbgbreak.md) | Sets a break point. |
+| [`_CrtDbgReport`, `_CrtDbgReportW`](../c-runtime-library/reference/crtdbgreport-crtdbgreportw.md) | Generate a debug report with a user message and send the report to three possible destinations |
+| [`_CrtDoForAllClientObjects`](../c-runtime-library/reference/crtdoforallclientobjects.md) | Call an application-supplied function for all `_CLIENT_BLOCK` types on the heap |
+| [`_CrtDumpMemoryLeaks`](../c-runtime-library/reference/crtdumpmemoryleaks.md) | Dump all of the memory blocks on the debug heap when a significant memory leak has occurred |
+| [`_CrtIsMemoryBlock`](../c-runtime-library/reference/crtismemoryblock.md) | Verify that a specified memory block is located within the local heap and that it has a valid debug heap block type identifier |
+| [`_CrtIsValidHeapPointer`](../c-runtime-library/reference/crtisvalidheappointer.md) | Verifies that a specified pointer is in the local heap |
+| [`_CrtIsValidPointer`](../c-runtime-library/reference/crtisvalidpointer.md) | Verify that a specified memory range is valid for reading and writing |
+| [`_CrtMemCheckpoint`](../c-runtime-library/reference/crtmemcheckpoint.md) | Obtain the current state of the debug heap and store it in an application-supplied `_CrtMemState` structure |
+| [`_CrtMemDifference`](../c-runtime-library/reference/crtmemdifference.md) | Compare two memory states for significant differences and return the results |
+| [`_CrtMemDumpAllObjectsSince`](../c-runtime-library/reference/crtmemdumpallobjectssince.md) | Dump information about objects on the heap since a specified checkpoint was taken or from the start of program execution |
+| [`_CrtMemDumpStatistics`](../c-runtime-library/reference/crtmemdumpstatistics.md) | Dump the debug header information for a specified memory state in a user-readable form |
+| [`_CrtReportBlockType`](../c-runtime-library/reference/crtreportblocktype.md) | Returns the block type/subtype associated with a given debug heap block pointer. |
+| [`_CrtSetAllocHook`](../c-runtime-library/reference/crtsetallochook.md) | Install a client-defined allocation function by hooking it into the C run-time debug memory allocation process |
+| [`_CrtSetBreakAlloc`](../c-runtime-library/reference/crtsetbreakalloc.md) | Set a breakpoint on a specified object allocation order number |
+| [`_CrtSetDbgFlag`](../c-runtime-library/reference/crtsetdbgflag.md) | Retrieve or modify the state of the `_crtDbgFlag` flag to control the allocation behavior of the debug heap manager |
+| [`_CrtSetDumpClient`](../c-runtime-library/reference/crtsetdumpclient.md) | Install an application-defined function that is called every time a debug dump function is called to dump `_CLIENT_BLOCK` type memory blocks |
+| [`_CrtSetReportFile`](../c-runtime-library/reference/crtsetreportfile.md) | Identify the file or stream to be used as a destination for a specific report type by `_CrtDbgReport` |
+| [`_CrtSetReportHook`](../c-runtime-library/reference/crtsetreporthook.md) | Install a client-defined reporting function by hooking it into the C run-time debug reporting process |
+| [`_CrtSetReportHook2`, `_CrtSetReportHookW2`](../c-runtime-library/reference/crtsetreporthook2-crtsetreporthookw2.md) | Installs or uninstalls a client-defined reporting function by hooking it into the C run-time debug reporting process. |
+| [`_CrtSetReportMode`](../c-runtime-library/reference/crtsetreportmode.md) | Specify the general destination(s) for a specific report type generated by `_CrtDbgReport` |
+| [_RPT[0,1,2,3,4]](../c-runtime-library/reference/rpt-rptf-rptw-rptfw-macros.md) | Track the application's progress by generating a debug report by calling `_CrtDbgReport` with a format string and a variable number of arguments. Provides no source file and line number information. |
+| [_RPTF[0,1,2,3,4]](../c-runtime-library/reference/rpt-rptf-rptw-rptfw-macros.md) | Similar to the `_RPTn` macros, but provides the source file name and line number where the report request originated |
+| [`_calloc_dbg`](../c-runtime-library/reference/calloc-dbg.md) | Allocate a specified number of memory blocks on the heap with additional space for a debugging header and overwrite buffers |
+| [`_expand_dbg`](../c-runtime-library/reference/expand-dbg.md) | Resize a specified block of memory on the heap by expanding or contracting the block |
+| [`_free_dbg`](../c-runtime-library/reference/free-dbg.md) | Free a block of memory on the heap |
+| [`_fullpath_dbg`, `_wfullpath_dbg`](../c-runtime-library/reference/fullpath-dbg-wfullpath-dbg.md) | Create an absolute or full path name for the specified relative path name, using [`_malloc_dbg`](../c-runtime-library/reference/malloc-dbg.md) to allocate memory. |
+| [`_getcwd_dbg`, `_wgetcwd_dbg`](../c-runtime-library/reference/getcwd-dbg-wgetcwd-dbg.md) | Get the current working directory, using [`_malloc_dbg`](../c-runtime-library/reference/malloc-dbg.md) to allocate memory. |
+| [`_malloc_dbg`](../c-runtime-library/reference/malloc-dbg.md) | Allocate a block of memory on the heap with additional space for a debugging header and overwrite buffers |
+| [`_msize_dbg`](../c-runtime-library/reference/msize-dbg.md) | Calculate the size of a block of memory on the heap |
+| [`_realloc_dbg`](../c-runtime-library/reference/realloc-dbg.md) | Reallocate a specified block of memory on the heap by moving and/or resizing the block |
+| [`_strdup_dbg`, `_wcsdup_dbg`](../c-runtime-library/reference/strdup-dbg-wcsdup-dbg.md) | Duplicates a string, using [`_malloc_dbg`](../c-runtime-library/reference/malloc-dbg.md) to allocate memory. |
+| [`_tempnam_dbg`, `_wtempnam_dbg`](../c-runtime-library/reference/tempnam-dbg-wtempnam-dbg.md) | Generate names you can use to create temporary files, using [`_malloc_dbg`](../c-runtime-library/reference/malloc-dbg.md) to allocate memory. |
## C runtime routines that are not available in source code form
The debugger can be used to step through the source code for most of the C runtime routines during the debugging process. However, Microsoft considers some technology to be proprietary and, therefore, does not provide the source code for a subset of these routines. Most of these routines belong to either the exception handling or floating-point processing groups, but a few others are included as well. The following table lists these routines.
-||||
-|-|-|-|
-|[acos](../c-runtime-library/reference/acos-acosf-acosl.md)|[acosh](../c-runtime-library/reference/acosh-acoshf-acoshl.md)|[asin](../c-runtime-library/reference/asin-asinf-asinl.md)|
-|[asinh](../c-runtime-library/reference/asinh-asinhf-asinhl.md)|[atan, atan2](../c-runtime-library/reference/atan-atanf-atanl-atan2-atan2f-atan2l.md)|[atanh](../c-runtime-library/reference/atanh-atanhf-atanhl.md)|
-|[Bessel functions](../c-runtime-library/reference/bessel-functions-j0-j1-jn-y0-y1-yn.md)|[_cabs](../c-runtime-library/reference/cabs.md)|[ceil](../c-runtime-library/reference/ceil-ceilf-ceill.md)|
-|[_chgsign](../c-runtime-library/reference/chgsign-chgsignf-chgsignl.md)|[_clear87, _clearfp](../c-runtime-library/reference/clear87-clearfp.md)|[_control87, _controlfp](../c-runtime-library/reference/control87-controlfp-control87-2.md)|
-|[copysign](../c-runtime-library/reference/copysign-copysignf-copysignl-copysign-copysignf-copysignl.md)|[cos](../c-runtime-library/reference/cos-cosf-cosl.md)|[cosh](../c-runtime-library/reference/cosh-coshf-coshl.md)|
-|[Exp](../c-runtime-library/reference/exp-expf.md)|[fabs](../c-runtime-library/reference/fabs-fabsf-fabsl.md)|[_finite](../c-runtime-library/reference/finite-finitef.md)|
-|[floor](../c-runtime-library/reference/floor-floorf-floorl.md)|[fmod](../c-runtime-library/reference/fmod-fmodf.md)|[_fpclass](../c-runtime-library/reference/fpclass-fpclassf.md)|
-|[_fpieee_flt](../c-runtime-library/reference/fpieee-flt.md)|[_fpreset](../c-runtime-library/reference/fpreset.md)|[frexp](../c-runtime-library/reference/frexp.md)|
-|[_hypot](../c-runtime-library/reference/hypot-hypotf-hypotl-hypot-hypotf-hypotl.md)|[_isnan](../c-runtime-library/reference/isnan-isnan-isnanf.md)|[ldexp](../c-runtime-library/reference/ldexp.md)|
-|[log](../c-runtime-library/reference/log-logf-log10-log10f.md)|[_logb](../c-runtime-library/reference/logb-logbf-logbl-logb-logbf.md)|[log10](../c-runtime-library/reference/log-logf-log10-log10f.md)|
-|[longjmp](../c-runtime-library/reference/longjmp.md)|[_matherr](../c-runtime-library/reference/matherr.md)|[modf](../c-runtime-library/reference/modf-modff-modfl.md)|
-|[_nextafter](../c-runtime-library/reference/nextafter-functions.md)|[pow](../c-runtime-library/reference/pow-powf-powl.md)|[printf_s](../c-runtime-library/reference/printf-s-printf-s-l-wprintf-s-wprintf-s-l.md)|
-|[printf](../c-runtime-library/reference/printf-printf-l-wprintf-wprintf-l.md)|[_scalb](../c-runtime-library/reference/scalb.md)|[scanf_s](../c-runtime-library/reference/scanf-s-scanf-s-l-wscanf-s-wscanf-s-l.md)|
-|[scanf](../c-runtime-library/reference/scanf-scanf-l-wscanf-wscanf-l.md)|[setjmp](../c-runtime-library/reference/setjmp.md)|[sin](../c-runtime-library/reference/sin-sinf-sinl.md)|
-|[sinh](../c-runtime-library/reference/sinh-sinhf-sinhl.md)|[sqrt](../c-runtime-library/reference/sqrt-sqrtf-sqrtl.md)|[_status87, _statusfp](../c-runtime-library/reference/status87-statusfp-statusfp2.md)|
-|[tan](../c-runtime-library/reference/tan-tanf-tanl.md)|[tanh](../c-runtime-library/reference/tanh-tanhf-tanhl.md)||
+:::row:::
+ :::column span="":::
+ [`acos`](../c-runtime-library/reference/acos-acosf-acosl.md)\
+ [`acosh`](../c-runtime-library/reference/acosh-acoshf-acoshl.md)\
+ [`asin`](../c-runtime-library/reference/asin-asinf-asinl.md)\
+ [`asinh`](../c-runtime-library/reference/asinh-asinhf-asinhl.md)\
+ [`atan`, `atan2`](../c-runtime-library/reference/atan-atanf-atanl-atan2-atan2f-atan2l.md)\
+ [`atanh`](../c-runtime-library/reference/atanh-atanhf-atanhl.md)\
+ [`Bessel functions`](../c-runtime-library/reference/bessel-functions-j0-j1-jn-y0-y1-yn.md)\
+ [`_cabs`](../c-runtime-library/reference/cabs.md)\
+ [`ceil`](../c-runtime-library/reference/ceil-ceilf-ceill.md)\
+ [`_chgsign`](../c-runtime-library/reference/chgsign-chgsignf-chgsignl.md)\
+ [`_clear87`, `_clearfp`](../c-runtime-library/reference/clear87-clearfp.md)\
+ [`_control87`, `_controlfp`](../c-runtime-library/reference/control87-controlfp-control87-2.md)
+ :::column-end:::
+ :::column span="":::
+ [`copysign`](../c-runtime-library/reference/copysign-copysignf-copysignl-copysign-copysignf-copysignl.md)\
+ [`cos`](../c-runtime-library/reference/cos-cosf-cosl.md)\
+ [`cosh`](../c-runtime-library/reference/cosh-coshf-coshl.md)\
+ [`Exp`](../c-runtime-library/reference/exp-expf.md)\
+ [`fabs`](../c-runtime-library/reference/fabs-fabsf-fabsl.md)\
+ [`_finite`](../c-runtime-library/reference/finite-finitef.md)\
+ [`floor`](../c-runtime-library/reference/floor-floorf-floorl.md)\
+ [`fmod`](../c-runtime-library/reference/fmod-fmodf.md)\
+ [`_fpclass`](../c-runtime-library/reference/fpclass-fpclassf.md)\
+ [`_fpieee_flt`](../c-runtime-library/reference/fpieee-flt.md)\
+ [`_fpreset`](../c-runtime-library/reference/fpreset.md)\
+ [`frexp`](../c-runtime-library/reference/frexp.md)
+ :::column-end:::
+ :::column span="":::
+ [`_hypot`](../c-runtime-library/reference/hypot-hypotf-hypotl-hypot-hypotf-hypotl.md)\
+ [`_isnan`](../c-runtime-library/reference/isnan-isnan-isnanf.md)\
+ [`ldexp`](../c-runtime-library/reference/ldexp.md)\
+ [`log`](../c-runtime-library/reference/log-logf-log10-log10f.md)\
+ [`_logb`](../c-runtime-library/reference/logb-logbf-logbl-logb-logbf.md)\
+ [`log10`](../c-runtime-library/reference/log-logf-log10-log10f.md)\
+ [`longjmp`](../c-runtime-library/reference/longjmp.md)\
+ [`_matherr`](../c-runtime-library/reference/matherr.md)\
+ [`modf`](../c-runtime-library/reference/modf-modff-modfl.md)\
+ [`_nextafter`](../c-runtime-library/reference/nextafter-functions.md)\
+ [`pow`](../c-runtime-library/reference/pow-powf-powl.md)\
+ [`printf_s`](../c-runtime-library/reference/printf-s-printf-s-l-wprintf-s-wprintf-s-l.md)
+ :::column-end:::
+ :::column span="":::
+ [`printf`](../c-runtime-library/reference/printf-printf-l-wprintf-wprintf-l.md)\
+ [`_scalb`](../c-runtime-library/reference/scalb.md)\
+ [`scanf_s`](../c-runtime-library/reference/scanf-s-scanf-s-l-wscanf-s-wscanf-s-l.md)\
+ [`scanf`](../c-runtime-library/reference/scanf-scanf-l-wscanf-wscanf-l.md)\
+ [`setjmp`](../c-runtime-library/reference/setjmp.md)\
+ [`sin`](../c-runtime-library/reference/sin-sinf-sinl.md)\
+ [`sinh`](../c-runtime-library/reference/sinh-sinhf-sinhl.md)\
+ [`sqrt`](../c-runtime-library/reference/sqrt-sqrtf-sqrtl.md)\
+ [`_status87`, `_statusfp`](../c-runtime-library/reference/status87-statusfp-statusfp2.md)\
+ [`tan`](../c-runtime-library/reference/tan-tanf-tanl.md)\
+ [`tanh`](../c-runtime-library/reference/tanh-tanhf-tanhl.md)
+ :::column-end:::
+:::row-end:::
Although source code is available for most of the **printf** and **scanf** routines, they make an internal call to another routine for which source code is not provided.
@@ -88,10 +127,20 @@ Although source code is available for most of the **printf** and **scanf** routi
Some C run-time functions and C++ operators behave differently when called from a debug build of an application. (Note that a debug build of an application can be done by either defining the `_DEBUG` flag or by linking with a debug version of the C run-time library.) The behavioral differences usually consist of extra features or information provided by the routine to support the debugging process. The following table lists these routines.
-|||
-|-|-|
-|C [abort](../c-runtime-library/reference/abort.md) routine|C++ [delete](../cpp/delete-operator-cpp.md) operator|
-|C [assert](../c-runtime-library/reference/assert-macro-assert-wassert.md) routine|C++ [new](../cpp/new-operator-cpp.md) operator|
+:::row:::
+ :::column span="":::
+ C [`abort`](../c-runtime-library/reference/abort.md) routine
+ :::column-end:::
+ :::column span="":::
+ C [`assert`](../c-runtime-library/reference/assert-macro-assert-wassert.md) routine
+ :::column-end:::
+ :::column span="":::
+ C++ [`delete`](../cpp/delete-operator-cpp.md) operator
+ :::column-end:::
+ :::column span="":::
+ C++ [`new`](../cpp/new-operator-cpp.md) operator
+ :::column-end:::
+:::row-end:::
## See also
diff --git a/docs/c-runtime-library/exec-wexec-functions.md b/docs/c-runtime-library/exec-wexec-functions.md
index 4b677563968..97a379487ba 100644
--- a/docs/c-runtime-library/exec-wexec-functions.md
+++ b/docs/c-runtime-library/exec-wexec-functions.md
@@ -12,12 +12,22 @@ ms.assetid: a261df93-206a-4fdc-b8ac-66aa7db83bc6
Each function in this family loads and executes a new process:
-|||
-|-|-|
-|[_execl, _wexecl](../c-runtime-library/reference/execl-wexecl.md)|[_execv, _wexecv](../c-runtime-library/reference/execv-wexecv.md)|
-|[_execle, _wexecle](../c-runtime-library/reference/execle-wexecle.md)|[_execve, _wexecve](../c-runtime-library/reference/execve-wexecve.md)|
-|[_execlp, _wexeclp](../c-runtime-library/reference/execlp-wexeclp.md)|[_execvp, _wexecvp](../c-runtime-library/reference/execvp-wexecvp.md)|
-|[_execlpe, _wexeclpe](../c-runtime-library/reference/execlpe-wexeclpe.md)|[_execvpe, _wexecvpe](../c-runtime-library/reference/execvpe-wexecvpe.md)|
+:::row:::
+ :::column span="":::
+ [_execl, _wexecl](../c-runtime-library/reference/execl-wexecl.md)\
+ [_execv, _wexecv](../c-runtime-library/reference/execv-wexecv.md)\
+ [_execle, _wexecle](../c-runtime-library/reference/execle-wexecle.md)
+ :::column-end:::
+ :::column span="":::
+ [_execve, _wexecve](../c-runtime-library/reference/execve-wexecve.md)\
+ [_execlp, _wexeclp](../c-runtime-library/reference/execlp-wexeclp.md)\
+ [_execvp, _wexecvp](../c-runtime-library/reference/execvp-wexecvp.md)
+ :::column-end:::
+ :::column span="":::
+ [_execlpe, _wexeclpe](../c-runtime-library/reference/execlpe-wexeclpe.md)\
+ [_execvpe, _wexecvpe](../c-runtime-library/reference/execvpe-wexecvpe.md)
+ :::column-end:::
+:::row-end:::
The letter at the end of the function name determines the variation.
diff --git a/docs/c-runtime-library/global-constants.md b/docs/c-runtime-library/global-constants.md
index f3efd5fc9dc..5ce69a4c3d0 100644
--- a/docs/c-runtime-library/global-constants.md
+++ b/docs/c-runtime-library/global-constants.md
@@ -9,31 +9,58 @@ ms.assetid: 778d86fd-3ca6-4d2b-b4c5-aee6dc1efe6b
The Microsoft run-time library contains definitions for global constants used by library routines. To use these constants, include the appropriate header files as indicated in the description for each constant. The global constants are listed in the following table.
-|||
-|-|-|
-|[32-Bit Windows Time/Date Formats](../c-runtime-library/32-bit-windows-time-date-formats.md)|[BUFSIZ](../c-runtime-library/bufsiz.md)|
-|[CLOCKS_PER_SEC, CLK_TCK](../c-runtime-library/clocks-per-sec-clk-tck.md)|[Commit-To-Disk Constants](../c-runtime-library/commit-to-disk-constants.md)|
-|[_CRT_DISABLE_PERFCRIT_LOCKS](../c-runtime-library/crt-disable-perfcrit-locks.md)|[Data Type Constants](../c-runtime-library/data-type-constants.md)|
-|[Environmental Constants](../c-runtime-library/environmental-constants.md)|[EOF, WEOF](../c-runtime-library/eof-weof.md)|
-|[errno Constants](../c-runtime-library/errno-constants.md)|[Exception-Handling Constants](../c-runtime-library/exception-handling-constants.md)|
-|[EXIT_SUCCESS, EXIT_FAILURE](../c-runtime-library/exit-success-exit-failure.md)|[File Attribute Constants](../c-runtime-library/file-attribute-constants.md)|
-|[File Constants](../c-runtime-library/file-constants.md)|[File Permission Constants](../c-runtime-library/file-permission-constants.md)|
-|[File Read/Write Access Constants](../c-runtime-library/file-read-write-access-constants.md)|[File Translation Constants](../c-runtime-library/file-translation-constants.md)|
-|[FILENAME_MAX](../c-runtime-library/filename-max.md)|[FOPEN_MAX, _SYS_OPEN](../c-runtime-library/fopen-max-sys-open.md)|
-|[_FREEENTRY, _USEDENTRY](../c-runtime-library/freeentry-usedentry.md)|[fseek, _lseek Constants](../c-runtime-library/fseek-lseek-constants.md)|
-|[Heap Constants](../c-runtime-library/heap-constants.md)|[_HEAP_MAXREQ](../c-runtime-library/heap-maxreq.md)|
-|[HUGE_VAL, _HUGE](../c-runtime-library/huge-val-huge.md)|[Locale Categories](../c-runtime-library/locale-categories.md)|
-|[_locking Constants](../c-runtime-library/locking-constants.md)|[Math Constants](../c-runtime-library/math-constants.md)|
-|[Math Error Constants](../c-runtime-library/math-error-constants.md)|[_MAX_ENV](../c-runtime-library/max-env.md)|
-|[MB_CUR_MAX](../c-runtime-library/mb-cur-max.md)|[NULL](../c-runtime-library/null-crt.md)|
-|[Path Field Limits](../c-runtime-library/path-field-limits.md)|[RAND_MAX](../c-runtime-library/rand-max.md)|
-|[setvbuf Constants](../c-runtime-library/setvbuf-constants.md)|[Sharing Constants](../c-runtime-library/sharing-constants.md)|
-|[signal Constants](../c-runtime-library/signal-constants.md)|[signal Action Constants](../c-runtime-library/signal-action-constants.md)|
-|[spawn Constants](../c-runtime-library/spawn-constants.md)|[_stat Structure st_mode Field Constants](../c-runtime-library/stat-structure-st-mode-field-constants.md)|
-|[stdin, stdout, stderr](../c-runtime-library/stdin-stdout-stderr.md)|[TMP_MAX, L_tmpnam](../c-runtime-library/tmp-max-l-tmpnam.md)|
-|[Translation Mode Constants](../c-runtime-library/translation-mode-constants.md)|[_TRUNCATE](../c-runtime-library/truncate.md)|
-|[TZNAME_MAX](../c-runtime-library/tzname-max.md)|[_WAIT_CHILD, _WAIT_GRANDCHILD](../c-runtime-library/wait-child-wait-grandchild.md)|
-|[WCHAR_MAX](../c-runtime-library/wchar-max.md)|[WCHAR_MIN](../c-runtime-library/wchar-min.md)|
+:::row:::
+ :::column span="":::
+ [32-Bit Windows Time/Date Formats](../c-runtime-library/32-bit-windows-time-date-formats.md)\
+ [BUFSIZ](../c-runtime-library/bufsiz.md)\
+ [CLOCKS_PER_SEC, CLK_TCK](../c-runtime-library/clocks-per-sec-clk-tck.md)\
+ [Commit-To-Disk Constants](../c-runtime-library/commit-to-disk-constants.md)\
+ [_CRT_DISABLE_PERFCRIT_LOCKS](../c-runtime-library/crt-disable-perfcrit-locks.md)\
+ [Data Type Constants](../c-runtime-library/data-type-constants.md)\
+ [Environmental Constants](../c-runtime-library/environmental-constants.md)\
+ [EOF, WEOF](../c-runtime-library/eof-weof.md)\
+ [errno Constants](../c-runtime-library/errno-constants.md)\
+ [Exception-Handling Constants](../c-runtime-library/exception-handling-constants.md)\
+ [EXIT_SUCCESS, EXIT_FAILURE](../c-runtime-library/exit-success-exit-failure.md)\
+ [File Attribute Constants](../c-runtime-library/file-attribute-constants.md)\
+ [File Constants](../c-runtime-library/file-constants.md)\
+ [File Permission Constants](../c-runtime-library/file-permission-constants.md)\
+ [File Read/Write Access Constants](../c-runtime-library/file-read-write-access-constants.md)\
+ [File Translation Constants](../c-runtime-library/file-translation-constants.md)\
+ [FILENAME_MAX](../c-runtime-library/filename-max.md)\
+ [FOPEN_MAX, _SYS_OPEN](../c-runtime-library/fopen-max-sys-open.md)\
+ [_FREEENTRY, _USEDENTRY](../c-runtime-library/freeentry-usedentry.md)\
+ [fseek, _lseek Constants](../c-runtime-library/fseek-lseek-constants.md)\
+ [Heap Constants](../c-runtime-library/heap-constants.md)\
+ [_HEAP_MAXREQ](../c-runtime-library/heap-maxreq.md)\
+ [HUGE_VAL, _HUGE](../c-runtime-library/huge-val-huge.md)
+ :::column-end:::
+ :::column span="":::
+ [Locale Categories](../c-runtime-library/locale-categories.md)\
+ [_locking Constants](../c-runtime-library/locking-constants.md)\
+ [Math Constants](../c-runtime-library/math-constants.md)\
+ [Math Error Constants](../c-runtime-library/math-error-constants.md)\
+ [_MAX_ENV](../c-runtime-library/max-env.md)\
+ [MB_CUR_MAX](../c-runtime-library/mb-cur-max.md)\
+ [NULL](../c-runtime-library/null-crt.md)\
+ [Path Field Limits](../c-runtime-library/path-field-limits.md)\
+ [RAND_MAX](../c-runtime-library/rand-max.md)\
+ [setvbuf Constants](../c-runtime-library/setvbuf-constants.md)\
+ [Sharing Constants](../c-runtime-library/sharing-constants.md)\
+ [signal Constants](../c-runtime-library/signal-constants.md)\
+ [signal Action Constants](../c-runtime-library/signal-action-constants.md)\
+ [spawn Constants](../c-runtime-library/spawn-constants.md)\
+ [_stat Structure st_mode Field Constants](../c-runtime-library/stat-structure-st-mode-field-constants.md)\
+ [stdin, stdout, stderr](../c-runtime-library/stdin-stdout-stderr.md)\
+ [TMP_MAX, L_tmpnam](../c-runtime-library/tmp-max-l-tmpnam.md)\
+ [Translation Mode Constants](../c-runtime-library/translation-mode-constants.md)\
+ [_TRUNCATE](../c-runtime-library/truncate.md)\
+ [TZNAME_MAX](../c-runtime-library/tzname-max.md)\
+ [_WAIT_CHILD, _WAIT_GRANDCHILD](../c-runtime-library/wait-child-wait-grandchild.md)\
+ [WCHAR_MAX](../c-runtime-library/wchar-max.md)\
+ [WCHAR_MIN](../c-runtime-library/wchar-min.md)
+ :::column-end:::
+:::row-end:::
## See also
diff --git a/docs/c-runtime-library/heapset.md b/docs/c-runtime-library/heapset.md
index e3da759b6af..08046d54d73 100644
--- a/docs/c-runtime-library/heapset.md
+++ b/docs/c-runtime-library/heapset.md
@@ -33,7 +33,7 @@ Fill character.
`_heapset` returns one of the following integer manifest constants defined in Malloc.h.
-|||
+|Value|Description|
|-|-|
| `_HEAPBADBEGIN` | Initial header information invalid or not found. |
| `_HEAPBADNODE` | Heap damaged or bad node found. |
diff --git a/docs/c-runtime-library/is-isw-routines.md b/docs/c-runtime-library/is-isw-routines.md
index e0cd69d9a99..834c6cdbec0 100644
--- a/docs/c-runtime-library/is-isw-routines.md
+++ b/docs/c-runtime-library/is-isw-routines.md
@@ -10,16 +10,28 @@ ms.assetid: 1e171a57-2cde-41f6-a75f-a080fa3c12e5
---
# is, isw Routines
-|||
-|-|-|
-|[isalnum, iswalnum, _isalnum_l, _iswalnum_l](../c-runtime-library/reference/isalnum-iswalnum-isalnum-l-iswalnum-l.md)|[isgraph, iswgraph, _isgraph_l, _iswgraph_l](../c-runtime-library/reference/isgraph-iswgraph-isgraph-l-iswgraph-l.md)|
-|[isalpha, iswalpha, _isalpha_l, _iswalpha_l](../c-runtime-library/reference/isalpha-iswalpha-isalpha-l-iswalpha-l.md)|[isleadbyte, _isleadbyte_l](../c-runtime-library/reference/isleadbyte-isleadbyte-l.md)|
-|[isascii, __isascii, iswascii](../c-runtime-library/reference/isascii-isascii-iswascii.md)|[islower, iswlower, _islower_l, _iswlower_l](../c-runtime-library/reference/islower-iswlower-islower-l-iswlower-l.md)|
-|[isblank, iswblank, _isblank_l, _iswblank_l](../c-runtime-library/reference/isblank-iswblank-isblank-l-iswblank-l.md)|[isprint, iswprint, _isprint_l, _iswprint_l](../c-runtime-library/reference/isprint-iswprint-isprint-l-iswprint-l.md)|
-|[iscntrl, iswcntrl, _iscntrl_l, _iswcntrl_l](../c-runtime-library/reference/iscntrl-iswcntrl-iscntrl-l-iswcntrl-l.md)|[ispunct, iswpunct, _ispunct_l, _iswpunct_l](../c-runtime-library/reference/ispunct-iswpunct-ispunct-l-iswpunct-l.md)|
-|[iscsym, iscsymf, __iscsym, \__iswcsym, \__iscsymf, \__iswcsymf, _iscsym_l, _iswcsym_l, _iscsymf_l, _iswcsymf_l](../c-runtime-library/reference/iscsym-functions.md)|[isspace, iswspace, _isspace_l, _iswspace_l](../c-runtime-library/reference/isspace-iswspace-isspace-l-iswspace-l.md)|
-|[_isctype, iswctype, _isctype_l, _iswctype_l](../c-runtime-library/reference/isctype-iswctype-isctype-l-iswctype-l.md)|[isupper, _isupper_l, iswupper, _iswupper_l](../c-runtime-library/reference/isupper-isupper-l-iswupper-iswupper-l.md)|
-|[isdigit, iswdigit, _isdigit_l, _iswdigit_l](../c-runtime-library/reference/isdigit-iswdigit-isdigit-l-iswdigit-l.md)|[isxdigit, iswxdigit, _isxdigit_l, _iswxdigit_l](../c-runtime-library/reference/isxdigit-iswxdigit-isxdigit-l-iswxdigit-l.md)|
+:::row:::
+ :::column span="":::
+ [isalnum, iswalnum, _isalnum_l, _iswalnum_l](../c-runtime-library/reference/isalnum-iswalnum-isalnum-l-iswalnum-l.md)\
+ [isalpha, iswalpha, _isalpha_l, _iswalpha_l](../c-runtime-library/reference/isalpha-iswalpha-isalpha-l-iswalpha-l.md)\
+ [isascii, __isascii, iswascii](../c-runtime-library/reference/isascii-isascii-iswascii.md)\
+ [isblank, iswblank, _isblank_l, _iswblank_l](../c-runtime-library/reference/isblank-iswblank-isblank-l-iswblank-l.md)\
+ [iscntrl, iswcntrl, _iscntrl_l, _iswcntrl_l](../c-runtime-library/reference/iscntrl-iswcntrl-iscntrl-l-iswcntrl-l.md)\
+ [iscsym, iscsymf, __iscsym, \__iswcsym, \__iscsymf, \__iswcsymf, _iscsym_l, _iswcsym_l, _iscsymf_l, _iswcsymf_l](../c-runtime-library/reference/iscsym-functions.md)\
+ [_isctype, iswctype, _isctype_l, _iswctype_l](../c-runtime-library/reference/isctype-iswctype-isctype-l-iswctype-l.md)\
+ [isdigit, iswdigit, _isdigit_l, _iswdigit_l](../c-runtime-library/reference/isdigit-iswdigit-isdigit-l-iswdigit-l.md)
+ :::column-end:::
+ :::column span="":::
+ [isgraph, iswgraph, _isgraph_l, _iswgraph_l](../c-runtime-library/reference/isgraph-iswgraph-isgraph-l-iswgraph-l.md)\
+ [isleadbyte, _isleadbyte_l](../c-runtime-library/reference/isleadbyte-isleadbyte-l.md)\
+ [islower, iswlower, _islower_l, _iswlower_l](../c-runtime-library/reference/islower-iswlower-islower-l-iswlower-l.md)\
+ [isprint, iswprint, _isprint_l, _iswprint_l](../c-runtime-library/reference/isprint-iswprint-isprint-l-iswprint-l.md)\
+ [ispunct, iswpunct, _ispunct_l, _iswpunct_l](../c-runtime-library/reference/ispunct-iswpunct-ispunct-l-iswpunct-l.md)\
+ [isspace, iswspace, _isspace_l, _iswspace_l](../c-runtime-library/reference/isspace-iswspace-isspace-l-iswspace-l.md)\
+ [isupper, _isupper_l, iswupper, _iswupper_l](../c-runtime-library/reference/isupper-isupper-l-iswupper-iswupper-l.md)\
+ [isxdigit, iswxdigit, _isxdigit_l, _iswxdigit_l](../c-runtime-library/reference/isxdigit-iswxdigit-isxdigit-l-iswxdigit-l.md)
+ :::column-end:::
+:::row-end:::
## Remarks
diff --git a/docs/c-runtime-library/ismbb-routines.md b/docs/c-runtime-library/ismbb-routines.md
index 255a405fa87..7e1566ca83e 100644
--- a/docs/c-runtime-library/ismbb-routines.md
+++ b/docs/c-runtime-library/ismbb-routines.md
@@ -12,14 +12,24 @@ ms.assetid: d63c232e-3fe4-4844-aafd-2133846ece4b
Tests the given integer value `c` for a particular condition, by using the current locale or a specified LC_CTYPE conversion state category.
-|||
-|-|-|
-|[_ismbbalnum, _ismbbalnum_l](../c-runtime-library/reference/ismbbalnum-ismbbalnum-l.md)|[_ismbbkprint, _ismbbkprint_l](../c-runtime-library/reference/ismbbkprint-ismbbkprint-l.md)|
-|[_ismbbalpha, _ismbbalpha_l](../c-runtime-library/reference/ismbbalpha-ismbbalpha-l.md)|[_ismbbkpunct, _ismbbkpunct_l](../c-runtime-library/reference/ismbbkpunct-ismbbkpunct-l.md)|
-|[_ismbbblank, _ismbbblank_l](../c-runtime-library/reference/ismbbblank-ismbbblank-l.md)|[_ismbblead, _ismbblead_l](../c-runtime-library/reference/ismbblead-ismbblead-l.md)|
-|[_ismbbgraph, _ismbbgraph_l](../c-runtime-library/reference/ismbbgraph-ismbbgraph-l.md)|[_ismbbprint, _ismbbprint_l](../c-runtime-library/reference/ismbbprint-ismbbprint-l.md)|
-|[_ismbbkalnum, _ismbbkalnum_l](../c-runtime-library/reference/ismbbkalnum-ismbbkalnum-l.md)|[_ismbbpunct, _ismbbpunct_l](../c-runtime-library/reference/ismbbpunct-ismbbpunct-l.md)|
-|[_ismbbkana, _ismbbkana_l](../c-runtime-library/reference/ismbbkana-ismbbkana-l.md)|[_ismbbtrail, _ismbbtrail_l](../c-runtime-library/reference/ismbbtrail-ismbbtrail-l.md)|
+:::row:::
+ :::column span="":::
+ [_ismbbalnum, _ismbbalnum_l](../c-runtime-library/reference/ismbbalnum-ismbbalnum-l.md)\
+ [_ismbbalpha, _ismbbalpha_l](../c-runtime-library/reference/ismbbalpha-ismbbalpha-l.md)\
+ [_ismbbblank, _ismbbblank_l](../c-runtime-library/reference/ismbbblank-ismbbblank-l.md)\
+ [_ismbbgraph, _ismbbgraph_l](../c-runtime-library/reference/ismbbgraph-ismbbgraph-l.md)\
+ [_ismbbkalnum, _ismbbkalnum_l](../c-runtime-library/reference/ismbbkalnum-ismbbkalnum-l.md)\
+ [_ismbbkana, _ismbbkana_l](../c-runtime-library/reference/ismbbkana-ismbbkana-l.md)\
+ :::column-end:::
+ :::column span="":::
+ [_ismbbkprint, _ismbbkprint_l](../c-runtime-library/reference/ismbbkprint-ismbbkprint-l.md)\
+ [_ismbbkpunct, _ismbbkpunct_l](../c-runtime-library/reference/ismbbkpunct-ismbbkpunct-l.md)\
+ [_ismbblead, _ismbblead_l](../c-runtime-library/reference/ismbblead-ismbblead-l.md)\
+ [_ismbbprint, _ismbbprint_l](../c-runtime-library/reference/ismbbprint-ismbbprint-l.md)\
+ [_ismbbpunct, _ismbbpunct_l](../c-runtime-library/reference/ismbbpunct-ismbbpunct-l.md)\
+ [_ismbbtrail, _ismbbtrail_l](../c-runtime-library/reference/ismbbtrail-ismbbtrail-l.md)\
+ :::column-end:::
+:::row-end:::
## Remarks
diff --git a/docs/c-runtime-library/ismbc-routines.md b/docs/c-runtime-library/ismbc-routines.md
index 40fc158f97c..6d27c7e3260 100644
--- a/docs/c-runtime-library/ismbc-routines.md
+++ b/docs/c-runtime-library/ismbc-routines.md
@@ -12,11 +12,16 @@ ms.assetid: b8995391-7857-4ac3-9a1e-de946eb4464d
Each **_ismbc** routine tests a given multibyte character `c` for a particular condition.
-|||
-|-|-|
-|[_ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l](../c-runtime-library/reference/ismbcalnum-functions.md)|[_ismbcl0, _ismbcl0_l, _ismbcl1, _ismbcl1_l, _ismbcl2, _ismbcl2_l](../c-runtime-library/reference/ismbcl0-ismbcl0-l-ismbcl1-ismbcl1-l-ismbcl2-ismbcl2-l.md)|
-|[_ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _ismbcspace_l](../c-runtime-library/reference/ismbcgraph-functions.md)|[_ismbclegal, _ismbclegal_l, _ismbcsymbol, _ismbcsymbol_l](../c-runtime-library/reference/ismbclegal-ismbclegal-l-ismbcsymbol-ismbcsymbol-l.md)|
-|[_ismbchira, _ismbchira_l, _ismbckata, _ismbckata_l](../c-runtime-library/reference/ismbchira-ismbchira-l-ismbckata-ismbckata-l.md)|[_ismbclower, _ismbclower_l, _ismbcupper, _ismbcupper_l](../c-runtime-library/reference/ismbclower-ismbclower-l-ismbcupper-ismbcupper-l.md)|
+:::row:::
+ :::column span="":::
+ [_ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l](../c-runtime-library/reference/ismbcalnum-functions.md)\
+ [_ismbcl0, _ismbcl0_l, _ismbcl1, _ismbcl1_l, _ismbcl2, _ismbcl2_l](../c-runtime-library/reference/ismbcl0-ismbcl0-l-ismbcl1-ismbcl1-l-ismbcl2-ismbcl2-l.md)\
+ [_ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _ismbcspace_l](../c-runtime-library/reference/ismbcgraph-functions.md)\
+ [_ismbclegal, _ismbclegal_l, _ismbcsymbol, _ismbcsymbol_l](../c-runtime-library/reference/ismbclegal-ismbclegal-l-ismbcsymbol-ismbcsymbol-l.md)\
+ [_ismbchira, _ismbchira_l, _ismbckata, _ismbckata_l](../c-runtime-library/reference/ismbchira-ismbchira-l-ismbckata-ismbckata-l.md)\
+ [_ismbclower, _ismbclower_l, _ismbcupper, _ismbcupper_l](../c-runtime-library/reference/ismbclower-ismbclower-l-ismbcupper-ismbcupper-l.md)
+ :::column-end:::
+:::row-end:::
## Remarks
diff --git a/docs/c-runtime-library/iso646-operators.md b/docs/c-runtime-library/iso646-operators.md
index 0843947d301..be294d9942b 100644
--- a/docs/c-runtime-library/iso646-operators.md
+++ b/docs/c-runtime-library/iso646-operators.md
@@ -9,7 +9,7 @@ Provides readable alternatives to certain operators or punctuators. The standard
## Macros
-|||
+|Name|Description|
|-|-|
|[and](../c-runtime-library/reference/and.md)|An alternative to the && operator.|
|[and_eq](../c-runtime-library/reference/and-eq.md)|An alternative to the &= operator.|
diff --git a/docs/c-runtime-library/locking-constants.md b/docs/c-runtime-library/locking-constants.md
index 646ec81db9c..a6a4e44c75e 100644
--- a/docs/c-runtime-library/locking-constants.md
+++ b/docs/c-runtime-library/locking-constants.md
@@ -19,7 +19,7 @@ The *mode* argument in the call to the `_locking` function specifies the locking
The *mode* argument must be one of the following manifest constants.
-|||
+|Value|Description|
|-|-|
| `_LK_LOCK` | Locks the specified bytes. If the bytes cannot be locked, the function tries again after 1 second. If, after 10 attempts, the bytes cannot be locked, the function returns an error. |
| `_LK_RLCK` | Same as `_LK_LOCK`. |
diff --git a/docs/c-runtime-library/reference/access-waccess.md b/docs/c-runtime-library/reference/access-waccess.md
index 1268cba09e3..61b3722598e 100644
--- a/docs/c-runtime-library/reference/access-waccess.md
+++ b/docs/c-runtime-library/reference/access-waccess.md
@@ -38,11 +38,11 @@ Read/write attribute.
Each function returns 0 if the file has the given mode. The function returns -1 if the named file does not exist or does not have the given mode; in this case, `errno` is set as shown in the following table.
-|||
-|-|-|
-`EACCES`|Access denied: the file's permission setting does not allow specified access.
-`ENOENT`|File name or path not found.
-`EINVAL`|Invalid parameter.
+| Value | Description |
+|--|--|
+| `EACCES` | Access denied: the file's permission setting does not allow specified access. |
+| `ENOENT` | File name or path not found. |
+| `EINVAL` | Invalid parameter. |
For more information about these and other return codes, see [_doserrno, errno, _sys_errlist, and _sys_nerr](../../c-runtime-library/errno-doserrno-sys-errlist-and-sys-nerr.md).
diff --git a/docs/c-runtime-library/reference/bsearch-s.md b/docs/c-runtime-library/reference/bsearch-s.md
index 0f4f804b861..75da71bd4eb 100644
--- a/docs/c-runtime-library/reference/bsearch-s.md
+++ b/docs/c-runtime-library/reference/bsearch-s.md
@@ -54,9 +54,8 @@ If invalid parameters are passed to the function, it invokes the invalid paramet
### Error conditions
-|||||||
+|*key*|*base*|*compare*|*number*|*width*|**`errno`**|
|-|-|-|-|-|-|
-|*key*|*base*|*compare*|*number*|*width*|**errno**|
|**NULL**|any|any|any|any|**EINVAL**|
|any|**NULL**|any|!= 0|any|**EINVAL**|
|any|any|any|any|= 0|**EINVAL**|
diff --git a/docs/c-runtime-library/reference/itoa-itow.md b/docs/c-runtime-library/reference/itoa-itow.md
index ebd35d05d96..3575b37fd18 100644
--- a/docs/c-runtime-library/reference/itoa-itow.md
+++ b/docs/c-runtime-library/reference/itoa-itow.md
@@ -120,9 +120,8 @@ To help you create secure buffers for conversions, the CRT includes some conveni
To use one of these macros in a string conversion function, declare your conversion buffer of the appropriate character type and use the macro value for the integer type and base as the buffer dimension. This table lists the macros that are appropriate for each function for the listed bases:
-||||
-|-|-|-|
|Functions|radix|Macros|
+|-|-|-|
|**_itoa**, **_itow**|16
10
8
2|**_MAX_ITOSTR_BASE16_COUNT**
**_MAX_ITOSTR_BASE10_COUNT**
**_MAX_ITOSTR_BASE8_COUNT**
**_MAX_ITOSTR_BASE2_COUNT**|
|**_ltoa**, **_ltow**|16
10
8
2|**_MAX_LTOSTR_BASE16_COUNT**
**_MAX_LTOSTR_BASE10_COUNT**
**_MAX_LTOSTR_BASE8_COUNT**
**_MAX_LTOSTR_BASE2_COUNT**|
|**_ultoa**, **_ultow**|16
10
8
2|**_MAX_ULTOSTR_BASE16_COUNT**
**_MAX_ULTOSTR_BASE10_COUNT**
**_MAX_ULTOSTR_BASE8_COUNT**
**_MAX_ULTOSTR_BASE2_COUNT**|
diff --git a/docs/c-runtime-library/reference/malloc.md b/docs/c-runtime-library/reference/malloc.md
index ac84b224c4b..5ce2eb23342 100644
--- a/docs/c-runtime-library/reference/malloc.md
+++ b/docs/c-runtime-library/reference/malloc.md
@@ -38,18 +38,54 @@ The **malloc** function allocates a memory block of at least *size* bytes. The b
The startup code uses **malloc** to allocate storage for the **_environ**, *envp*, and *argv* variables. The following functions and their wide-character counterparts also call **malloc**.
-|||||
-|-|-|-|-|
-|[calloc](calloc.md)|[fscanf](fscanf-fscanf-l-fwscanf-fwscanf-l.md)|[_getw](getw.md)|[setvbuf](setvbuf.md)|
-|[_exec functions](../../c-runtime-library/exec-wexec-functions.md)|[fseek](fseek-fseeki64.md)|[_popen](popen-wpopen.md)|[_spawn functions](../../c-runtime-library/spawn-wspawn-functions.md)|
-|[fgetc](fgetc-fgetwc.md)|[fsetpos](fsetpos.md)|[printf](printf-printf-l-wprintf-wprintf-l.md)|[_strdup](strdup-wcsdup-mbsdup.md)|
-|[_fgetchar](fgetc-fgetwc.md)|[_fullpath](fullpath-wfullpath.md)|[putc](putc-putwc.md)|[system](system-wsystem.md)|
-|[fgets](fgets-fgetws.md)|[fwrite](fwrite.md)|[putchar](putc-putwc.md)|[_tempnam](tempnam-wtempnam-tmpnam-wtmpnam.md)|
-|[fprintf](fprintf-fprintf-l-fwprintf-fwprintf-l.md)|[getc](getc-getwc.md)|[_putenv](putenv-wputenv.md)|[ungetc](ungetc-ungetwc.md)|
-|[fputc](fputc-fputwc.md)|[getchar](getc-getwc.md)|[puts](puts-putws.md)|[vfprintf](vfprintf-vfprintf-l-vfwprintf-vfwprintf-l.md)|
-|[_fputchar](fputc-fputwc.md)|[_getcwd](getcwd-wgetcwd.md)|[_putw](putw.md)|[vprintf](vprintf-vprintf-l-vwprintf-vwprintf-l.md)|
-|[fputs](fputs-fputws.md)|[_getdcwd](getcwd-wgetcwd.md)|[scanf](scanf-scanf-l-wscanf-wscanf-l.md)||
-|[fread](fread.md)|[gets](../../c-runtime-library/gets-getws.md)|[_searchenv](searchenv-wsearchenv.md)||
+:::row:::
+ :::column span="":::
+ [calloc](calloc.md)\
+ [_exec functions](../../c-runtime-library/exec-wexec-functions.md)\
+ [fgetc](fgetc-fgetwc.md)\
+ [_fgetchar](fgetc-fgetwc.md)\
+ [fgets](fgets-fgetws.md)\
+ [fprintf](fprintf-fprintf-l-fwprintf-fwprintf-l.md)\
+ [fputc](fputc-fputwc.md)\
+ [_fputchar](fputc-fputwc.md)\
+ [fputs](fputs-fputws.md)\
+ [fread](fread.md)
+ :::column-end:::
+ :::column span="":::
+ [fscanf](fscanf-fscanf-l-fwscanf-fwscanf-l.md)\
+ [fseek](fseek-fseeki64.md)\
+ [fsetpos](fsetpos.md)\
+ [_fullpath](fullpath-wfullpath.md)\
+ [fwrite](fwrite.md)\
+ [getc](getc-getwc.md)\
+ [getchar](getc-getwc.md)\
+ [_getcwd](getcwd-wgetcwd.md)\
+ [_getdcwd](getcwd-wgetcwd.md)\
+ [gets](../../c-runtime-library/gets-getws.md)
+ :::column-end:::
+ :::column span="":::
+ [_getw](getw.md)\
+ [_popen](popen-wpopen.md)\
+ [printf](printf-printf-l-wprintf-wprintf-l.md)\
+ [putc](putc-putwc.md)\
+ [putchar](putc-putwc.md)\
+ [_putenv](putenv-wputenv.md)\
+ [puts](puts-putws.md)\
+ [_putw](putw.md)\
+ [scanf](scanf-scanf-l-wscanf-wscanf-l.md)
+ :::column-end:::
+ :::column span="":::
+ [_searchenv](searchenv-wsearchenv.md)\
+ [setvbuf](setvbuf.md)\
+ [_spawn functions](../../c-runtime-library/spawn-wspawn-functions.md)\
+ [_strdup](strdup-wcsdup-mbsdup.md)\
+ [system](system-wsystem.md)\
+ [_tempnam](tempnam-wtempnam-tmpnam-wtmpnam.md)\
+ [ungetc](ungetc-ungetwc.md)\
+ [vfprintf](vfprintf-vfprintf-l-vfwprintf-vfwprintf-l.md)\
+ [vprintf](vprintf-vprintf-l-vwprintf-vwprintf-l.md)
+ :::column-end:::
+:::row-end:::
The C++ [_set_new_mode](set-new-mode.md) function sets the new handler mode for **malloc**. The new handler mode indicates whether, on failure, **malloc** is to call the new handler routine as set by [_set_new_handler](set-new-handler.md). By default, **malloc** does not call the new handler routine on failure to allocate memory. You can override this default behavior so that, when **malloc** fails to allocate memory, **malloc** calls the new handler routine in the same way that the **`new`** operator does when it fails for the same reason. To override the default, call `_set_new_mode(1)` early in your program, or link with NEWMODE.OBJ (see [Link Options](../../c-runtime-library/link-options.md)).
diff --git a/docs/c-runtime-library/reference/mbrlen.md b/docs/c-runtime-library/reference/mbrlen.md
index 3973cffc6d6..0019861aaa8 100644
--- a/docs/c-runtime-library/reference/mbrlen.md
+++ b/docs/c-runtime-library/reference/mbrlen.md
@@ -38,12 +38,12 @@ Pointer to the current shift state of the initial byte of *str*.
One of the following values:
-|||
-|-|-|
-0|The next *count* or fewer bytes complete the multibyte character that represents the wide null character.
-1 to *count*, inclusive|The next *count* or fewer bytes complete a valid multibyte character. The value returned is the number of bytes that complete the multibyte character.
-(size_t)(-2)|The next *count* bytes contribute to an incomplete but potentially valid multibyte character and all *count* bytes have been processed.
-(size_t)(-1)|An encoding error occurred. The next *count* or fewer bytes do not contribute to a complete and valid multibyte character. In this case, **errno** is set to EILSEQ and the conversion state in *mbstate* is unspecified.
+| Value | Description |
+|--|--|
+| 0 | The next *count* or fewer bytes complete the multibyte character that represents the wide null character. |
+| 1 to *count*, inclusive | The next *count* or fewer bytes complete a valid multibyte character. The value returned is the number of bytes that complete the multibyte character. |
+| (size_t)(-2) | The next *count* bytes contribute to an incomplete but potentially valid multibyte character and all *count* bytes have been processed. |
+| (size_t)(-1) | An encoding error occurred. The next *count* or fewer bytes do not contribute to a complete and valid multibyte character. In this case, **errno** is set to EILSEQ and the conversion state in *mbstate* is unspecified. |
## Remarks
diff --git a/docs/c-runtime-library/reference/open-osfhandle.md b/docs/c-runtime-library/reference/open-osfhandle.md
index 2371068c2b9..2490ef6ba9d 100644
--- a/docs/c-runtime-library/reference/open-osfhandle.md
+++ b/docs/c-runtime-library/reference/open-osfhandle.md
@@ -40,8 +40,8 @@ The **_open_osfhandle** function allocates a C run-time file descriptor. It asso
These manifest constants are defined in \:
-|||
-|-|-|
+| Constant | Description |
+|--|--|
| **\_O\_APPEND** | Positions a file pointer to the end of the file before every write operation. |
| **\_O\_RDONLY** | Opens the file for reading only. |
| **\_O\_TEXT** | Opens the file in text (translated) mode. |
diff --git a/docs/c-runtime-library/reference/spawnl-wspawnl.md b/docs/c-runtime-library/reference/spawnl-wspawnl.md
index ea7bdc4fc64..d2756885b79 100644
--- a/docs/c-runtime-library/reference/spawnl-wspawnl.md
+++ b/docs/c-runtime-library/reference/spawnl-wspawnl.md
@@ -52,8 +52,8 @@ List of pointers to arguments. The *arg0* argument is usually a pointer to *cmdn
The return value from a synchronous **_spawnl** or **_wspawnl** (**_P_WAIT** specified for *mode*) is the exit status of the new process. The return value from an asynchronous **_spawnl** or **_wspawnl** (**_P_NOWAIT** or **_P_NOWAITO** specified for *mode*) is the process handle. The exit status is 0 if the process terminated normally. You can set the exit status to a nonzero value if the spawned process specifically calls the **exit** routine with a nonzero argument. If the new process did not explicitly set a positive exit status, a positive exit status indicates an abnormal exit with an abort or an interrupt. A return value of -1 indicates an error (the new process is not started). In this case, **errno** is set to one of the following values.
-|||
-|-|-|
+| Value | Description |
+|--|--|
| **E2BIG** | Argument list exceeds 1024 bytes. |
| **EINVAL** | *mode* argument is invalid. |
| **ENOENT** | File or path is not found. |
diff --git a/docs/c-runtime-library/reference/spawnle-wspawnle.md b/docs/c-runtime-library/reference/spawnle-wspawnle.md
index 191edcbb754..ac5bee3054f 100644
--- a/docs/c-runtime-library/reference/spawnle-wspawnle.md
+++ b/docs/c-runtime-library/reference/spawnle-wspawnle.md
@@ -57,8 +57,8 @@ Array of pointers to environment settings.
The return value from a synchronous **_spawnle** or **_wspawnle** (**_P_WAIT** specified for *mode*) is the exit status of the new process. The return value from an asynchronous **_spawnle** or **_wspawnle** (**_P_NOWAIT** or **_P_NOWAITO** specified for *mode*) is the process handle. The exit status is 0 if the process terminated normally. You can set the exit status to a nonzero value if the spawned process specifically calls the **exit** routine with a nonzero argument. If the new process did not explicitly set a positive exit status, a positive exit status indicates an abnormal exit with an abort or an interrupt. A return value of -1 indicates an error (the new process is not started). In this case, **errno** is set to one of the following values.
-|||
-|-|-|
+| Value | Description |
+|--|--|
| **E2BIG** | Argument list exceeds 1024 bytes. |
| **EINVAL** | *mode* argument is invalid. |
| **ENOENT** | File or path is not found. |
diff --git a/docs/c-runtime-library/reference/spawnlp-wspawnlp.md b/docs/c-runtime-library/reference/spawnlp-wspawnlp.md
index 724a3989a90..27f977ba2cb 100644
--- a/docs/c-runtime-library/reference/spawnlp-wspawnlp.md
+++ b/docs/c-runtime-library/reference/spawnlp-wspawnlp.md
@@ -52,7 +52,7 @@ List of pointers to arguments. The *arg0* argument is usually a pointer to *cmdn
The return value from a synchronous **_spawnlp** or **_wspawnlp** (**_P_WAIT** specified for *mode*) is the exit status of the new process. The return value from an asynchronous **_spawnlp** or **_wspawnlp** (**_P_NOWAIT** or **_P_NOWAITO** specified for *mode*) is the process handle. The exit status is 0 if the process terminated normally. You can set the exit status to a nonzero value if the spawned process specifically calls the **exit** routine with a nonzero argument. If the new process did not explicitly set a positive exit status, a positive exit status indicates an abnormal exit with an abort or an interrupt. A return value of -1 indicates an error (the new process is not started). In this case, **errno** is set to one of the following values.
-|||
+| Value | Description |
|-|-|
| **E2BIG** | Argument list exceeds 1024 bytes. |
| **EINVAL** | *mode* argument is invalid. |
diff --git a/docs/c-runtime-library/reference/spawnlpe-wspawnlpe.md b/docs/c-runtime-library/reference/spawnlpe-wspawnlpe.md
index 77a7e36f4c5..0e699316e18 100644
--- a/docs/c-runtime-library/reference/spawnlpe-wspawnlpe.md
+++ b/docs/c-runtime-library/reference/spawnlpe-wspawnlpe.md
@@ -57,7 +57,7 @@ Array of pointers to environment settings.
The return value from a synchronous **_spawnlpe** or **_wspawnlpe** (**_P_WAIT** specified for *mode*) is the exit status of the new process. The return value from an asynchronous **_spawnlpe** or **_wspawnlpe** (**_P_NOWAIT** or **_P_NOWAITO** specified for *mode*) is the process handle. The exit status is 0 if the process terminated normally. You can set the exit status to a nonzero value if the spawned process specifically uses a nonzero argument to call the **exit** routine. If the new process did not explicitly set a positive exit status, a positive exit status indicates an abnormal exit caused by an abort or an interrupt. A return value of -1 indicates an error (the new process is not started). In this case, **errno** is set to one of the following values.
-|||
+| Value | Description |
|-|-|
| **E2BIG** | Argument list exceeds 1024 bytes. |
| **EINVAL** | *mode* argument is invalid. |
diff --git a/docs/c-runtime-library/reference/spawnv-wspawnv.md b/docs/c-runtime-library/reference/spawnv-wspawnv.md
index a8cbb7c116a..c356db962b0 100644
--- a/docs/c-runtime-library/reference/spawnv-wspawnv.md
+++ b/docs/c-runtime-library/reference/spawnv-wspawnv.md
@@ -46,7 +46,7 @@ Array of pointers to arguments. The argument *argv*[0] is usually a pointer to a
The return value from a synchronous **_spawnv** or **_wspawnv** (**_P_WAIT** specified for *mode*) is the exit status of the new process. The return value from an asynchronous **_spawnv** or **_wspawnv** (**_P_NOWAIT** or **_P_NOWAITO** specified for *mode*) is the process handle. The exit status is 0 if the process terminated normally. You can set the exit status to a nonzero value if the spawned process specifically calls the **exit** routine with a nonzero argument. If the new process did not explicitly set a positive exit status, a positive exit status indicates an abnormal exit with an abort or an interrupt. A return value of -1 indicates an error (the new process is not started). In this case, **errno** is set to one of the following values.
-|||
+| Value | Description |
|-|-|
| **E2BIG** | Argument list exceeds 1024 bytes. |
| **EINVAL** | *mode* argument is invalid. |
diff --git a/docs/c-runtime-library/reference/spawnve-wspawnve.md b/docs/c-runtime-library/reference/spawnve-wspawnve.md
index 166e57466c4..236d5853a55 100644
--- a/docs/c-runtime-library/reference/spawnve-wspawnve.md
+++ b/docs/c-runtime-library/reference/spawnve-wspawnve.md
@@ -51,7 +51,7 @@ Array of pointers to environment settings.
The return value from a synchronous **_spawnve** or **_wspawnve** (**_P_WAIT** specified for *mode*) is the exit status of the new process. The return value from an asynchronous **_spawnve** or **_wspawnve** (**_P_NOWAIT** or **_P_NOWAITO** specified for *mode*) is the process handle. The exit status is 0 if the process terminated normally. You can set the exit status to a nonzero value if the spawned process specifically calls the **exit** routine with a nonzero argument. If the new process did not explicitly set a positive exit status, a positive exit status indicates an abnormal exit with an abort or an interrupt. A return value of -1 indicates an error (the new process is not started). In this case, **errno** is set to one of the following values.
-|||
+| Value | Description |
|-|-|
| **E2BIG** | Argument list exceeds 1024 bytes. |
| **EINVAL** | *mode* argument is invalid. |
diff --git a/docs/c-runtime-library/reference/spawnvp-wspawnvp.md b/docs/c-runtime-library/reference/spawnvp-wspawnvp.md
index 028dd55476b..d338447048e 100644
--- a/docs/c-runtime-library/reference/spawnvp-wspawnvp.md
+++ b/docs/c-runtime-library/reference/spawnvp-wspawnvp.md
@@ -46,7 +46,7 @@ Array of pointers to arguments. The argument *argv*[0] is usually a pointer to a
The return value from a synchronous **_spawnvp** or **_wspawnvp** (**_P_WAIT** specified for *mode*) is the exit status of the new process. The return value from an asynchronous **_spawnvp** or **_wspawnvp** (**_P_NOWAIT** or **_P_NOWAITO** specified for *mode*) is the process handle. The exit status is 0 if the process terminated normally. You can set the exit status to a nonzero value if the spawned process specifically uses a nonzero argument to call the **exit** routine. If the new process did not explicitly set a positive exit status, a positive exit status indicates an abnormal exit with an abort or an interrupt. A return value of -1 indicates an error (the new process is not started). In this case, **errno** is set to one of the following values:
-|||
+| Value | Description |
|-|-|
| **E2BIG** | Argument list exceeds 1024 bytes. |
| **EINVAL** | *mode* argument is invalid. |
diff --git a/docs/c-runtime-library/reference/spawnvpe-wspawnvpe.md b/docs/c-runtime-library/reference/spawnvpe-wspawnvpe.md
index 53334196c9f..1dd869345a6 100644
--- a/docs/c-runtime-library/reference/spawnvpe-wspawnvpe.md
+++ b/docs/c-runtime-library/reference/spawnvpe-wspawnvpe.md
@@ -51,7 +51,7 @@ Array of pointers to environment settings
The return value from a synchronous **_spawnvpe** or **_wspawnvpe** (**_P_WAIT** specified for *mode*) is the exit status of the new process. The return value from an asynchronous **_spawnvpe** or **_wspawnvpe** (**_P_NOWAIT** or **_P_NOWAITO** specified for *mode*) is the process handle. The exit status is 0 if the process terminated normally. You can set the exit status to a nonzero value if the spawned process specifically calls the **exit** routine with a nonzero argument. If the new process did not explicitly set a positive exit status, a positive exit status indicates an abnormal exit with an abort or an interrupt. A return value of -1 indicates an error (the new process is not started). In this case, **errno** is set to one of the following values:
-|||
+| Value | Description |
|-|-|
| **E2BIG** | Argument list exceeds 1024 bytes. |
| **EINVAL** | *mode* argument is invalid. |
diff --git a/docs/c-runtime-library/reference/strftime-wcsftime-strftime-l-wcsftime-l.md b/docs/c-runtime-library/reference/strftime-wcsftime-strftime-l-wcsftime-l.md
index d34bead4053..8d35e8e62cf 100644
--- a/docs/c-runtime-library/reference/strftime-wcsftime-strftime-l-wcsftime-l.md
+++ b/docs/c-runtime-library/reference/strftime-wcsftime-strftime-l-wcsftime-l.md
@@ -87,9 +87,8 @@ The *format* argument consists of one or more codes; as in **printf**, the forma
The **strftime** functions support these formatting codes:
-|||
-|-|-|
|Code|Replacement string|
+|-|-|
|**%a**|Abbreviated weekday name in the locale|
|**%A**|Full weekday name in the locale|
|**%b**|Abbreviated month name in the locale|
diff --git a/docs/c-runtime-library/reference/system-wsystem.md b/docs/c-runtime-library/reference/system-wsystem.md
index f8bff3b2886..10eb94a420e 100644
--- a/docs/c-runtime-library/reference/system-wsystem.md
+++ b/docs/c-runtime-library/reference/system-wsystem.md
@@ -36,7 +36,7 @@ The command to be executed.
If *command* is **NULL** and the command interpreter is found, returns a nonzero value. If the command interpreter is not found, returns 0 and sets **errno** to **ENOENT**. If *command* is not **NULL**, **system** returns the value that is returned by the command interpreter. It returns the value 0 only if the command interpreter returns the value 0. A return value of - 1 indicates an error, and **errno** is set to one of the following values:
-|||
+| Value | Description |
|-|-|
| **E2BIG** | The argument list (which is system-dependent) is too big. |
| **ENOENT** | The command interpreter cannot be found. |
diff --git a/docs/c-runtime-library/reference/tmpnam-s-wtmpnam-s.md b/docs/c-runtime-library/reference/tmpnam-s-wtmpnam-s.md
index 0f7a872d1ce..4f3a8ab3fcc 100644
--- a/docs/c-runtime-library/reference/tmpnam-s-wtmpnam-s.md
+++ b/docs/c-runtime-library/reference/tmpnam-s-wtmpnam-s.md
@@ -48,11 +48,10 @@ Both of these functions return 0 if successful or an error number on failure.
### Error Conditions
-|||||
-|-|-|-|-|
-|*str*|*sizeInChars*|**Return Value**|**Contents of** *str*|
-|**NULL**|any|**EINVAL**|not modified|
-|not **NULL** (points to valid memory)|too short|**ERANGE**|not modified|
+| *str* | *sizeInChars* | **Return Value** | **Contents of** *str* |
+|--|--|--|--|
+| **NULL** | any | **EINVAL** | not modified |
+| not **NULL** (points to valid memory) | too short | **ERANGE** | not modified |
If *str* is **NULL**, the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, these functions set **errno** to **EINVAL** and return **EINVAL**.
diff --git a/docs/c-runtime-library/run-time-routines-by-category.md b/docs/c-runtime-library/run-time-routines-by-category.md
index ab87fb0a82b..47ea49fd0b6 100644
--- a/docs/c-runtime-library/run-time-routines-by-category.md
+++ b/docs/c-runtime-library/run-time-routines-by-category.md
@@ -12,20 +12,35 @@ This section lists and describes Universal C runtime (UCRT) library routines by
The main categories of UCRT library routines are:
-|||
-|-|-|
-|[Argument Access](../c-runtime-library/argument-access.md)|[Buffer Manipulation](../c-runtime-library/buffer-manipulation.md)|
-|[Byte Classification](../c-runtime-library/byte-classification.md)|[Character Classification](../c-runtime-library/character-classification.md)|
-|[Complex math support](../c-runtime-library/complex-math-support.md)||
-|[Data Alignment](../c-runtime-library/data-alignment.md)|[Data Conversion](../c-runtime-library/data-conversion.md)|
-|[Debug Routines](../c-runtime-library/debug-routines.md)|[Directory Control](../c-runtime-library/directory-control.md)|
-|[Error Handling](../c-runtime-library/error-handling-crt.md)|[Exception Handling Routines](../c-runtime-library/exception-handling-routines.md)|
-|[File Handling](../c-runtime-library/file-handling.md)|[Floating-Point Support](../c-runtime-library/floating-point-support.md)|
-|[Input and Output](../c-runtime-library/input-and-output.md)|[Internationalization](../c-runtime-library/internationalization.md)|
-|[Memory Allocation](../c-runtime-library/memory-allocation.md)|[Process and Environment Control](../c-runtime-library/process-and-environment-control.md)|
-|[Robustness](../c-runtime-library/robustness.md)|[Run-Time Error Checking](../c-runtime-library/run-time-error-checking.md)|
-|[Searching and Sorting](../c-runtime-library/searching-and-sorting.md)|[String Manipulation](../c-runtime-library/string-manipulation-crt.md)|
-|[System Calls](../c-runtime-library/system-calls.md)|[Time Management](../c-runtime-library/time-management.md)|
+:::row:::
+ :::column span="":::
+ [Argument Access](../c-runtime-library/argument-access.md)\
+ [Buffer Manipulation](../c-runtime-library/buffer-manipulation.md)\
+ [Byte Classification](../c-runtime-library/byte-classification.md)\
+ [Character Classification](../c-runtime-library/character-classification.md)\
+ [Complex math support](../c-runtime-library/complex-math-support.md)\
+ [Data Alignment](../c-runtime-library/data-alignment.md)\
+ [Data Conversion](../c-runtime-library/data-conversion.md)\
+ [Debug Routines](../c-runtime-library/debug-routines.md)\
+ [Directory Control](../c-runtime-library/directory-control.md)\
+ [Error Handling](../c-runtime-library/error-handling-crt.md)\
+ [Exception Handling Routines](../c-runtime-library/exception-handling-routines.md)\
+ [File Handling](../c-runtime-library/file-handling.md)
+ :::column-end:::
+ :::column span="":::
+ [Floating-Point Support](../c-runtime-library/floating-point-support.md)\
+ [Input and Output](../c-runtime-library/input-and-output.md)\
+ [Internationalization](../c-runtime-library/internationalization.md)\
+ [Memory Allocation](../c-runtime-library/memory-allocation.md)\
+ [Process and Environment Control](../c-runtime-library/process-and-environment-control.md)\
+ [Robustness](../c-runtime-library/robustness.md)\
+ [Run-Time Error Checking](../c-runtime-library/run-time-error-checking.md)\
+ [Searching and Sorting](../c-runtime-library/searching-and-sorting.md)\
+ [String Manipulation](../c-runtime-library/string-manipulation-crt.md)\
+ [System Calls](../c-runtime-library/system-calls.md)\
+ [Time Management](../c-runtime-library/time-management.md)
+ :::column-end:::
+:::row-end:::
## See also
diff --git a/docs/c-runtime-library/signal-action-constants.md b/docs/c-runtime-library/signal-action-constants.md
index d34a14a987d..3b439491d93 100644
--- a/docs/c-runtime-library/signal-action-constants.md
+++ b/docs/c-runtime-library/signal-action-constants.md
@@ -19,7 +19,7 @@ The action taken when the interrupt signal is received depends on the value of `
The `func` argument must be either a function address or one of the manifest constants listed below and defined in SIGNAL.H.
-|||
+|Constant|Description|
|-|-|
| `SIG_DFL` | Uses system-default response. If the calling program uses stream I/O, buffers created by the run-time library are not flushed. |
| `SIG_IGN` | Ignores interrupt signal. This value should never be given for `SIGFPE`, since the floating-point state of the process is left undefined. |
diff --git a/docs/c-runtime-library/signal-constants.md b/docs/c-runtime-library/signal-constants.md
index 258a54335a7..3ee423e09a9 100644
--- a/docs/c-runtime-library/signal-constants.md
+++ b/docs/c-runtime-library/signal-constants.md
@@ -17,7 +17,7 @@ ms.assetid: a3b39281-dae7-4e44-8d68-e6a610c669dd
The `sig` argument must be one of the manifest constants listed below (defined in SIGNAL.H).
-|||
+|Constant|Description|
|-|-|
|SIGABRT|Abnormal termination. The default action terminates the calling program with exit code 3. |
|SIGABRT_COMPAT|Same as SIGABRT. For compatibility with other platforms. |
diff --git a/docs/c-runtime-library/spawn-wspawn-functions.md b/docs/c-runtime-library/spawn-wspawn-functions.md
index 488ea5db044..1def90753e8 100644
--- a/docs/c-runtime-library/spawn-wspawn-functions.md
+++ b/docs/c-runtime-library/spawn-wspawn-functions.md
@@ -12,12 +12,20 @@ ms.assetid: bb47c703-5216-4e09-8023-8cf25bbf2cf9
Each of the `_spawn` functions creates and executes a new process:
-|||
-|-|-|
-|[_spawnl, _wspawnl](../c-runtime-library/reference/spawnl-wspawnl.md)|[_spawnv, _wspawnv](../c-runtime-library/reference/spawnv-wspawnv.md)|
-|[_spawnle, _wspawnle](../c-runtime-library/reference/spawnle-wspawnle.md)|[_spawnve, _wspawnve](../c-runtime-library/reference/spawnve-wspawnve.md)|
-|[_spawnlp, _wspawnlp](../c-runtime-library/reference/spawnlp-wspawnlp.md)|[_spawnvp, _wspawnvp](../c-runtime-library/reference/spawnvp-wspawnvp.md)|
-|[_spawnlpe, _wspawnlpe](../c-runtime-library/reference/spawnlpe-wspawnlpe.md)|[_spawnvpe, _wspawnvpe](../c-runtime-library/reference/spawnvpe-wspawnvpe.md)|
+:::row:::
+ :::column span="":::
+ [_spawnl, _wspawnl](../c-runtime-library/reference/spawnl-wspawnl.md)\
+ [_spawnle, _wspawnle](../c-runtime-library/reference/spawnle-wspawnle.md)\
+ [_spawnlp, _wspawnlp](../c-runtime-library/reference/spawnlp-wspawnlp.md)\
+ [_spawnlpe, _wspawnlpe](../c-runtime-library/reference/spawnlpe-wspawnlpe.md)\
+ :::column-end:::
+ :::column span="":::
+ [_spawnv, _wspawnv](../c-runtime-library/reference/spawnv-wspawnv.md)\
+ [_spawnve, _wspawnve](../c-runtime-library/reference/spawnve-wspawnve.md)\
+ [_spawnvp, _wspawnvp](../c-runtime-library/reference/spawnvp-wspawnvp.md)\
+ [_spawnvpe, _wspawnvpe](../c-runtime-library/reference/spawnvpe-wspawnvpe.md)\
+ :::column-end:::
+:::row-end:::
The letters at the end of the function name determine the variation.
@@ -47,7 +55,7 @@ The `_spawn` functions each create and execute a new process. They automatically
Enough memory must be available for loading and executing the new process. The `mode` argument determines the action taken by the calling process before and during `_spawn`. The following values for `mode` are defined in Process.h:
-|||
+|Value|Description|
|-|-|
| `_P_OVERLAY` | Overlays a calling process with a new process, destroying the calling process (same effect as `_exec` calls). |
| `_P_WAIT` | Suspends a calling thread until execution of the new process is complete (synchronous `_spawn`). |
diff --git a/docs/c-runtime-library/to-functions.md b/docs/c-runtime-library/to-functions.md
index 672eb1b69ac..96ba610d2ed 100644
--- a/docs/c-runtime-library/to-functions.md
+++ b/docs/c-runtime-library/to-functions.md
@@ -12,10 +12,9 @@ ms.assetid: f636a4c6-8c9f-4be2-baac-064f9dbae300
Each of the **to** functions and its associated macro, if any, converts a single character to another character.
-|||
-|-|-|
-|[__toascii](../c-runtime-library/reference/toascii-toascii.md)|[toupper, _toupper, towupper](../c-runtime-library/reference/toupper-toupper-towupper-toupper-l-towupper-l.md)|
-|[tolower, _tolower, towlower](../c-runtime-library/reference/tolower-tolower-towlower-tolower-l-towlower-l.md)||
+[__toascii](../c-runtime-library/reference/toascii-toascii.md)\
+[tolower, _tolower, towlower](../c-runtime-library/reference/tolower-tolower-towlower-tolower-l-towlower-l.md)\
+[toupper, _toupper, towupper](../c-runtime-library/reference/toupper-toupper-towupper-toupper-l-towupper-l.md)
## Remarks
diff --git a/docs/c-runtime-library/translation-mode-constants.md b/docs/c-runtime-library/translation-mode-constants.md
index 1fa65b81bf7..e2114008ba0 100644
--- a/docs/c-runtime-library/translation-mode-constants.md
+++ b/docs/c-runtime-library/translation-mode-constants.md
@@ -19,7 +19,7 @@ The `_O_BINARY` and `_O_TEXT` manifest constants determine the translation mode
The allowed values are:
-|||
+|Value|Description|
|-|-|
`_O_TEXT` | Opens file in text (translated) mode. Carriage return-line feed (CR-LF) combinations are translated into a single line feed (LF) on input. Line feed characters are translated into CR-LF combinations on output. Also, CTRL+Z is interpreted as an end-of-file character on input. In files opened for reading, and for reading and writing, `fopen` checks for CTRL+Z at the end of the file and removes it, if possible. This is done because using the `fseek` and `ftell` functions to move within a file ending with CTRL+Z may cause `fseek` to behave improperly near the end of the file.
`_O_BINARY` | Opens file in binary (untranslated) mode. The above translations are suppressed.
diff --git a/docs/c-runtime-library/vprintf-functions.md b/docs/c-runtime-library/vprintf-functions.md
index 7f6e62470ac..a02380c256f 100644
--- a/docs/c-runtime-library/vprintf-functions.md
+++ b/docs/c-runtime-library/vprintf-functions.md
@@ -12,14 +12,18 @@ ms.assetid: 02ac7c51-eab1-4bf0-bf4c-77065e3fa744
Each of the `vprintf` functions takes a pointer to an argument list, then formats and writes the given data to a particular destination. The functions differ in the parameter validation performed, whether the functions take wide or single-byte character strings, the output destination, and the support for specifying the order in which parameters are used in the format string.
-|||
-|-|-|
-|[_vcprintf, _vcwprintf](../c-runtime-library/reference/vcprintf-vcprintf-l-vcwprintf-vcwprintf-l.md)|[vfprintf, vfwprintf](../c-runtime-library/reference/vfprintf-vfprintf-l-vfwprintf-vfwprintf-l.md)|
-|[_vfprintf_p, _vfprintf_p_l, _vfwprintf_p, _vfwprintf_p_l](../c-runtime-library/reference/vfprintf-p-vfprintf-p-l-vfwprintf-p-vfwprintf-p-l.md)|[vfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l](../c-runtime-library/reference/vfprintf-s-vfprintf-s-l-vfwprintf-s-vfwprintf-s-l.md)|
-|[vprintf, vwprintf](../c-runtime-library/reference/vprintf-vprintf-l-vwprintf-vwprintf-l.md)|[_vprintf_p, _vprintf_p_l, _vwprintf_p, _vwprintf_p_l](../c-runtime-library/reference/vprintf-p-vprintf-p-l-vwprintf-p-vwprintf-p-l.md)|
-|[vprintf_s, _vprintf_s_l, vwprintf_s, _vwprintf_s_l](../c-runtime-library/reference/vprintf-s-vprintf-s-l-vwprintf-s-vwprintf-s-l.md)|[vsprintf, vswprintf](../c-runtime-library/reference/vsprintf-vsprintf-l-vswprintf-vswprintf-l-vswprintf-l.md)|
-|[_vsprintf_p, _vsprintf_p_l, _vswprintf_p, _vswprintf_p_l](../c-runtime-library/reference/vsprintf-p-vsprintf-p-l-vswprintf-p-vswprintf-p-l.md)|[vsprintf_s, _vsprintf_s_l, vswprintf_s, _vswprintf_s_l](../c-runtime-library/reference/vsprintf-s-vsprintf-s-l-vswprintf-s-vswprintf-s-l.md)|
-|[_vscprintf, _vscprintf_l, _vscwprintf, _vscwprintf_l](../c-runtime-library/reference/vscprintf-vscprintf-l-vscwprintf-vscwprintf-l.md)|[_vsnprintf, _vsnwprintf](../c-runtime-library/reference/vsnprintf-vsnprintf-vsnprintf-l-vsnwprintf-vsnwprintf-l.md)|
+[_vcprintf, _vcwprintf](../c-runtime-library/reference/vcprintf-vcprintf-l-vcwprintf-vcwprintf-l.md)\
+[vfprintf, vfwprintf](../c-runtime-library/reference/vfprintf-vfprintf-l-vfwprintf-vfwprintf-l.md)\
+[_vfprintf_p, _vfprintf_p_l, _vfwprintf_p, _vfwprintf_p_l](../c-runtime-library/reference/vfprintf-p-vfprintf-p-l-vfwprintf-p-vfwprintf-p-l.md)\
+[vfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l](../c-runtime-library/reference/vfprintf-s-vfprintf-s-l-vfwprintf-s-vfwprintf-s-l.md)\
+[vprintf, vwprintf](../c-runtime-library/reference/vprintf-vprintf-l-vwprintf-vwprintf-l.md)\
+[_vprintf_p, _vprintf_p_l, _vwprintf_p, _vwprintf_p_l](../c-runtime-library/reference/vprintf-p-vprintf-p-l-vwprintf-p-vwprintf-p-l.md)\
+[vprintf_s, _vprintf_s_l, vwprintf_s, _vwprintf_s_l](../c-runtime-library/reference/vprintf-s-vprintf-s-l-vwprintf-s-vwprintf-s-l.md)\
+[_vscprintf, _vscprintf_l, _vscwprintf, _vscwprintf_l](../c-runtime-library/reference/vscprintf-vscprintf-l-vscwprintf-vscwprintf-l.md)\
+[_vsnprintf, _vsnwprintf](../c-runtime-library/reference/vsnprintf-vsnprintf-vsnprintf-l-vsnwprintf-vsnwprintf-l.md)
+[vsprintf, vswprintf](../c-runtime-library/reference/vsprintf-vsprintf-l-vswprintf-vswprintf-l-vswprintf-l.md)\
+[_vsprintf_p, _vsprintf_p_l, _vswprintf_p, _vswprintf_p_l](../c-runtime-library/reference/vsprintf-p-vsprintf-p-l-vswprintf-p-vswprintf-p-l.md)\
+[vsprintf_s, _vsprintf_s_l, vswprintf_s, _vswprintf_s_l](../c-runtime-library/reference/vsprintf-s-vsprintf-s-l-vswprintf-s-vswprintf-s-l.md)
## Remarks
diff --git a/docs/code-quality/annotating-function-parameters-and-return-values.md b/docs/code-quality/annotating-function-parameters-and-return-values.md
index 835ae7f370c..bd9ffdd4534 100644
--- a/docs/code-quality/annotating-function-parameters-and-return-values.md
+++ b/docs/code-quality/annotating-function-parameters-and-return-values.md
@@ -266,15 +266,37 @@ For the annotations in the following table, when a pointer parameter is annotate
When a pointer parameter annotation includes `_opt_`, it indicates that the parameter may be null. Otherwise, the annotation behaves the same as the version that doesn't include `_opt_`. Here is a list of the `_opt_` variants of the pointer parameter annotations:
:::row:::
- :::column:::
- `_In_opt_`
`_Out_opt_`
`_Inout_opt_`
`_In_opt_z_`
`_Inout_opt_z_`
`_In_reads_opt_`
`_In_reads_bytes_opt_`
`_In_reads_opt_z_`
- :::column-end:::
- :::column:::
- `_Out_writes_opt_`
`_Out_writes_opt_z_`
`_Inout_updates_opt_`
`_Inout_updates_bytes_opt_`
`_Inout_updates_opt_z_`
`_Out_writes_to_opt_`
`_Out_writes_bytes_to_opt_`
`_Out_writes_all_opt_`
`_Out_writes_bytes_all_opt_`
- :::column-end:::
- :::column:::
- `_Inout_updates_to_opt_`
`_Inout_updates_bytes_to_opt_`
`_Inout_updates_all_opt_`
`_Inout_updates_bytes_all_opt_`
`_In_reads_to_ptr_opt_`
`_In_reads_to_ptr_opt_z_`
`_Out_writes_to_ptr_opt_`
`_Out_writes_to_ptr_opt_z_`
- :::column-end:::
+ :::column:::
+ `_In_opt_`\
+ `_Out_opt_`\
+ `_Inout_opt_`\
+ `_In_opt_z_`\
+ `_Inout_opt_z_`\
+ `_In_reads_opt_`\
+ `_In_reads_bytes_opt_`\
+ `_In_reads_opt_z_`
+ :::column-end:::
+ :::column:::
+ `_Out_writes_opt_`\
+ `_Out_writes_opt_z_`\
+ `_Inout_updates_opt_`\
+ `_Inout_updates_bytes_opt_`\
+ `_Inout_updates_opt_z_`\
+ `_Out_writes_to_opt_`\
+ `_Out_writes_bytes_to_opt_`\
+ `_Out_writes_all_opt_`\
+ `_Out_writes_bytes_all_opt_`
+ :::column-end:::
+ :::column:::
+ `_Inout_updates_to_opt_`\
+ `_Inout_updates_bytes_to_opt_`\
+ `_Inout_updates_all_opt_`\
+ `_Inout_updates_bytes_all_opt_`\
+ `_In_reads_to_ptr_opt_`\
+ `_In_reads_to_ptr_opt_z_`\
+ `_Out_writes_to_ptr_opt_`\
+ `_Out_writes_to_ptr_opt_z_`
+ :::column-end:::
:::row-end:::
## Output pointer parameters
@@ -433,12 +455,25 @@ A common use of the reference parameter is for output parameters. For simple out
The return value of a function resembles an `_Out_` parameter but is at a different level of de-reference, and you don't have to consider the concept of the pointer to the result. For the following annotations, the return value is the annotated object—a scalar, a pointer to a struct, or a pointer to a buffer. These annotations have the same semantics as the corresponding `_Out_` annotation.
:::row:::
- :::column:::
- `_Ret_z_`
`_Ret_writes_(s)`
`_Ret_writes_bytes_(s)`
`_Ret_writes_z_(s)`
`_Ret_writes_to_(s,c)`
`_Ret_writes_maybenull_(s)`
`_Ret_writes_to_maybenull_(s)`
`_Ret_writes_maybenull_z_(s)`
- :::column-end:::
- :::column:::
- `_Ret_maybenull_`
`_Ret_maybenull_z_`
`_Ret_null_`
`_Ret_notnull_`
`_Ret_writes_bytes_to_`
`_Ret_writes_bytes_maybenull_`
`_Ret_writes_bytes_to_maybenull_`
- :::column-end:::
+ :::column:::
+ `_Ret_z_`\
+ `_Ret_writes_(s)`\
+ `_Ret_writes_bytes_(s)`\
+ `_Ret_writes_z_(s)`\
+ `_Ret_writes_to_(s,c)`\
+ `_Ret_writes_maybenull_(s)`\
+ `_Ret_writes_to_maybenull_(s)`\
+ `_Ret_writes_maybenull_z_(s)`
+ :::column-end:::
+ :::column:::
+ `_Ret_maybenull_`\
+ `_Ret_maybenull_z_`\
+ `_Ret_null_`\
+ `_Ret_notnull_`\
+ `_Ret_writes_bytes_to_`\
+ `_Ret_writes_bytes_maybenull_`\
+ `_Ret_writes_bytes_to_maybenull_`
+ :::column-end:::
:::row-end:::
## Format string parameters
diff --git a/docs/code-quality/clang-tidy.md b/docs/code-quality/clang-tidy.md
index 78080641802..304882e9d07 100644
--- a/docs/code-quality/clang-tidy.md
+++ b/docs/code-quality/clang-tidy.md
@@ -3,10 +3,7 @@ title: Using Clang-Tidy in Visual Studio
description: "How to use Clang-Tidy in Visual Studio for Microsoft C++ code analysis."
ms.date: 02/19/2020
ms.topic: "conceptual"
-f1_keywords:
- - "vs.codeanalysis.clangtidy"
-author: frozenpandaman
-ms.author: efessler
+f1_keywords: ["vs.codeanalysis.clangtidy"]
---
# Using Clang-Tidy in Visual Studio
@@ -34,7 +31,7 @@ For more information, see [How to: Set Code Analysis Properties for C/C++ Projec
## CMake
-In CMake projects, you can configure Clang-Tidy checks within `CMakeSettings.json`. Once opened, click "Edit JSON" in the top right-hand corner of the CMake Project Settings Editor. The following keys are recognized:
+In CMake projects, you can configure Clang-Tidy checks within `CMakeSettings.json`. Once opened, select "Edit JSON" in the top right-hand corner of the CMake Project Settings Editor. The following keys are recognized:
- `enableMicrosoftCodeAnalysis`: Enables Microsoft Code Analysis
- `enableClangTidyCodeAnalysis`: Enables Clang-Tidy analysis
@@ -48,7 +45,7 @@ Clang-Tidy runs result in warnings displayed in the Error List, and as in-editor
## Clang-Tidy configuration
-You can configure the checks that clang-tidy runs inside Visual Studio via the **Clang-Tidy Checks** option. This input is provided to the **--checks** argument of the tool. Any further configuration can be included in custom *`.clang-tidy`* files. For more information, see the [Clang-Tidy documentation on LLVM.org](https://clang.llvm.org/extra/clang-tidy/).
+You can configure the checks that clang-tidy runs inside Visual Studio via the **Clang-Tidy Checks** option. This input is provided to the **`--checks`** argument of the tool. Any further configuration can be included in custom *`.clang-tidy`* files. For more information, see the [Clang-Tidy documentation on LLVM.org](https://clang.llvm.org/extra/clang-tidy/).
## See also
diff --git a/docs/cpp/bstr-t-class.md b/docs/cpp/bstr-t-class.md
index 867b7baaad2..c093be26555 100644
--- a/docs/cpp/bstr-t-class.md
+++ b/docs/cpp/bstr-t-class.md
@@ -13,32 +13,32 @@ A `_bstr_t` object encapsulates the [BSTR data type](/previous-versions/windows/
### Construction
-|||
-|-|-|
-|[_bstr_t](../cpp/bstr-t-bstr-t.md)|Constructs a `_bstr_t` object.|
+| Constructor | Description |
+|--|--|
+| [_bstr_t](../cpp/bstr-t-bstr-t.md) | Constructs a `_bstr_t` object. |
### Operations
-|||
-|-|-|
-|[Assign](../cpp/bstr-t-assign.md)|Copies a `BSTR` into the `BSTR` wrapped by a `_bstr_t`.|
-|[Attach](../cpp/bstr-t-attach.md)|Links a `_bstr_t` wrapper to a `BSTR`.|
-|[copy](../cpp/bstr-t-copy.md)|Constructs a copy of the encapsulated `BSTR`.|
-|[Detach](../cpp/bstr-t-detach.md)|Returns the `BSTR` wrapped by a `_bstr_t` and detaches the `BSTR` from the `_bstr_t`.|
-|[GetAddress](../cpp/bstr-t-getaddress.md)|Points to the `BSTR` wrapped by a `_bstr_t`.|
-|[GetBSTR](../cpp/bstr-t-getbstr.md)|Points to the beginning of the `BSTR` wrapped by the `_bstr_t`.|
-|[length](../cpp/bstr-t-length.md)|Returns the number of characters in the `_bstr_t`.|
+| Function | Description |
+|--|--|
+| [Assign](../cpp/bstr-t-assign.md) | Copies a `BSTR` into the `BSTR` wrapped by a `_bstr_t`. |
+| [Attach](../cpp/bstr-t-attach.md) | Links a `_bstr_t` wrapper to a `BSTR`. |
+| [copy](../cpp/bstr-t-copy.md) | Constructs a copy of the encapsulated `BSTR`. |
+| [Detach](../cpp/bstr-t-detach.md) | Returns the `BSTR` wrapped by a `_bstr_t` and detaches the `BSTR` from the `_bstr_t`. |
+| [GetAddress](../cpp/bstr-t-getaddress.md) | Points to the `BSTR` wrapped by a `_bstr_t`. |
+| [GetBSTR](../cpp/bstr-t-getbstr.md) | Points to the beginning of the `BSTR` wrapped by the `_bstr_t`. |
+| [length](../cpp/bstr-t-length.md) | Returns the number of characters in the `_bstr_t`. |
### Operators
-|||
-|-|-|
-|[operator =](../cpp/bstr-t-operator-equal.md)|Assigns a new value to an existing `_bstr_t` object.|
-|[operator +=](../cpp/bstr-t-operator-add-equal-plus.md)|Appends characters to the end of the `_bstr_t` object.|
-|[operator +](../cpp/bstr-t-operator-add-equal-plus.md)|Concatenates two strings.|
-|[operator !](../cpp/bstr-t-operator-logical-not.md)|Checks if the encapsulated `BSTR` is a NULL string.|
-|[operator ==, !=, \<, >, \<=, >=](../cpp/bstr-t-relational-operators.md)|Compares two `_bstr_t` objects.|
-|[operator wchar_t* | char\*](../cpp/bstr-t-wchar-t-star-bstr-t-char-star.md)|Extract the pointers to the encapsulated Unicode or multibyte `BSTR` object.|
+| Operator | Description |
+|--|--|
+| [operator =](../cpp/bstr-t-operator-equal.md) | Assigns a new value to an existing `_bstr_t` object. |
+| [operator +=](../cpp/bstr-t-operator-add-equal-plus.md) | Appends characters to the end of the `_bstr_t` object. |
+| [operator +](../cpp/bstr-t-operator-add-equal-plus.md) | Concatenates two strings. |
+| [operator !](../cpp/bstr-t-operator-logical-not.md) | Checks if the encapsulated `BSTR` is a NULL string. |
+| [operator ==, !=, \<, >, \<=, >=](../cpp/bstr-t-relational-operators.md) | Compares two `_bstr_t` objects. |
+| [operator wchar_t* | char\*](../cpp/bstr-t-wchar-t-star-bstr-t-char-star.md) | Extract the pointers to the encapsulated Unicode or multibyte `BSTR` object. |
**END Microsoft Specific**
diff --git a/docs/cpp/com-error-class.md b/docs/cpp/com-error-class.md
index 2f93654cce1..f8aaad2ff60 100644
--- a/docs/cpp/com-error-class.md
+++ b/docs/cpp/com-error-class.md
@@ -13,19 +13,19 @@ A **_com_error** object represents an exception condition detected by the error-
### Construction
-|||
+| Name | Description |
|-|-|
|[_com_error](../cpp/com-error-com-error.md)|Constructs a **_com_error** object.|
### Operators
-|||
+| Name | Description |
|-|-|
|[operator =](../cpp/com-error-operator-equal.md)|Assigns an existing **_com_error** object to another.|
### Extractor Functions
-|||
+| Name | Description |
|-|-|
|[Error](../cpp/com-error-error.md)|Retrieves the HRESULT passed to the constructor.|
|[ErrorInfo](../cpp/com-error-errorinfo.md)|Retrieves the `IErrorInfo` object passed to the constructor.|
@@ -33,7 +33,7 @@ A **_com_error** object represents an exception condition detected by the error-
### IErrorInfo Functions
-|||
+| Name | Description |
|-|-|
|[Description](../cpp/com-error-description.md)|Calls `IErrorInfo::GetDescription` function.|
|[HelpContext](../cpp/com-error-helpcontext.md)|Calls `IErrorInfo::GetHelpContext` function.|
@@ -43,13 +43,13 @@ A **_com_error** object represents an exception condition detected by the error-
### Format Message Extractor
-|||
+| Name | Description |
|-|-|
|[ErrorMessage](../cpp/com-error-errormessage.md)|Retrieves the string message for HRESULT stored in the **_com_error** object.|
### ExepInfo.wCode to HRESULT Mappers
-|||
+| Name | Description |
|-|-|
|[HRESULTToWCode](../cpp/com-error-hresulttowcode.md)|Maps 32-bit HRESULT to 16-bit `wCode`.|
|[WCodeToHRESULT](../cpp/com-error-wcodetohresult.md)|Maps 16-bit `wCode` to 32-bit HRESULT.|
diff --git a/docs/cpp/com-ptr-t-class.md b/docs/cpp/com-ptr-t-class.md
index 66a625ddd9e..e5c93a4e550 100644
--- a/docs/cpp/com-ptr-t-class.md
+++ b/docs/cpp/com-ptr-t-class.md
@@ -23,13 +23,13 @@ A set of [function templates](../cpp/relational-function-templates.md), not memb
### Construction
-|||
+| Name | Description |
|-|-|
|[_com_ptr_t](../cpp/com-ptr-t-com-ptr-t.md)|Constructs a **_com_ptr_t** object.|
### Low-Level Operations
-|||
+| Name | Description |
|-|-|
|[AddRef](../cpp/com-ptr-t-addref.md)|Calls the `AddRef` member function of `IUnknown` on the encapsulated interface pointer.|
|[Attach](../cpp/com-ptr-t-attach.md)|Encapsulates a raw interface pointer of this smart pointer's type.|
@@ -42,7 +42,7 @@ A set of [function templates](../cpp/relational-function-templates.md), not memb
### Operators
-|||
+| Name | Description |
|-|-|
|[operator =](../cpp/com-ptr-t-operator-equal.md)|Assigns a new value to an existing **_com_ptr_t** object.|
|[operators ==, !=, \<, >, \<=, >=](../cpp/com-ptr-t-relational-operators.md)|Compare the smart pointer object to another smart pointer, raw interface pointer, or NULL.|
diff --git a/docs/cpp/keywords-cpp.md b/docs/cpp/keywords-cpp.md
index 504b64ecc0b..b630d1371d6 100644
--- a/docs/cpp/keywords-cpp.md
+++ b/docs/cpp/keywords-cpp.md
@@ -14,105 +14,105 @@ Keywords are predefined reserved identifiers that have special meanings. They ca
:::row:::
:::column:::
- [`alignas`](align-cpp.md)
- [`alignof`](alignof-operator.md)
- [`and`](bitwise-and-operator-amp.md) b
- [`and_eq`](assignment-operators.md) b
- [`asm`](../assembler/inline/asm.md) a
- [`auto`](auto-keyword.md)
- [`bitand`](bitwise-and-operator-amp.md) b
- [`bitor`](bitwise-inclusive-or-operator-pipe.md) b
- [`bool`](bool-cpp.md)
- [`break`](break-statement-cpp.md)
- [`case`](switch-statement-cpp.md)
- [`catch`](try-throw-and-catch-statements-cpp.md)
- [`char`](fundamental-types-cpp.md)
- [`char8_t`](fundamental-types-cpp.md) c
- [`char16_t`](char-wchar-t-char16-t-char32-t.md)
- [`char32_t`](char-wchar-t-char16-t-char32-t.md)
- [`class`](class-cpp.md)
- [`compl`](one-s-complement-operator-tilde.md) b
- **`concept`** c
- [`const`](const-cpp.md)
- [`const_cast`](const-cast-operator.md)
- **`consteval`** c
- [`constexpr`](constexpr-cpp.md)
+ [`alignas`](align-cpp.md)\
+ [`alignof`](alignof-operator.md)\
+ [`and`](bitwise-and-operator-amp.md) b\
+ [`and_eq`](assignment-operators.md) b\
+ [`asm`](../assembler/inline/asm.md) a\
+ [`auto`](auto-keyword.md)\
+ [`bitand`](bitwise-and-operator-amp.md) b\
+ [`bitor`](bitwise-inclusive-or-operator-pipe.md) b\
+ [`bool`](bool-cpp.md)\
+ [`break`](break-statement-cpp.md)\
+ [`case`](switch-statement-cpp.md)\
+ [`catch`](try-throw-and-catch-statements-cpp.md)\
+ [`char`](fundamental-types-cpp.md)\
+ [`char8_t`](fundamental-types-cpp.md) c\
+ [`char16_t`](char-wchar-t-char16-t-char32-t.md)\
+ [`char32_t`](char-wchar-t-char16-t-char32-t.md)\
+ [`class`](class-cpp.md)\
+ [`compl`](one-s-complement-operator-tilde.md) b\
+ **`concept`** c\
+ [`const`](const-cpp.md)\
+ [`const_cast`](const-cast-operator.md)\
+ **`consteval`** c\
+ [`constexpr`](constexpr-cpp.md)
:::column-end:::
:::column:::
- **`constinit`** c
- [`continue`](continue-statement-cpp.md)
- **`co_await`** c
- **`co_return`** c
- **`co_yield`** c
- [`decltype`](decltype-cpp.md)
- [`default`](switch-statement-cpp.md)
- [`delete`](delete-operator-cpp.md)
- [`do`](do-while-statement-cpp.md)
- [`double`](fundamental-types-cpp.md)
- [`dynamic_cast`](dynamic-cast-operator.md)
- [`else`](if-else-statement-cpp.md)
- [`enum`](enumerations-cpp.md)
- [`explicit`](user-defined-type-conversions-cpp.md)
- **`export`** c
- [`extern`](using-extern-to-specify-linkage.md)
- [`false`](false-cpp.md)
- [`float`](fundamental-types-cpp.md)
- [`for`](for-statement-cpp.md)
- [`friend`](friend-cpp.md)
- [`goto`](goto-statement-cpp.md)
- [`if`](if-else-statement-cpp.md)
- [`inline`](inline-functions-cpp.md)
+ **`constinit`** c\
+ [`continue`](continue-statement-cpp.md)\
+ **`co_await`** c\
+ **`co_return`** c\
+ **`co_yield`** c\
+ [`decltype`](decltype-cpp.md)\
+ [`default`](switch-statement-cpp.md)\
+ [`delete`](delete-operator-cpp.md)\
+ [`do`](do-while-statement-cpp.md)\
+ [`double`](fundamental-types-cpp.md)\
+ [`dynamic_cast`](dynamic-cast-operator.md)\
+ [`else`](if-else-statement-cpp.md)\
+ [`enum`](enumerations-cpp.md)\
+ [`explicit`](user-defined-type-conversions-cpp.md)\
+ **`export`** c\
+ [`extern`](using-extern-to-specify-linkage.md)\
+ [`false`](false-cpp.md)\
+ [`float`](fundamental-types-cpp.md)\
+ [`for`](for-statement-cpp.md)\
+ [`friend`](friend-cpp.md)\
+ [`goto`](goto-statement-cpp.md)\
+ [`if`](if-else-statement-cpp.md)\
+ [`inline`](inline-functions-cpp.md)
:::column-end:::
:::column:::
- [`int`](fundamental-types-cpp.md)
- [`long`](fundamental-types-cpp.md)
- [`mutable`](mutable-data-members-cpp.md)
- [`namespace`](namespaces-cpp.md)
- [`new`](new-operator-cpp.md)
- [`noexcept`](noexcept-cpp.md)
- [`not`](logical-negation-operator-exclpt.md) b
- [`not_eq`](equality-operators-equal-equal-and-exclpt-equal.md) b
- [`nullptr`](nullptr.md)
- [`operator`](operator-overloading.md)
- [`or`](logical-or-operator-pipe-pipe.md) b
- [`or_eq`](assignment-operators.md) b
- [`private`](private-cpp.md)
- [`protected`](protected-cpp.md)
- [`public`](public-cpp.md)
+ [`int`](fundamental-types-cpp.md)\
+ [`long`](fundamental-types-cpp.md)\
+ [`mutable`](mutable-data-members-cpp.md)\
+ [`namespace`](namespaces-cpp.md)\
+ [`new`](new-operator-cpp.md)\
+ [`noexcept`](noexcept-cpp.md)\
+ [`not`](logical-negation-operator-exclpt.md) b\
+ [`not_eq`](equality-operators-equal-equal-and-exclpt-equal.md) b\
+ [`nullptr`](nullptr.md)\
+ [`operator`](operator-overloading.md)\
+ [`or`](logical-or-operator-pipe-pipe.md) b\
+ [`or_eq`](assignment-operators.md) b\
+ [`private`](private-cpp.md)\
+ [`protected`](protected-cpp.md)\
+ [`public`](public-cpp.md)\
[`register`](storage-classes-cpp.md#register)
- [`reinterpret_cast`](reinterpret-cast-operator.md)
- **`requires`** c
- [`return`](return-statement-cpp.md)
- [`short`](fundamental-types-cpp.md)
- [`signed`](fundamental-types-cpp.md)
- [`sizeof`](sizeof-operator.md)
- [`static`](storage-classes-cpp.md)
- [`static_assert`](static-assert.md)
+ [`reinterpret_cast`](reinterpret-cast-operator.md)\
+ **`requires`** c\
+ [`return`](return-statement-cpp.md)\
+ [`short`](fundamental-types-cpp.md)\
+ [`signed`](fundamental-types-cpp.md)\
+ [`sizeof`](sizeof-operator.md)\
+ [`static`](storage-classes-cpp.md)\
+ [`static_assert`](static-assert.md)
:::column-end:::
:::column:::
- [`static_cast`](static-cast-operator.md)
- [`struct`](struct-cpp.md)
- [`switch`](switch-statement-cpp.md)
- [`template`](templates-cpp.md)
- [`this`](this-pointer.md)
- [`thread_local`](storage-classes-cpp.md#thread_local)
- [`throw`](try-throw-and-catch-statements-cpp.md)
- [`true`](true-cpp.md)
- [`try`](try-throw-and-catch-statements-cpp.md)
- [`typedef`](aliases-and-typedefs-cpp.md)
- [`typeid`](typeid-operator.md)
- [`typename`](typename.md)
- [`union`](unions.md)
- [`unsigned`](fundamental-types-cpp.md)
- [`using`](using-declaration.md) declaration
- [`using`](namespaces-cpp.md#using_directives) directive
- [`virtual`](virtual-cpp.md)
- [`void`](void-cpp.md)
- [`volatile`](volatile-cpp.md)
- [`wchar_t`](fundamental-types-cpp.md)
- [`while`](while-statement-cpp.md)
- [`xor`](bitwise-exclusive-or-operator-hat.md) b
- [`xor_eq`](assignment-operators.md) b
+ [`static_cast`](static-cast-operator.md)\
+ [`struct`](struct-cpp.md)\
+ [`switch`](switch-statement-cpp.md)\
+ [`template`](templates-cpp.md)\
+ [`this`](this-pointer.md)\
+ [`thread_local`](storage-classes-cpp.md#thread_local)\
+ [`throw`](try-throw-and-catch-statements-cpp.md)\
+ [`true`](true-cpp.md)\
+ [`try`](try-throw-and-catch-statements-cpp.md)\
+ [`typedef`](aliases-and-typedefs-cpp.md)\
+ [`typeid`](typeid-operator.md)\
+ [`typename`](typename.md)\
+ [`union`](unions.md)\
+ [`unsigned`](fundamental-types-cpp.md)\
+ [`using`](using-declaration.md) declaration\
+ [`using`](namespaces-cpp.md#using_directives) directive\
+ [`virtual`](virtual-cpp.md)\
+ [`void`](void-cpp.md)\
+ [`volatile`](volatile-cpp.md)\
+ [`wchar_t`](fundamental-types-cpp.md)\
+ [`while`](while-statement-cpp.md)\
+ [`xor`](bitwise-exclusive-or-operator-hat.md) b\
+ [`xor_eq`](assignment-operators.md) b
:::column-end:::
:::row-end:::
@@ -136,55 +136,55 @@ The **`__based`** keyword has limited uses for 32-bit and 64-bit target compilat
:::row:::
:::column:::
- [`__alignof`](alignof-operator.md) e
- [`__asm`](../assembler/inline/asm.md) e
- [`__assume`](../intrinsics/assume.md) e
- [`__based`](based-pointers-cpp.md) e
- [`__cdecl`](cdecl.md) e
- [`__declspec`](declspec.md) e
- [`__event`](event.md)
- [`__except`](try-except-statement.md) e
- [`__fastcall`](fastcall.md) e
- [`__finally`](try-finally-statement.md) e
- [`__forceinline`](inline-functions-cpp.md) e
+ [`__alignof`](alignof-operator.md) e\
+ [`__asm`](../assembler/inline/asm.md) e\
+ [`__assume`](../intrinsics/assume.md) e\
+ [`__based`](based-pointers-cpp.md) e\
+ [`__cdecl`](cdecl.md) e\
+ [`__declspec`](declspec.md) e\
+ [`__event`](event.md)\
+ [`__except`](try-except-statement.md) e\
+ [`__fastcall`](fastcall.md) e\
+ [`__finally`](try-finally-statement.md) e\
+ [`__forceinline`](inline-functions-cpp.md) e
:::column-end:::
:::column:::
- [`__hook`](hook.md) d
- [`__if_exists`](if-exists-statement.md)
- [`__if_not_exists`](if-not-exists-statement.md)
- [`__inline`](inline-functions-cpp.md) e
- [`__int16`](int8-int16-int32-int64.md) e
- [`__int32`](int8-int16-int32-int64.md) e
- [`__int64`](int8-int16-int32-int64.md) e
- [`__int8`](int8-int16-int32-int64.md) e
- [`__interface`](interface.md)
- [`__leave`](try-finally-statement.md) e
- [`__m128`](m128.md)
+ [`__hook`](hook.md) d\
+ [`__if_exists`](if-exists-statement.md)\
+ [`__if_not_exists`](if-not-exists-statement.md)\
+ [`__inline`](inline-functions-cpp.md) e\
+ [`__int16`](int8-int16-int32-int64.md) e\
+ [`__int32`](int8-int16-int32-int64.md) e\
+ [`__int64`](int8-int16-int32-int64.md) e\
+ [`__int8`](int8-int16-int32-int64.md) e\
+ [`__interface`](interface.md)\
+ [`__leave`](try-finally-statement.md) e\
+ [`__m128`](m128.md)
:::column-end:::
:::column:::
- [`__m128d`](m128d.md)
- [`__m128i`](m128i.md)
- [`__m64`](m64.md)
- [`__multiple_inheritance`](inheritance-keywords.md) e
- [`__ptr32`](ptr32-ptr64.md) e
- [`__ptr64`](ptr32-ptr64.md)e
- [`__raise`](raise.md)
- [`__restrict`](extension-restrict.md) e
- [`__single_inheritance`](inheritance-keywords.md)e
- [`__sptr`](sptr-uptr.md)e
- [`__stdcall`](stdcall.md) e
+ [`__m128d`](m128d.md)\
+ [`__m128i`](m128i.md)\
+ [`__m64`](m64.md)\
+ [`__multiple_inheritance`](inheritance-keywords.md) e\
+ [`__ptr32`](ptr32-ptr64.md) e\
+ [`__ptr64`](ptr32-ptr64.md)e\
+ [`__raise`](raise.md)\
+ [`__restrict`](extension-restrict.md) e\
+ [`__single_inheritance`](inheritance-keywords.md)e\
+ [`__sptr`](sptr-uptr.md)e\
+ [`__stdcall`](stdcall.md) e
:::column-end:::
:::column:::
- [`__super`](super.md)
- [`__thiscall`](thiscall.md)
- [`__unaligned`](unaligned.md) e
- [`__unhook`](unhook.md) d
- [`__uptr`](sptr-uptr.md) e
- [`__uuidof`](uuidof-operator.md) e
- [`__vectorcall`](vectorcall.md) e
- [`__virtual_inheritance`](inheritance-keywords.md) e
- [`__w64`](w64.md) e
- [`__wchar_t`](fundamental-types-cpp.md)
+ [`__super`](super.md)\
+ [`__thiscall`](thiscall.md)\
+ [`__unaligned`](unaligned.md) e\
+ [`__unhook`](unhook.md) d\
+ [`__uptr`](sptr-uptr.md) e\
+ [`__uuidof`](uuidof-operator.md) e\
+ [`__vectorcall`](vectorcall.md) e\
+ [`__virtual_inheritance`](inheritance-keywords.md) e\
+ [`__w64`](w64.md) e\
+ [`__wchar_t`](fundamental-types-cpp.md)
:::column-end:::
:::row-end:::
@@ -198,34 +198,34 @@ These identifiers are extended attributes for the **`__declspec`** modifier. The
:::row:::
:::column:::
- [`align`](align-cpp.md)
- [`allocate`](allocate.md)
- [`allocator`](allocator.md)
- [`appdomain`](appdomain.md)
- [`code_seg`](code-seg-declspec.md)
+ [`align`](align-cpp.md)\
+ [`allocate`](allocate.md)\
+ [`allocator`](allocator.md)\
+ [`appdomain`](appdomain.md)\
+ [`code_seg`](code-seg-declspec.md)\
[`deprecated`](deprecated-cpp.md)
:::column-end:::
:::column:::
- [`dllexport`](dllexport-dllimport.md)
- [`dllimport`](dllexport-dllimport.md)
- [`jitintrinsic`](jitintrinsic.md)
- [`naked`](naked-cpp.md)
- [`noalias`](noalias.md)
+ [`dllexport`](dllexport-dllimport.md)\
+ [`dllimport`](dllexport-dllimport.md)\
+ [`jitintrinsic`](jitintrinsic.md)\
+ [`naked`](naked-cpp.md)\
+ [`noalias`](noalias.md)\
[`noinline`](noinline.md)
:::column-end:::
:::column:::
- [`noreturn`](noreturn.md)
- [`nothrow`](nothrow-cpp.md)
- [`novtable`](novtable.md)
- [`process`](process.md)
- [`property`](property-cpp.md)
+ [`noreturn`](noreturn.md)\
+ [`nothrow`](nothrow-cpp.md)\
+ [`novtable`](novtable.md)\
+ [`process`](process.md)\
+ [`property`](property-cpp.md)\
[`restrict`](restrict.md)
:::column-end:::
:::column:::
- [`safebuffers`](safebuffers.md)
- [`selectany`](selectany.md)
- [`spectre`](spectre.md)
- [`thread`](thread.md)
+ [`safebuffers`](safebuffers.md)\
+ [`selectany`](selectany.md)\
+ [`spectre`](spectre.md)\
+ [`thread`](thread.md)\
[`uuid`](uuid-cpp.md)
:::column-end:::
:::row-end:::
@@ -234,49 +234,49 @@ These identifiers are extended attributes for the **`__declspec`** modifier. The
:::row:::
:::column:::
- [`__abstract`](../dotnet/declaration-of-a-managed-class-type.md) f
- [`__box`](../dotnet/value-type-semantics.md) f
- [`__delegate`](../dotnet/delegates-and-events.md) f
- [`__gc`](../dotnet/declaration-of-a-clr-reference-class-object.md) f
- [`__identifier`](../extensions/identifier-cpp-cli.md)
- [`__nogc`](../dotnet/declaration-of-a-clr-reference-class-object.md) f
- [`__noop`](../intrinsics/noop.md)
- **`__pin`** f
- **`__property`** f
- **`__sealed`** f
+ [`__abstract`](../dotnet/declaration-of-a-managed-class-type.md) f\
+ [`__box`](../dotnet/value-type-semantics.md) f\
+ [`__delegate`](../dotnet/delegates-and-events.md) f\
+ [`__gc`](../dotnet/declaration-of-a-clr-reference-class-object.md) f\
+ [`__identifier`](../extensions/identifier-cpp-cli.md)\
+ [`__nogc`](../dotnet/declaration-of-a-clr-reference-class-object.md) f\
+ [`__noop`](../intrinsics/noop.md)\
+ **`__pin`** f\
+ **`__property`** f\
+ **`__sealed`** f
:::column-end:::
:::column:::
- [`__try_cast`](../dotnet/cast-notation-and-introduction-of-safe-cast-angles.md) f
- [`__value`](../dotnet/value-type-semantics.md) f
- [`abstract`](../extensions/abstract-cpp-component-extensions.md) g
- [`array`](../extensions/arrays-cpp-component-extensions.md) g
- [`as_friend`](../preprocessor/hash-using-directive-cpp.md)
- [`delegate`](../extensions/delegate-cpp-component-extensions.md) g
- [`enum class`](../extensions/enum-class-cpp-component-extensions.md)
- [`enum struct`](../extensions/enum-class-cpp-component-extensions.md)
- [`event`](../extensions/event-cpp-component-extensions.md) g
+ [`__try_cast`](../dotnet/cast-notation-and-introduction-of-safe-cast-angles.md) f\
+ [`__value`](../dotnet/value-type-semantics.md) f\
+ [`abstract`](../extensions/abstract-cpp-component-extensions.md) g\
+ [`array`](../extensions/arrays-cpp-component-extensions.md) g\
+ [`as_friend`](../preprocessor/hash-using-directive-cpp.md)\
+ [`delegate`](../extensions/delegate-cpp-component-extensions.md) g\
+ [`enum class`](../extensions/enum-class-cpp-component-extensions.md)\
+ [`enum struct`](../extensions/enum-class-cpp-component-extensions.md)\
+ [`event`](../extensions/event-cpp-component-extensions.md) g
:::column-end:::
:::column:::
- [`finally`](../dotnet/finally.md)
- [`for each in`](../dotnet/for-each-in.md)
- [`gcnew`](../extensions/ref-new-gcnew-cpp-component-extensions.md) g
- [`generic`](../extensions/generics-cpp-component-extensions.md) g
- [`initonly`](../dotnet/initonly-cpp-cli.md)
- [`interface class`](../extensions/interface-class-cpp-component-extensions.md) g
- [`interface struct`](../extensions/interface-class-cpp-component-extensions.md) g
- [`interior_ptr`](../extensions/interior-ptr-cpp-cli.md) g
- [`literal`](../extensions/literal-cpp-component-extensions.md) g
+ [`finally`](../dotnet/finally.md)\
+ [`for each in`](../dotnet/for-each-in.md)\
+ [`gcnew`](../extensions/ref-new-gcnew-cpp-component-extensions.md) g\
+ [`generic`](../extensions/generics-cpp-component-extensions.md) g\
+ [`initonly`](../dotnet/initonly-cpp-cli.md)\
+ [`interface class`](../extensions/interface-class-cpp-component-extensions.md) g\
+ [`interface struct`](../extensions/interface-class-cpp-component-extensions.md) g\
+ [`interior_ptr`](../extensions/interior-ptr-cpp-cli.md) g\
+ [`literal`](../extensions/literal-cpp-component-extensions.md) g
:::column-end:::
:::column:::
- [`new`](../extensions/new-new-slot-in-vtable-cpp-component-extensions.md) g
- [`property`](../extensions/property-cpp-component-extensions.md) g
- [`ref class`](../extensions/classes-and-structs-cpp-component-extensions.md)
- [`ref struct`](../extensions/classes-and-structs-cpp-component-extensions.md)
- [`safecast`](../extensions/safe-cast-cpp-component-extensions.md)
- [`sealed`](../extensions/sealed-cpp-component-extensions.md) g
- [`typeid`](../extensions/typeid-cpp-component-extensions.md)
- [`value class`](../extensions/classes-and-structs-cpp-component-extensions.md) g
- [`value struct`](../extensions/classes-and-structs-cpp-component-extensions.md) g
+ [`new`](../extensions/new-new-slot-in-vtable-cpp-component-extensions.md) g\
+ [`property`](../extensions/property-cpp-component-extensions.md) g\
+ [`ref class`](../extensions/classes-and-structs-cpp-component-extensions.md)\
+ [`ref struct`](../extensions/classes-and-structs-cpp-component-extensions.md)\
+ [`safecast`](../extensions/safe-cast-cpp-component-extensions.md)\
+ [`sealed`](../extensions/sealed-cpp-component-extensions.md) g\
+ [`typeid`](../extensions/typeid-cpp-component-extensions.md)\
+ [`value class`](../extensions/classes-and-structs-cpp-component-extensions.md) g\
+ [`value struct`](../extensions/classes-and-structs-cpp-component-extensions.md) g
:::column-end:::
:::row-end:::
diff --git a/docs/cpp/overview-of-cpp-statements.md b/docs/cpp/overview-of-cpp-statements.md
index 8bd1fc68afe..a6079319c47 100644
--- a/docs/cpp/overview-of-cpp-statements.md
+++ b/docs/cpp/overview-of-cpp-statements.md
@@ -10,31 +10,52 @@ C++ statements are executed sequentially, except when an expression statement, a
Statements may be of the following types:
-```
-labeled-statement
-expression-statement
-compound-statement
-selection-statement
-iteration-statement
-jump-statement
-declaration-statement
-try-throw-catch
-```
-
-In most cases, the C++ statement syntax is identical to that of ANSI C. The primary difference between the two is that in C, declarations are allowed only at the start of a block; C++ adds the *declaration-statement*, which effectively removes this restriction. This enables you to introduce variables at a point in the program where a precomputed initialization value can be calculated.
+> *`labeled-statement`*\
+> *`expression-statement`*\
+> *`compound-statement`*\
+> *`selection-statement`*\
+> *`iteration-statement`*\
+> *`jump-statement`*\
+> *`declaration-statement`*\
+> *`try-throw-catch`*
-Declaring variables inside blocks also allows you to exercise precise control over the scope and lifetime of those variables.
+In most cases, the C++ statement syntax is identical to that of ANSI C89. The primary difference between the two is that in C89, declarations are allowed only at the start of a block; C++ adds the *`declaration-statement`*, which effectively removes this restriction. This enables you to introduce variables at a point in the program where a precomputed initialization value can be calculated.
-The topics on statements describe the following C++ keywords:
+Declaring variables inside blocks also allows you to exercise precise control over the scope and lifetime of those variables.
-|||||
-|-|-|-|-|
-|[break](../cpp/break-statement-cpp.md)|[else](../cpp/if-else-statement-cpp.md)|[__if_exists](../cpp/if-exists-statement.md)|[__try](../cpp/structured-exception-handling-c-cpp.md)|
-|[case](../cpp/switch-statement-cpp.md)|[__except](../cpp/structured-exception-handling-c-cpp.md)|[__if_not_exists](../cpp/if-not-exists-statement.md)|[try](../cpp/try-throw-and-catch-statements-cpp.md)|
-|[catch](../cpp/try-throw-and-catch-statements-cpp.md)|[for](../cpp/for-statement-cpp.md)|[__leave](../c-language/try-finally-statement-c.md)|[while](../cpp/while-statement-cpp.md)|
-|[continue](../cpp/continue-statement-cpp.md)|[goto](../cpp/goto-statement-cpp.md)|[return](../cpp/return-statement-cpp.md)||
-|[default](../cpp/switch-statement-cpp.md)|[__finally](../cpp/structured-exception-handling-c-cpp.md)|[switch](../cpp/switch-statement-cpp.md)||
-|[do](../cpp/do-while-statement-cpp.md)|[if](../cpp/if-else-statement-cpp.md)|[throw](../cpp/try-throw-and-catch-statements-cpp.md)||
+The articles on statements describe the following C++ keywords:
+
+:::row:::
+ :::column span="":::
+ [`break`](../cpp/break-statement-cpp.md)\
+ [`case`](../cpp/switch-statement-cpp.md)\
+ [`catch`](../cpp/try-throw-and-catch-statements-cpp.md)\
+ [`continue`](../cpp/continue-statement-cpp.md)\
+ [`default`](../cpp/switch-statement-cpp.md)\
+ [`do`](../cpp/do-while-statement-cpp.md)
+ :::column-end:::
+ :::column span="":::
+ [`else`](../cpp/if-else-statement-cpp.md)\
+ [`__except`](../cpp/structured-exception-handling-c-cpp.md)\
+ [`__finally`](../cpp/structured-exception-handling-c-cpp.md)\
+ [`for`](../cpp/for-statement-cpp.md)\
+ [`goto`](../cpp/goto-statement-cpp.md)
+ :::column-end:::
+ :::column span="":::
+ [`if`](../cpp/if-else-statement-cpp.md)\
+ [`__if_exists`](../cpp/if-exists-statement.md)\
+ [`__if_not_exists`](../cpp/if-not-exists-statement.md)\
+ [`__leave`](../c-language/try-finally-statement-c.md)\
+ [`return`](../cpp/return-statement-cpp.md)
+ :::column-end:::
+ :::column span="":::
+ [`switch`](../cpp/switch-statement-cpp.md)\
+ [`throw`](../cpp/try-throw-and-catch-statements-cpp.md)\
+ [`__try`](../cpp/structured-exception-handling-c-cpp.md)\
+ [`try`](../cpp/try-throw-and-catch-statements-cpp.md)\
+ [`while`](../cpp/while-statement-cpp.md)
+ :::column-end:::
+:::row-end:::
## See also
diff --git a/docs/cpp/rvalue-reference-declarator-amp-amp.md b/docs/cpp/rvalue-reference-declarator-amp-amp.md
index 51212cc9226..f28c93d7574 100644
--- a/docs/cpp/rvalue-reference-declarator-amp-amp.md
+++ b/docs/cpp/rvalue-reference-declarator-amp-amp.md
@@ -383,13 +383,12 @@ This version of the `print_type_and_value` function then forwards its parameter
The following table summarizes the reference collapsing rules for template argument type deduction:
-|||
-|-|-|
-|Expanded type|Collapsed type|
-|`T& &`|`T&`|
-|`T& &&`|`T&`|
-|`T&& &`|`T&`|
-|`T&& &&`|`T&&`|
+| Expanded type | Collapsed type |
+|--|--|
+| `T& &` | `T&` |
+| `T& &&` | `T&` |
+| `T&& &` | `T&` |
+| `T&& &&` | `T&&` |
Template argument deduction is an important element of implementing perfect forwarding. The section Perfect Forwarding, which is presented earlier in this topic, describes perfect forwarding in more detail.
diff --git a/docs/cpp/variant-t-class.md b/docs/cpp/variant-t-class.md
index e49601118af..0214b63a202 100644
--- a/docs/cpp/variant-t-class.md
+++ b/docs/cpp/variant-t-class.md
@@ -13,27 +13,27 @@ A **_variant_t** object encapsulates the `VARIANT` data type. The class manages
### Construction
-|||
-|-|-|
-|[_variant_t](../cpp/variant-t-variant-t.md)|Constructs a **_variant_t** object.|
+| Name | Description |
+|--|--|
+| [_variant_t](../cpp/variant-t-variant-t.md) | Constructs a **_variant_t** object. |
### Operations
-|||
-|-|-|
-|[Attach](../cpp/variant-t-attach.md)|Attaches a `VARIANT` object into the **_variant_t** object.|
-|[Clear](../cpp/variant-t-clear.md)|Clears the encapsulated `VARIANT` object.|
-|[ChangeType](../cpp/variant-t-changetype.md)|Changes the type of the **_variant_t** object to the indicated `VARTYPE`.|
-|[Detach](../cpp/variant-t-detach.md)|Detaches the encapsulated `VARIANT` object from this **_variant_t** object.|
-|[SetString](../cpp/variant-t-setstring.md)|Assigns a string to this **_variant_t** object.|
+| Name | Description |
+|--|--|
+| [Attach](../cpp/variant-t-attach.md) | Attaches a `VARIANT` object into the **_variant_t** object. |
+| [Clear](../cpp/variant-t-clear.md) | Clears the encapsulated `VARIANT` object. |
+| [ChangeType](../cpp/variant-t-changetype.md) | Changes the type of the **_variant_t** object to the indicated `VARTYPE`. |
+| [Detach](../cpp/variant-t-detach.md) | Detaches the encapsulated `VARIANT` object from this **_variant_t** object. |
+| [SetString](../cpp/variant-t-setstring.md) | Assigns a string to this **_variant_t** object. |
### Operators
-|||
-|-|-|
-|[Operator =](../cpp/variant-t-operator-equal.md)|Assigns a new value to an existing **_variant_t** object.|
-|[operator ==, !=](../cpp/variant-t-relational-operators.md)|Compare two **_variant_t** objects for equality or inequality.|
-|[Extractors](../cpp/variant-t-extractors.md)|Extract data from the encapsulated `VARIANT` object.|
+| Name | Description |
+|--|--|
+| [Operator =](../cpp/variant-t-operator-equal.md) | Assigns a new value to an existing **_variant_t** object. |
+| [operator ==, !=](../cpp/variant-t-relational-operators.md) | Compare two **_variant_t** objects for equality or inequality. |
+| [Extractors](../cpp/variant-t-extractors.md) | Extract data from the encapsulated `VARIANT` object. |
**END Microsoft Specific**
diff --git a/docs/cppcx/casting-c-cx.md b/docs/cppcx/casting-c-cx.md
index 660d8ffc330..d66c33977ed 100644
--- a/docs/cppcx/casting-c-cx.md
+++ b/docs/cppcx/casting-c-cx.md
@@ -102,16 +102,16 @@ If you use **`reinterpret_cast`** to convert from oneWindows Runtime interface t
The following table summarizes the cases in which it is safe to use **`reinterpret_cast`**. In every case, the cast is safe in both directions.
-|||
-|-|-|
-|`HSTRING`|`String^`|
-|`HSTRING*`|`String^*`|
-|`IInspectable*`|`Object^`|
-|`IInspectable**`|`Object^*`|
-|`IInspectable-derived-type*`|`same-interface-from-winmd^`|
-|`IInspectable-derived-type**`|`same-interface-from-winmd^*`|
-|`IDefault-interface-of-RuntimeClass*`|`same-RefClass-from-winmd^`|
-|`IDefault-interface-of-RuntimeClass**`|`same-RefClass-from-winmd^*`|
+| Cast from, cast to | Cast to, cast from |
+|--|--|
+| `HSTRING` | `String^` |
+| `HSTRING*` | `String^*` |
+| `IInspectable*` | `Object^` |
+| `IInspectable**` | `Object^*` |
+| `IInspectable-derived-type*` | `same-interface-from-winmd^` |
+| `IInspectable-derived-type**` | `same-interface-from-winmd^*` |
+| `IDefault-interface-of-RuntimeClass*` | `same-RefClass-from-winmd^` |
+| `IDefault-interface-of-RuntimeClass**` | `same-RefClass-from-winmd^*` |
## See also
diff --git a/docs/cppcx/crt-functions-not-supported-in-universal-windows-platform-apps.md b/docs/cppcx/crt-functions-not-supported-in-universal-windows-platform-apps.md
index 91bbf6de999..43c4274445b 100644
--- a/docs/cppcx/crt-functions-not-supported-in-universal-windows-platform-apps.md
+++ b/docs/cppcx/crt-functions-not-supported-in-universal-windows-platform-apps.md
@@ -12,27 +12,27 @@ The following table lists the CRT functions that are unavailable when you build
## Unsupported CRT Functions
-||||
+|Function|Description|Workaround|
|-|-|-|
-|_beep _sleep _seterrormode|These functions were obsolete in previous versions of the CRT. Also, the corresponding Win32 APIs are not available for UWP apps.|No workaround.|
-|chdir _chdrive getcwd|These functions are obsolete or are not thread-safe.|Use _chdir, _getcwd and related functions.|
-|_cgets _cgets_s _cgetws _cgetws_s _cprintf _cprintf_l _cprintf_p _cprintf_p_l _cprintf_s _cprintf_s_l _cputs _cputws _cscanf _cscanf_l _cscanf_s _cscanf_s_l _cwait _cwprintf _cwprintf_l _cwprintf_p _cwprintf_p_l _cwprintf_s _cwprintf_s_l _cwscanf _cwscanf_l _cwscanf_s _cwscanf_s_l _vcprintf _vcprintf_l _vcprintf_p _vcprintf_p_l _vcprintf_s _vcprintf_s_l _vcwprintf _vcwprintf_l _vcwprintf_p _vcwprintf_p_l _vcwprintf_s _vcwprintf_s_l _getch _getch_nolock _getche _getche_nolock _getwch _getwch_nolock _getwche _getwche_nolock _putch _putch_nolock _putwch _putwch_nolock _ungetch _ungetch_nolock _ungetwch _ungetwch_nolock _kbhit kbhit putch cgets cprintf cputs cscanf cwait getch getche ungetch|These functions are used to read and write directly from and to the console. UWP apps are GUI only; they don't support console.|No workaround.|
-|getpid _getpid | These functions are obsolete.|Use the Win32 API `GetCurrentProcessId`.|
-|_getdiskfree|Not available.|Use the Win32 API `GetDiskFreeSpaceExW`.|
-|_getdrive _getdrives|Corresponding API is not available for UWP apps.|No workaround.|
-|_inp _inpd _inpw _outp _outpd _outpw inp inpd inpw outp outpd outpw|Port IO is not supported in UWP apps.|No workaround.|
-|_ismbcalnum _ismbcalnum_l _ismbcalpha _ismbcalpha_l _ismbcdigit _ismbcdigit_l _ismbcgraph _ismbcgraph_l _ismbchira _ismbchira_l _ismbckata _ismbckata_l _ismbcl0 _ismbcl0_l _ismbcl1 _ismbcl1_l _ismbcl2 _ismbcl2_l _ismbclegal _ismbclegal_l _ismbclower _ismbclower_l _ismbcprint _ismbcprint_l _ismbcpunct _ismbcpunct_l _ismbcspace _ismbcspace_l _ismbcsymbol _ismbcsymbol_l _ismbcupper _ismbcupper_l _mbbtombc _mbbtombc_l _mbbtype _mbbtype_l _mbccpy _mbccpy_l _mbccpy_s _mbccpy_s_l _mbcjistojms _mbcjistojms_l _mbcjmstojis _mbcjmstojis_l _mbclen _mbclen_l _mbctohira _mbctohira_l _mbctokata _mbctokata_l _mbctolower _mbctolower_l _mbctombb _mbctombb_l _mbctoupper _mbctoupper_l _mbsbtype _mbsbtype_l _mbscat _mbscat_l _mbscat_s _mbscat_s_l _mbschr _mbschr_l _mbscmp _mbscmp_l _mbscoll _mbscoll_l _mbscpy _mbscpy_l _mbscpy_s _mbscpy_s_l _mbscspn _mbscspn_l _mbsdec _mbsdec_l _mbsicmp _mbsicmp_l _mbsicoll _mbsicoll_l _mbsinc _mbsinc_l _mbslen _mbslen_l _mbslwr _mbslwr_l _mbslwr_s _mbslwr_s_l _mbsnbcat _mbsnbcat_l _mbsnbcat_s _mbsnbcat_s_l _mbsnbcmp _mbsnbcmp_l _mbsnbcnt _mbsnbcnt_l _mbsnbcoll _mbsnbcoll_l _mbsnbcpy _mbsnbcpy_l _mbsnbcpy_s _mbsnbcpy_s_l _mbsnbicmp _mbsnbicmp_l _mbsnbicoll _mbsnbicoll_l _mbsnbset _mbsnbset_l _mbsnbset_s _mbsnbset_s_l _mbsncat _mbsncat_l _mbsncat_s _mbsncat_s_l _mbsnccnt _mbsnccnt_l _mbsncmp _mbsncmp_l _mbsncoll _mbsncoll_l _mbsncpy _mbsncpy_l _mbsncpy_s _mbsncpy_s_l _mbsnextc _mbsnextc_l _mbsnicmp _mbsnicmp_l _mbsnicoll _mbsnicoll_l _mbsninc _mbsninc_l _mbsnlen _mbsnlen_l _mbsnset _mbsnset_l _mbsnset_s _mbsnset_s_l _mbspbrk _mbspbrk_l _mbsrchr _mbsrchr_l _mbsrev _mbsrev_l _mbsset _mbsset_l _mbsset_s _mbsset_s_l _mbsspn _mbsspn_l _mbsspnp _mbsspnp_l _mbsstr _mbsstr_l _mbstok _mbstok_l _mbstok_s _mbstok_s_l _mbsupr _mbsupr_l _mbsupr_s _mbsupr_s_l is_wctype|Multi-byte strings are not supported in UWP apps.|Use Unicode strings instead.|
-|_pclose _pipe _popen _wpopen|Pipe functionality is not available to UWP apps.|No workaround.|
-|_resetstkoflw|Supporting Win32 APIs are not available for UWP apps.|No workaround.|
-|_getsystime _setsystime|These were obsolete APIs in previous CRT versions. Also, a user cannot set the system time in a UWP app due to lack of permissions.|To get the system time only, use the Win32 API `GetSystemTime`. System time cannot be set.|
-|_environ _putenv _putenv_s _searchenv _searchenv_s _dupenv_s _wputenv _wputenv_s _wsearchenv getenv getenv_s putenv _wdupenv_s _wenviron _wgetenv _wgetenv_s _wsearchenv_s tzset|Environment variables are not available to UWP apps.|No workaround. To set the time zone, use _tzset.|
-|_loaddll _getdllprocaddr _unloaddll|These were obsolete functions in previous CRT versions. Also, a user can't load DLLs except the ones in the same application package.|Use Win32 APIs `LoadPackagedLibrary`, `GetProcAddress`, and `FreeLibrary` to load and use packaged DLLs.|
-|_wexecl _wexecle _wexeclp _wexeclpe _wexecv _wexecve _wexecvp _wexecvpe _execl _execle _execlp _execlpe _execv _execve _execvp _execvpe _spawnl _spawnle _spawnlp _spawnlpe _spawnv _spawnve _spawnvp _spawnvpe _wspawnl _wspawnle _wspawnlp _wspawnlpe _wspawnv _wspawnve _wspawnvp _wspawnvpe _wsystem execl execle execlp execlpe execv execve execvp execvpe spawnl spawnle spawnlp spawnlpe spawnv spawnve spawnvp spawnvpe system|The functionality is not available in UWP apps. A UWP app cannot invoke another UWP app or a desktop app.|No workaround.|
-|_heapwalk _heapadd _heapchk _heapset _heapused|These functions are typically used to work with the heap. However, corresponding Win32 APIs are not supported in UWP apps. And, apps can no longer create or use private heaps.|No workaround. However, `_heapwalk` is available in the DEBUG CRT, for debugging purposes only. These functions can't be used in apps that are uploaded to the Microsoft Store.|
+|`_beep` `_sleep` `_seterrormode`|These functions were obsolete in previous versions of the CRT. Also, the corresponding Win32 APIs are not available for UWP apps.|No workaround.|
+|`chdir` `_chdrive` `getcwd`|These functions are obsolete or are not thread-safe.|Use `_chdir`, `_getcwd` and related functions.|
+|`_cgets` `_cgets_s` `_cgetws` `_cgetws_s` `_cprintf` `_cprintf_l` `_cprintf_p` `_cprintf_p_l` `_cprintf_s` `_cprintf_s_l` `_cputs` `_cputws` `_cscanf` `_cscanf_l` `_cscanf_s` `_cscanf_s_l` `_cwait` `_cwprintf` `_cwprintf_l` `_cwprintf_p` `_cwprintf_p_l` `_cwprintf_s` `_cwprintf_s_l` `_cwscanf` `_cwscanf_l` `_cwscanf_s` `_cwscanf_s_l` `_vcprintf` `_vcprintf_l` `_vcprintf_p` `_vcprintf_p_l` `_vcprintf_s` `_vcprintf_s_l` `_vcwprintf` `_vcwprintf_l` `_vcwprintf_p` `_vcwprintf_p_l` `_vcwprintf_s` `_vcwprintf_s_l` `_getch` `_getch_nolock` `_getche` `_getche_nolock` `_getwch` `_getwch_nolock` `_getwche` `_getwche_nolock` `_putch` `_putch_nolock` `_putwch` `_putwch_nolock` `_ungetch` `_ungetch_nolock` `_ungetwch` `_ungetwch_nolock` `_kbhit` `kbhit` `putch` `cgets` `cprintf` `cputs` `cscanf` `cwait` `getch` `getche` `ungetch`|These functions are used to read and write directly from and to the console. UWP apps are GUI only; they don't support console.|No workaround.|
+|`getpid` `_getpid` | These functions are obsolete.|Use the Win32 API `GetCurrentProcessId`.|
+|`_getdiskfree`|Not available.|Use the Win32 API `GetDiskFreeSpaceExW`.|
+|`_getdrive` `_getdrives`|Corresponding API is not available for UWP apps.|No workaround.|
+|`_inp` `_inpd` `_inpw` `_outp` `_outpd` `_outpw` `inp` `inpd` `inpw` `outp` `outpd` `outpw`|Port IO is not supported in UWP apps.|No workaround.|
+|`_ismbcalnum` `_ismbcalnum_l` `_ismbcalpha` `_ismbcalpha_l` `_ismbcdigit` `_ismbcdigit_l` `_ismbcgraph` `_ismbcgraph_l` `_ismbchira` `_ismbchira_l` `_ismbckata` `_ismbckata_l` `_ismbcl0` `_ismbcl0_l` `_ismbcl1` `_ismbcl1_l` `_ismbcl2` `_ismbcl2_l` `_ismbclegal` `_ismbclegal_l` `_ismbclower` `_ismbclower_l` `_ismbcprint` `_ismbcprint_l` `_ismbcpunct` `_ismbcpunct_l` `_ismbcspace` `_ismbcspace_l` `_ismbcsymbol` `_ismbcsymbol_l` `_ismbcupper` `_ismbcupper_l` `_mbbtombc` `_mbbtombc_l` `_mbbtype` `_mbbtype_l` `_mbccpy` `_mbccpy_l` `_mbccpy_s` `_mbccpy_s_l` `_mbcjistojms` `_mbcjistojms_l` `_mbcjmstojis` `_mbcjmstojis_l` `_mbclen` `_mbclen_l` `_mbctohira` `_mbctohira_l` `_mbctokata` `_mbctokata_l` `_mbctolower` `_mbctolower_l` `_mbctombb` `_mbctombb_l` `_mbctoupper` `_mbctoupper_l` `_mbsbtype` `_mbsbtype_l` `_mbscat` `_mbscat_l` `_mbscat_s` `_mbscat_s_l` `_mbschr` `_mbschr_l` `_mbscmp` `_mbscmp_l` `_mbscoll` `_mbscoll_l` `_mbscpy` `_mbscpy_l` `_mbscpy_s` `_mbscpy_s_l` `_mbscspn` `_mbscspn_l` `_mbsdec` `_mbsdec_l` `_mbsicmp` `_mbsicmp_l` `_mbsicoll` `_mbsicoll_l` `_mbsinc` `_mbsinc_l` `_mbslen` `_mbslen_l` `_mbslwr` `_mbslwr_l` `_mbslwr_s` `_mbslwr_s_l` `_mbsnbcat` `_mbsnbcat_l` `_mbsnbcat_s` `_mbsnbcat_s_l` `_mbsnbcmp` `_mbsnbcmp_l` `_mbsnbcnt` `_mbsnbcnt_l` `_mbsnbcoll` `_mbsnbcoll_l` `_mbsnbcpy` `_mbsnbcpy_l` `_mbsnbcpy_s` `_mbsnbcpy_s_l` `_mbsnbicmp` `_mbsnbicmp_l` `_mbsnbicoll` `_mbsnbicoll_l` `_mbsnbset` `_mbsnbset_l` `_mbsnbset_s` `_mbsnbset_s_l` `_mbsncat` `_mbsncat_l` `_mbsncat_s` `_mbsncat_s_l` `_mbsnccnt` `_mbsnccnt_l` `_mbsncmp` `_mbsncmp_l` `_mbsncoll` `_mbsncoll_l` `_mbsncpy` `_mbsncpy_l` `_mbsncpy_s` `_mbsncpy_s_l` `_mbsnextc` `_mbsnextc_l` `_mbsnicmp` `_mbsnicmp_l` `_mbsnicoll` `_mbsnicoll_l` `_mbsninc` `_mbsninc_l` `_mbsnlen` `_mbsnlen_l` `_mbsnset` `_mbsnset_l` `_mbsnset_s` `_mbsnset_s_l` `_mbspbrk` `_mbspbrk_l` `_mbsrchr` `_mbsrchr_l` `_mbsrev` `_mbsrev_l` `_mbsset` `_mbsset_l` `_mbsset_s` `_mbsset_s_l` `_mbsspn` `_mbsspn_l` `_mbsspnp` `_mbsspnp_l` `_mbsstr` `_mbsstr_l` `_mbstok` `_mbstok_l` `_mbstok_s` `_mbstok_s_l` `_mbsupr` `_mbsupr_l` `_mbsupr_s` `_mbsupr_s_l` `is_wctype`|Multi-byte strings are not supported in UWP apps.|Use Unicode strings instead.|
+|`_pclose` `_pipe` `_popen` `_wpopen`|Pipe functionality is not available to UWP apps.|No workaround.|
+|`_resetstkoflw`|Supporting Win32 APIs are not available for UWP apps.|No workaround.|
+|`_getsystime` `_setsystime`|These were obsolete APIs in previous CRT versions. Also, a user cannot set the system time in a UWP app due to lack of permissions.|To get the system time only, use the Win32 API `GetSystemTime`. System time cannot be set.|
+|`_environ` `_putenv` `_putenv_s` `_searchenv` `_searchenv_s` `_dupenv_s` `_wputenv` `_wputenv_s` `_wsearchenv` getenv getenv_s putenv `_wdupenv_s` `_wenviron` `_wgetenv` `_wgetenv_s` `_wsearchenv_s` `tzset`|Environment variables are not available to UWP apps.|No workaround. To set the time zone, use `_tzset`.|
+|`_loaddll` `_getdllprocaddr` `_unloaddll`|These were obsolete functions in previous CRT versions. Also, a user can't load DLLs except the ones in the same application package.|Use Win32 APIs `LoadPackagedLibrary`, `GetProcAddress`, and `FreeLibrary` to load and use packaged DLLs.|
+|`_wexecl` `_wexecle` `_wexeclp` `_wexeclpe` `_wexecv` `_wexecve` `_wexecvp` `_wexecvpe` `_execl` `_execle` `_execlp` `_execlpe` `_execv` `_execve` `_execvp` `_execvpe` `_spawnl` `_spawnle` `_spawnlp` `_spawnlpe` `_spawnv` `_spawnve` `_spawnvp` `_spawnvpe` `_wspawnl` `_wspawnle` `_wspawnlp` `_wspawnlpe` `_wspawnv` `_wspawnve` `_wspawnvp` `_wspawnvpe` `_wsystem` `execl` `execle` `execlp` `execlpe` `execv` `execve` `execvp` `execvpe` ``spawnl` `spawnle` `spawnlp` `spawnlpe` `spawnv` `spawnve` `spawnvp` `spawnvpe` `system`|The functionality is not available in UWP apps. A UWP app cannot invoke another UWP app or a desktop app.|No workaround.|
+|`_heapwalk` `_heapadd` `_heapchk` `_heapset` `_heapused`|These functions are typically used to work with the heap. However, corresponding Win32 APIs are not supported in UWP apps. And, apps can no longer create or use private heaps.|No workaround. However, `_heapwalk` is available in the DEBUG CRT, for debugging purposes only. These functions can't be used in apps that are uploaded to the Microsoft Store.|
The following functions are available in the CRT for UWP apps. However, use them only when you can't use the corresponding Win32 or Windows Runtime APIs, such as when you're porting large code bases:
-|||
+|Functions|Workaround|
|-|-|
|Single-byte string functions—for example, `strcat`, `strcpy`, `strlwr`, and so on.|Make your UWP apps strictly Unicode because all Win32 APIs and Windows Runtime APIs that are exposed use Unicode character sets only. Single-byte functions were left for porting large code bases, but should otherwise be avoided. The corresponding wide char functions should be used instead when possible.|
|Stream IO and low-level file IO functions—for example, `fopen`, `open`, and so on.|These functions are synchronous, which isn't recommended for UWP apps. In your UWP apps, use asynchronous APIs to open, read from, and write to files to prevent locking of the UI thread. Examples of such APIs are the ones in the `Windows::Storage::FileIO` class.|
@@ -41,10 +41,10 @@ The following functions are available in the CRT for UWP apps. However, use them
Both the previously mentioned APIs and the following APIs are unavailable in Windows 8.x Store apps and Windows Phone 8.x apps.
-||||
+|Functions|Description|Workaround|
|-|-|-|
-|_beginthread _beginthreadex _endthread _endthreadex|Threading Win32 APIs are not available in Windows 8.x Store apps.|Use the `Windows Runtime Windows::System::Threading::ThreadPool` or `concurrency::task` instead.|
-|_chdir _wchdir _getcwd _getdcwd _wgetcwd _wgetdcwd|The concept of a working directory doesn't apply to Windows 8.x Store apps.|Use full paths instead.|
-|_isleadbyte_l _ismbbalnum, _ismbbalnum_l, _ismbbalpha, _ismbbalpha _ismbbalpha_l _ismbbgraph _ismbbgraph_l _ismbbkalnum _ismbbkalnum_l _ismbbkana _ismbbkana_l _ismbbkprint _ismbbkprint_l _ismbbkpunct _ismbbkpunct_l _ismbblead _ismbblead_l _ismbbprint _ismbbprint_l _ismbbpunct _ismbbpunct_l _ismbbtrail _ismbbtrail_l _ismbslead _ismbslead_l _ismbstrail _ismbstrail_l _mbsdup isleadbyte|Multi-byte strings are not supported in Windows 8.x Store apps.|Use Unicode strings instead.|
-|_tzset|Environment variables are not available to Windows 8.x Store apps.|No workaround.|
-|_get_heap_handle, _heapmin|The corresponding Win32 APIs are not supported in Windows 8.x Store apps. And, apps can no longer create private heaps.|No workaround. However, `_get_heap_handle` is available in the DEBUG CRT, for debugging purposes only.|
+|`_beginthread` `_beginthreadex` `_endthread` `_endthreadex`|Threading Win32 APIs are not available in Windows 8.x Store apps.|Use the `Windows Runtime Windows::System::Threading::ThreadPool` or `concurrency::task` instead.|
+|`_chdir` `_wchdir` `_getcwd` `_getdcwd` `_wgetcwd` `_wgetdcwd`|The concept of a working directory doesn't apply to Windows 8.x Store apps.|Use full paths instead.|
+|`_isleadbyte_l` `_ismbbalnum`, `_ismbbalnum_l`, `_ismbbalpha`, `_ismbbalpha` `_ismbbalpha_l` `_ismbbgraph` `_ismbbgraph_l` `_ismbbkalnum` `_ismbbkalnum_l` `_ismbbkana` `_ismbbkana_l` `_ismbbkprint` `_ismbbkprint_l` `_ismbbkpunct` `_ismbbkpunct_l` `_ismbblead` `_ismbblead_l` `_ismbbprint` `_ismbbprint_l` `_ismbbpunct` `_ismbbpunct_l` `_ismbbtrail` `_ismbbtrail_l` `_ismbslead` `_ismbslead_l` `_ismbstrail` `_ismbstrail_l` `_mbsdup` `isleadbyte`|Multi-byte strings are not supported in Windows 8.x Store apps.|Use Unicode strings instead.|
+|`_tzset`|Environment variables are not available to Windows 8.x Store apps.|No workaround.|
+|`_get_heap_handle`, `_heapmin`|The corresponding Win32 APIs are not supported in Windows 8.x Store apps. And, apps can no longer create private heaps.|No workaround. However, ``_get_heap_handle`` is available in the DEBUG CRT, for debugging purposes only.|
diff --git a/docs/cppcx/default-namespace.md b/docs/cppcx/default-namespace.md
index 25ba12f8b40..926e6efdfd1 100644
--- a/docs/cppcx/default-namespace.md
+++ b/docs/cppcx/default-namespace.md
@@ -17,12 +17,12 @@ namespace default;
All built-in types inherit the following members.
-|||
-|-|-|
-|[default::(type_name)::Equals](../cppcx/default-type-name-equals-method.md)|Determines whether the specified object is equal to the current object.|
-|[default::(type_name)::GetHashCode](../cppcx/default-type-name-gethashcode-method.md)|Returns the hash code for this instance.|
-|[default::(type_name)::GetType](../cppcx/default-type-name-gettype-method.md)|Returns a string that represents the current type.|
-|[default::(type_name)::ToString](../cppcx/default-type-name-tostring-method.md)|Returns a string that represents the current type.|
+| Name | Description |
+|--|--|
+| [default::(type_name)::Equals](../cppcx/default-type-name-equals-method.md) | Determines whether the specified object is equal to the current object. |
+| [default::(type_name)::GetHashCode](../cppcx/default-type-name-gethashcode-method.md) | Returns the hash code for this instance. |
+| [default::(type_name)::GetType](../cppcx/default-type-name-gettype-method.md) | Returns a string that represents the current type. |
+| [default::(type_name)::ToString](../cppcx/default-type-name-tostring-method.md) | Returns a string that represents the current type. |
### Built-in types
diff --git a/docs/cppcx/namespaces-and-type-visibility-c-cx.md b/docs/cppcx/namespaces-and-type-visibility-c-cx.md
index 8ff4ceac107..0c1338974c2 100644
--- a/docs/cppcx/namespaces-and-type-visibility-c-cx.md
+++ b/docs/cppcx/namespaces-and-type-visibility-c-cx.md
@@ -22,15 +22,14 @@ In a private ref class, interface, or delegate, no members are emitted to metada
Use the following access modifiers to control both metadata visibility and source code accessibility.
-||||
-|-|-|-|
-|Modifier|Meaning|Emitted to metadata?|
-|private|The default accessibility. Same meaning as in standard C++.|No|
-|protected|Same meaning as in standard C++, both within the app or component and in metadata.|Yes|
-|public|Same meaning as in standard C++.|Yes|
-|`public protected` -or- `protected public`|Protected accessibility in metadata, public within the app or component.|Yes|
-|`protected private` or `private protected`|Not visible in metadata; protected accessibility within the app or component.||
-|`internal` or `private public`|The member is public within the app or component, but is not visible in metadata.|No|
+| Modifier | Meaning | Emitted to metadata? |
+|--|--|--|
+| **`private`** | The default accessibility. Same meaning as in standard C++. | No |
+| **`protected`** | Same meaning as in standard C++, both within the app or component and in metadata. | Yes |
+| **`public`** | Same meaning as in standard C++. | Yes |
+| **`public protected`** -or- **`protected public`** | Protected accessibility in metadata, public within the app or component. | Yes |
+| **`protected private`** or **`private protected`** | Not visible in metadata; protected accessibility within the app or component. | |
+| **`internal`** or **`private public`** | The member is public within the app or component, but is not visible in metadata. | No |
## Windows Runtime namespaces
@@ -40,13 +39,12 @@ The Windows API consists of types that are declared in the Windows::\* namespace
The C++/CX define certain types in these namespaces as part of the projection of the Windows Runtime type system.
-|||
-|-|-|
-|**Namespace**|**Description**|
-|default|Contains the built-in numeric and char16 types. These types are in scope in every namespace and a **`using`** statement is never required.|
-|Platform|Contains primarily public types that correspond to Windows Runtime types such as `Array`, `String`, `Guid`, and `Boolean`. Also includes specialized helper types such as `Platform::Agile` and `Platform::Box`.|
-|Platform::Collections|Contains the concrete collection classes that implement the Windows Runtime collection interfaces `IVector`, `IMap`, and so on. These types are defined in a header file, collection.h, not in platform.winmd.|
-|Platform::Details|Contains types that are used by the compiler and are not meant for public consumption.|
+| Namespace | Description |
+|--|--|
+| default | Contains the built-in numeric and char16 types. These types are in scope in every namespace and a **`using`** statement is never required. |
+| `Platform` | Contains primarily public types that correspond to Windows Runtime types such as `Array`, `String`, `Guid`, and `Boolean`. Also includes specialized helper types such as `Platform::Agile` and `Platform::Box`. |
+| `Platform::Collections` | Contains the concrete collection classes that implement the Windows Runtime collection interfaces `IVector`, `IMap`, and so on. These types are defined in a header file, collection.h, not in platform.winmd. |
+| `Platform::Details` | Contains types that are used by the compiler and are not meant for public consumption. |
## See also
diff --git a/docs/cppcx/platform-array-class.md b/docs/cppcx/platform-array-class.md
index 72ce95024a1..e74e763e979 100644
--- a/docs/cppcx/platform-array-class.md
+++ b/docs/cppcx/platform-array-class.md
@@ -35,9 +35,9 @@ See [Platform::WriteOnlyArray Class](../cppcx/platform-writeonlyarray-class.md).
### Properties
-|||
-|-|-|
-|[Array::Value](#value)|Retrieves a handle to the current array.|
+| Name | Description |
+|--|--|
+| [Array::Value](#value) | Retrieves a handle to the current array. |
### Remarks
diff --git a/docs/cppcx/platform-collections-map-class.md b/docs/cppcx/platform-collections-map-class.md
index 5dcc59b8508..518be3963b0 100644
--- a/docs/cppcx/platform-collections-map-class.md
+++ b/docs/cppcx/platform-collections-map-class.md
@@ -75,10 +75,9 @@ For more information, see [Collections](../cppcx/collections-c-cx.md).
### Events
-|||
-|-|-|
-|Name|Description|
-|[Map::MapChanged](#mapchanged) event|Occurs when the Map changes.|
+| Name | Description |
+|--|--|
+| [Map::MapChanged](#mapchanged) event | Occurs when the Map changes. |
## Inheritance Hierarchy
diff --git a/docs/cppcx/platform-collections-unorderedmap-class.md b/docs/cppcx/platform-collections-unorderedmap-class.md
index 2b771349669..5323f074c71 100644
--- a/docs/cppcx/platform-collections-unorderedmap-class.md
+++ b/docs/cppcx/platform-collections-unorderedmap-class.md
@@ -72,10 +72,9 @@ For more information, see [Collections](../cppcx/collections-c-cx.md).
### Events
-|||
-|-|-|
-|Name|Description|
-|[Map::MapChanged](#mapchanged) event|Occurs when the Map changes.|
+| Name | Description |
+|--|--|
+| [Map::MapChanged](#mapchanged) event | Occurs when the Map changes. |
## Inheritance Hierarchy
diff --git a/docs/cppcx/platform-collections-vector-class.md b/docs/cppcx/platform-collections-vector-class.md
index 527ec41b20a..ae22b232e39 100644
--- a/docs/cppcx/platform-collections-vector-class.md
+++ b/docs/cppcx/platform-collections-vector-class.md
@@ -71,10 +71,9 @@ If you attempt to use a **Vector** type in a public return value or parameter, c
### Events
-|||
-|-|-|
-|Name|Description|
-|event [Windows::Foundation::Collection::VectorChangedEventHandler\^ VectorChanged](/uwp/api/windows.foundation.collections.vectorchangedeventhandler-1)|Occurs when the Vector changes.|
+| Name | Description |
+|--|--|
+| event [Windows::Foundation::Collection::VectorChangedEventHandler\^ VectorChanged](/uwp/api/windows.foundation.collections.vectorchangedeventhandler-1) | Occurs when the Vector changes. |
## Inheritance Hierarchy
diff --git a/docs/cppcx/platform-type-class.md b/docs/cppcx/platform-type-class.md
index 46357f84acb..c4ce038c09b 100644
--- a/docs/cppcx/platform-type-class.md
+++ b/docs/cppcx/platform-type-class.md
@@ -24,23 +24,23 @@ The `Type` class is useful in applications that must direct processing by using
## Public methods
-|||
-|-|-|
-|[Type::GetTypeCode Method](#gettypecode)|Returns a [Platform::TypeCode Enumeration](../cppcx/platform-typecode-enumeration.md) value for the object.|
-|[Type::ToString Method](#tostring)|Returns the name of the type as specified in its metadata.|
+| Name | Description |
+|--|--|
+| [Type::GetTypeCode Method](#gettypecode) | Returns a [Platform::TypeCode Enumeration](../cppcx/platform-typecode-enumeration.md) value for the object. |
+| [Type::ToString Method](#tostring) | Returns the name of the type as specified in its metadata. |
## Public properties
-|||
-|-|-|
-|[Type::FullName](#fullname)|Returns a [Platform::String Class](../cppcx/platform-string-class.md)^ that represents the fully qualified name of the type, and uses . (dot) as a separator, not :: (double colon)—for example, `MyNamespace.MyClass`.|
+| Name | Description |
+|--|--|
+| [Type::FullName](#fullname) | Returns a [Platform::String Class](../cppcx/platform-string-class.md)^ that represents the fully qualified name of the type, and uses . (dot) as a separator, not :: (double colon)—for example, `MyNamespace.MyClass`. |
## Conversion operators
-|||
-|-|-|
-|[operator Type^](../cppcx/operator-type-hat.md)|Enables conversion from `Windows::UI::Xaml::Interop::TypeName` to `Platform::Type`.|
-|[operator Windows::UI::Xaml::Interop::TypeName](../cppcx/operator-windows-ui-xaml-interop-typename.md)|Enables conversion from `Platform::Type` to `Windows::UI::Xaml::Interop::TypeName`.|
+| Name | Description |
+|--|--|
+| [operator Type^](../cppcx/operator-type-hat.md) | Enables conversion from `Windows::UI::Xaml::Interop::TypeName` to `Platform::Type`. |
+| [operator Windows::UI::Xaml::Interop::TypeName](../cppcx/operator-windows-ui-xaml-interop-typename.md) | Enables conversion from `Platform::Type` to `Windows::UI::Xaml::Interop::TypeName`. |
### Requirements
diff --git a/docs/cppcx/platform-valuetype-class.md b/docs/cppcx/platform-valuetype-class.md
index 6cce3f588ad..6adc2dc7ad7 100644
--- a/docs/cppcx/platform-valuetype-class.md
+++ b/docs/cppcx/platform-valuetype-class.md
@@ -18,9 +18,9 @@ public ref class ValueType : Object
## Public methods
-|||
-|-|-|
-|[ValueType::ToString](#tostring)|Returns a string representation of the object. Inherited from [Platform::Object](../cppcx/platform-object-class.md).|
+| Name | Description |
+|--|--|
+| [ValueType::ToString](#tostring) | Returns a string representation of the object. Inherited from [Platform::Object](../cppcx/platform-object-class.md). |
### Remarks
diff --git a/docs/cppcx/type-system-c-cx.md b/docs/cppcx/type-system-c-cx.md
index a6683d76403..8fa5f47023d 100644
--- a/docs/cppcx/type-system-c-cx.md
+++ b/docs/cppcx/type-system-c-cx.md
@@ -29,12 +29,11 @@ The metadata in the .winmd file represents the published surface of your code. P
Whether a type or method is visible in metadata depends on what accessibility modifiers are applied to it. To be visible, a type must be declared in a namespace and must be declared as public. A non-public ref class is permitted as an internal helper type in your code; it just isn't visible in the metadata. Even in a public ref class, not all members are necessarily visible. The following table lists the relationship between C++ access specifiers in a public ref class, and Windows Runtime metadata visibility:
-|||
-|-|-|
-|**Published in metadata**|**Not published in metadata**|
-|public|private|
-|protected|internal|
-|public protected|private protected|
+| Published in metadata | Not published in metadata |
+|--|--|
+| public | private |
+| protected | internal |
+| public protected | private protected |
You can use the **Object Browser** to view the contents of .winmd files. The Windows Runtime components that are included with Windows are in the Windows.winmd file. The default.winmd file contains the fundamental types that are used in C++/CX, and platform.winmd contains additional types from the Platform namespace. By default, these three .winmd files are included in every C++ project for Universal Windows Platform apps.
diff --git a/docs/cppcx/universal-windows-apps-cpp.md b/docs/cppcx/universal-windows-apps-cpp.md
index b4fc6ae905d..1da70ddcd17 100644
--- a/docs/cppcx/universal-windows-apps-cpp.md
+++ b/docs/cppcx/universal-windows-apps-cpp.md
@@ -16,13 +16,20 @@ You can use the Desktop Bridge app converter to package your existing desktop ap
## UWP apps that use C++/CX
-|||
-|-|-|
-|[C++/CX language reference](visual-c-language-reference-c-cx.md)|Describes the set of extensions that simplify C++ consumption of Windows Runtime APIs and enable error handling that's based on exceptions.|
-|[Building apps and libraries (C++/CX)](building-apps-and-libraries-c-cx.md)|Describes how to create DLLs and static libraries that can be accessed from a C++/CX app or component.|
-|[Tutorial: Create a UWP "Hello, World" app in C++/CX](/windows/uwp/get-started/create-a-basic-windows-10-app-in-cpp)|A walkthrough that introduces the basic concepts of UWP app development in C++/CX. |
-|[Creating Windows Runtime Components in C++/CX](/windows/uwp/winrt-components/creating-windows-runtime-components-in-cpp)|Describes how to create DLLs that other UWP apps and components can consume.|
-|[UWP game programming](/windows/uwp/gaming/)|Describes how to use DirectX and C++/CX to create games.|
+[C++/CX language reference](visual-c-language-reference-c-cx.md)\
+Describes the set of extensions that simplify C++ consumption of Windows Runtime APIs and enable error handling that's based on exceptions.
+
+[Building apps and libraries (C++/CX)](building-apps-and-libraries-c-cx.md)\
+Describes how to create DLLs and static libraries that can be accessed from a C++/CX app or component.
+
+[Tutorial: Create a UWP "Hello, World" app in C++/CX](/windows/uwp/get-started/create-a-basic-windows-10-app-in-cpp)\
+A walkthrough that introduces the basic concepts of UWP app development in C++/CX.
+
+[Creating Windows Runtime Components in C++/CX](/windows/uwp/winrt-components/creating-windows-runtime-components-in-cpp)\
+Describes how to create DLLs that other UWP apps and components can consume.
+
+[UWP game programming](/windows/uwp/gaming/)\
+Describes how to use DirectX and C++/CX to create games.
## UWP Apps that Use the Windows Runtime C++ Template Library (WRL)
diff --git a/docs/cppcx/wrl/factorycacheflags-enumeration.md b/docs/cppcx/wrl/factorycacheflags-enumeration.md
index 137eb487d08..04da003d0f3 100644
--- a/docs/cppcx/wrl/factorycacheflags-enumeration.md
+++ b/docs/cppcx/wrl/factorycacheflags-enumeration.md
@@ -19,7 +19,7 @@ enum FactoryCacheFlags;
By default, the factory caching policy is specified as the [ModuleType](moduletype-enumeration.md) template parameter when you create a [Module](module-class.md) object. To override this policy, specify a **FactoryCacheFlags** value when you create a factory object.
-|||
+| Policy | Description |
|-|-|
|`FactoryCacheDefault`|The caching policy of the `Module` object is used.|
|`FactoryCacheEnabled`|Enables factory caching regardless of the `ModuleType` template parameter that is used to create a `Module` object.|
diff --git a/docs/cppcx/wrl/windows-runtime-cpp-template-library-wrl.md b/docs/cppcx/wrl/windows-runtime-cpp-template-library-wrl.md
index 3c4b3684326..d2a59fa4852 100644
--- a/docs/cppcx/wrl/windows-runtime-cpp-template-library-wrl.md
+++ b/docs/cppcx/wrl/windows-runtime-cpp-template-library-wrl.md
@@ -137,9 +137,14 @@ A `WeakRef` object typically represents an object whose existence is controlled
## Related Topics
-|||
-|-|-|
-|[Key APIs by Category](key-wrl-apis-by-category.md)|Highlights the primary Windows Runtime C++ Template Library types, functions, and macros.|
-|[Reference](wrl-reference.md)|Contains reference information for the Windows Runtime C++ Template Library.|
-|[Quick Reference (C++/CX)](../../cppcx/quick-reference-c-cx.md)|Briefly describes the C++/CX features that support the Windows Runtime.|
-|[Using Windows Runtime Components in Visual C++](/windows/uwp/winrt-components/walkthrough-creating-a-basic-windows-runtime-component-in-cpp-and-calling-it-from-javascript-or-csharp)|Shows how to use C++/CX to create a basic Windows Runtime component.|
+[Key APIs by Category](key-wrl-apis-by-category.md)\
+Highlights the primary Windows Runtime C++ Template Library types, functions, and macros.
+
+[Reference](wrl-reference.md)\
+Contains reference information for the Windows Runtime C++ Template Library.
+
+[Quick Reference (C++/CX)](../../cppcx/quick-reference-c-cx.md)\
+Briefly describes the C++/CX features that support the Windows Runtime.
+
+[Using Windows Runtime Components in Visual C++](/windows/uwp/winrt-components/walkthrough-creating-a-basic-windows-runtime-component-in-cpp-and-calling-it-from-javascript-or-csharp)\
+Shows how to use C++/CX to create a basic Windows Runtime component.
diff --git a/docs/data/odbc/recordset-dynamically-binding-data-columns-odbc.md b/docs/data/odbc/recordset-dynamically-binding-data-columns-odbc.md
index 497ad645e16..210bc88f60f 100644
--- a/docs/data/odbc/recordset-dynamically-binding-data-columns-odbc.md
+++ b/docs/data/odbc/recordset-dynamically-binding-data-columns-odbc.md
@@ -81,12 +81,12 @@ Dynamically binding added columns at run time requires the following steps:
The four lists you need to work with are shown in the following table.
-|||
-|-|-|
-|**Current-Table-Columns**| (List 1 in the illustration) A list of the columns currently in the table on the data source. This list might match the list of columns currently bound in your recordset.|
-|**Bound-Recordset-Columns**| (List 2 in the illustration) A list of the columns bound in your recordset. These columns already have RFX statements in your `DoFieldExchange` function.|
-|**Columns-To-Bind-Dynamically**| (List 3 in the illustration) A list of columns in the table but not in your recordset. These are the columns you want to bind dynamically.|
-|**Dynamic-Column-Values**| (List 4 in the illustration) A list containing storage for the values retrieved from the columns you bind dynamically. Elements of this list correspond to those in Columns-to-Bind-Dynamically, one to one.|
+| List | Description |
+|--|--|
+| **Current-Table-Columns** | (List 1 in the illustration) A list of the columns currently in the table on the data source. This list might match the list of columns currently bound in your recordset. |
+| **Bound-Recordset-Columns** | (List 2 in the illustration) A list of the columns bound in your recordset. These columns already have RFX statements in your `DoFieldExchange` function. |
+| **Columns-To-Bind-Dynamically** | (List 3 in the illustration) A list of columns in the table but not in your recordset. These are the columns you want to bind dynamically. |
+| **Dynamic-Column-Values** | (List 4 in the illustration) A list containing storage for the values retrieved from the columns you bind dynamically. Elements of this list correspond to those in Columns-to-Bind-Dynamically, one to one. |
### Building Your Lists
diff --git a/docs/data/oledb/caccessorbase-class.md b/docs/data/oledb/caccessorbase-class.md
index ea2c0db6837..fe8023d5703 100644
--- a/docs/data/oledb/caccessorbase-class.md
+++ b/docs/data/oledb/caccessorbase-class.md
@@ -19,13 +19,13 @@ All accessors in the OLE DB Templates derive from this class. `CAccessorBase` al
### Methods
-|||
-|-|-|
-|[Close](#close)|Closes the accessors.|
-|[GetHAccessor](#geth)|Retrieves the accessor handle.|
-|[GetNumAccessors](#getnum)|Retrieves the number of accessors created by the class.|
-|[IsAutoAccessor](#isauto)|Tests whether the specified accessor is an autoaccessor.|
-|[ReleaseAccessors](#release)|Releases the accessors.|
+| Name | Description |
+|--|--|
+| [Close](#close) | Closes the accessors. |
+| [GetHAccessor](#geth) | Retrieves the accessor handle. |
+| [GetNumAccessors](#getnum) | Retrieves the number of accessors created by the class. |
+| [IsAutoAccessor](#isauto) | Tests whether the specified accessor is an autoaccessor. |
+| [ReleaseAccessors](#release) | Releases the accessors. |
## Requirements
diff --git a/docs/data/oledb/caccessorrowset-class.md b/docs/data/oledb/caccessorrowset-class.md
index 1aa6201c0c0..31300f27583 100644
--- a/docs/data/oledb/caccessorrowset-class.md
+++ b/docs/data/oledb/caccessorrowset-class.md
@@ -33,13 +33,13 @@ A rowset class.
### Methods
-|||
-|-|-|
-|[Bind](#bind)|Creates bindings (used when `bBind` is specified as **`false`** in [CCommand::Open](../../data/oledb/ccommand-open.md)).|
-|[CAccessorRowset](#caccessorrowset)|Constructor.|
-|[Close](#close)|Closes the rowset and any accessors.|
-|[FreeRecordMemory](#freerecordmemory)|Frees any columns in the current record that need to be freed.|
-|[GetColumnInfo](#getcolumninfo)|Implements [IColumnsInfo::GetColumnInfo](/previous-versions/windows/desktop/ms722704\(v=vs.85\)).|
+| Name | Description |
+|--|--|
+| [Bind](#bind) | Creates bindings (used when `bBind` is specified as **`false`** in [CCommand::Open](../../data/oledb/ccommand-open.md)). |
+| [CAccessorRowset](#caccessorrowset) | Constructor. |
+| [Close](#close) | Closes the rowset and any accessors. |
+| [FreeRecordMemory](#freerecordmemory) | Frees any columns in the current record that need to be freed. |
+| [GetColumnInfo](#getcolumninfo) | Implements [IColumnsInfo::GetColumnInfo](/previous-versions/windows/desktop/ms722704\(v=vs.85\)). |
## Remarks
diff --git a/docs/data/oledb/carrayrowset-class.md b/docs/data/oledb/carrayrowset-class.md
index 9da072514a2..cd98a25ec8c 100644
--- a/docs/data/oledb/carrayrowset-class.md
+++ b/docs/data/oledb/carrayrowset-class.md
@@ -31,22 +31,22 @@ The type of accessor class that you want the rowset to use.
### Methods
-|||
-|-|-|
-|[CArrayRowset](#carrayrowset)|Constructor.|
-|[Snapshot](#snapshot)|Reads the entire rowset into memory.|
+| Name | Description |
+|--|--|
+| [CArrayRowset](#carrayrowset) | Constructor. |
+| [Snapshot](#snapshot) | Reads the entire rowset into memory. |
### Operators
-|||
-|-|-|
-|[Operator[]](#operator)|Accesses an element of the rowset.|
+| Name | Description |
+|--|--|
+| [Operator[]](#operator) | Accesses an element of the rowset. |
### Data Members
-|||
-|-|-|
-|[CArrayRowset::m_nRowsRead](#nrowsread)|The number of rows already read.|
+| Name | Description |
+|--|--|
+| [CArrayRowset::m_nRowsRead](#nrowsread) | The number of rows already read. |
## CArrayRowset::CArrayRowset
diff --git a/docs/data/oledb/cbookmark-class.md b/docs/data/oledb/cbookmark-class.md
index 1320650c7fb..1152de59398 100644
--- a/docs/data/oledb/cbookmark-class.md
+++ b/docs/data/oledb/cbookmark-class.md
@@ -32,7 +32,7 @@ The size of the bookmark buffer in bytes. When *nSize* is zero, the bookmark buf
### Methods
-|||
+| Name | Description |
|-|-|
|[CBookmark](#cbookmark)|The constructor|
|[GetBuffer](#getbuffer)|Retrieves the pointer to the buffer.|
@@ -41,7 +41,7 @@ The size of the bookmark buffer in bytes. When *nSize* is zero, the bookmark buf
### Operators
-|||
+| Name | Description |
|-|-|
|[operator =](#operator)|Assigns one `CBookmark` class to another.|
diff --git a/docs/data/oledb/cbulkrowset-class.md b/docs/data/oledb/cbulkrowset-class.md
index 6254187d3e3..35416655dd8 100644
--- a/docs/data/oledb/cbulkrowset-class.md
+++ b/docs/data/oledb/cbulkrowset-class.md
@@ -29,7 +29,7 @@ An accessor class.
### Methods
-|||
+| Name | Description |
|-|-|
|[AddRefRows](#addrefrows)|Increments the reference count.|
|[CBulkRowset](#cbulkrowset)|Constructor.|
diff --git a/docs/data/oledb/ccommand-class.md b/docs/data/oledb/ccommand-class.md
index be7fb1b7afb..b0be421378d 100644
--- a/docs/data/oledb/ccommand-class.md
+++ b/docs/data/oledb/ccommand-class.md
@@ -40,7 +40,7 @@ To use an OLE DB command that can return multiple results, specify [CMultipleRes
### Methods
-|||
+| Name | Description |
|-|-|
|[Close](#close)|Closes the current command.|
|[GetNextResult](#getnextresult)|Fetches the next result when using multiple result sets.|
@@ -48,7 +48,7 @@ To use an OLE DB command that can return multiple results, specify [CMultipleRes
### Inherited Methods
-|||
+| Name | Description |
|-|-|
|[Create](#create)|Creates a new command for the specified session, then sets the command text.|
|[CreateCommand](#createcommand)|Creates a new command.|
diff --git a/docs/data/oledb/cdataconnection-class.md b/docs/data/oledb/cdataconnection-class.md
index bcf1ec1c105..15c376c1bf2 100644
--- a/docs/data/oledb/cdataconnection-class.md
+++ b/docs/data/oledb/cdataconnection-class.md
@@ -23,7 +23,7 @@ class CDataConnection
### Methods
-|||
+| Name | Description |
|-|-|
|[CDataConnection](#cdataconnection)|Constructor. Instantiates and initializes a `CDataConnection` object.|
|[Copy](#copy)|Creates a copy of an existing data connection.|
@@ -32,7 +32,7 @@ class CDataConnection
### Operators
-|||
+| Name | Description |
|-|-|
|[operator BOOL](#op_bool)|Determines whether the current session is open or not.|
|[operator bool](#op_bool_ole)|Determines whether the current session is open or not.|
diff --git a/docs/data/oledb/cdatasource-class.md b/docs/data/oledb/cdatasource-class.md
index f080b656391..29ef8a2b0ec 100644
--- a/docs/data/oledb/cdatasource-class.md
+++ b/docs/data/oledb/cdatasource-class.md
@@ -23,7 +23,7 @@ class CDataSource
### Methods
-|||
+| Name | Description |
|-|-|
|[Close](#close)|Closes the connection.|
|[GetInitializationString](#getinitializationstring)|Retrieves the initialization string of the data source that is currently open.|
diff --git a/docs/data/oledb/cdberrorinfo-class.md b/docs/data/oledb/cdberrorinfo-class.md
index 9c75e835674..25b85f5b7fb 100644
--- a/docs/data/oledb/cdberrorinfo-class.md
+++ b/docs/data/oledb/cdberrorinfo-class.md
@@ -23,7 +23,7 @@ class CDBErrorInfo
### Methods
-|||
+| Name | Description |
|-|-|
|[GetAllErrorInfo](#getallerrorinfo)|Returns all error information contained in an error record.|
|[GetBasicErrorInfo](#getbasicerrorinfo)|Calls [IErrorRecords::GetBasicErrorInfo](/previous-versions/windows/desktop/ms723907(v=vs.85)) to return basic information about the specified error.|
diff --git a/docs/data/oledb/cdbpropidset-class.md b/docs/data/oledb/cdbpropidset-class.md
index 57c635e0131..9617d230b17 100644
--- a/docs/data/oledb/cdbpropidset-class.md
+++ b/docs/data/oledb/cdbpropidset-class.md
@@ -23,7 +23,7 @@ class CDBPropIDSet : public tagDBPROPIDSET
### Methods
-|||
+| Name | Description |
|-|-|
|[AddPropertyID](#addpropertyid)|Adds a property to the property ID set.|
|[CDBPropIDSet](#cdbpropidset)|Constructor.|
@@ -31,7 +31,7 @@ class CDBPropIDSet : public tagDBPROPIDSET
### Operators
-|||
+| Name | Description |
|-|-|
|[operator =](#op_equal)|Assigns the contents of one property ID set to another.|
diff --git a/docs/data/oledb/cdbpropset-class.md b/docs/data/oledb/cdbpropset-class.md
index e305deed72a..ba312d20e1a 100644
--- a/docs/data/oledb/cdbpropset-class.md
+++ b/docs/data/oledb/cdbpropset-class.md
@@ -23,7 +23,7 @@ class CDBPropSet : public tagDBPROPSET
### Methods
-|||
+| Name | Description |
|-|-|
|[AddProperty](#addproperty)|Adds a property to the property set.|
|[CDBPropSet](#cdbpropset)|Constructor.|
@@ -31,7 +31,7 @@ class CDBPropSet : public tagDBPROPSET
### Operators
-|||
+| Name | Description |
|-|-|
|[operator =](#op_equal)|Assigns the contents of one property set to another.|
diff --git a/docs/data/oledb/cdynamicaccessor-class.md b/docs/data/oledb/cdynamicaccessor-class.md
index 6b6af988196..ab4846454bc 100644
--- a/docs/data/oledb/cdynamicaccessor-class.md
+++ b/docs/data/oledb/cdynamicaccessor-class.md
@@ -23,7 +23,7 @@ class CDynamicAccessor : public CAccessorBase
### Methods
-|||
+| Name | Description |
|-|-|
|[AddBindEntry](#addbindentry)|Adds a bind entry to the output columns when overriding the default accessor.|
|[CDynamicAccessor](#cdynamicaccessor)|Instantiates and initializes the `CDynamicAccessor` object.|
diff --git a/docs/data/oledb/cdynamicparameteraccessor-class.md b/docs/data/oledb/cdynamicparameteraccessor-class.md
index a80ecfd935c..72b210f4726 100644
--- a/docs/data/oledb/cdynamicparameteraccessor-class.md
+++ b/docs/data/oledb/cdynamicparameteraccessor-class.md
@@ -23,7 +23,7 @@ class CDynamicParameterAccessor : public CDynamicAccessor
### Methods
-|||
+| Name | Description |
|-|-|
|[CDynamicParameterAccessor](#cdynamicparameteraccessor)|The constructor.|
|[GetParam](#getparam)|Retrieves the parameter data from the buffer.|
diff --git a/docs/data/oledb/cdynamicstringaccessor-class.md b/docs/data/oledb/cdynamicstringaccessor-class.md
index 6025d92e27f..4e2d89aa6c3 100644
--- a/docs/data/oledb/cdynamicstringaccessor-class.md
+++ b/docs/data/oledb/cdynamicstringaccessor-class.md
@@ -24,7 +24,7 @@ class CDynamicStringAccessorT : public CDynamicAccessor
### Methods
-|||
+| Name | Description |
|-|-|
|[GetString](#getstring)|Retrieves the specified column data as a string.|
|[SetString](#setstring)|Sets the specified column data as a string.|
diff --git a/docs/data/oledb/cenumerator-class.md b/docs/data/oledb/cenumerator-class.md
index 0cbf844631a..77b3d196006 100644
--- a/docs/data/oledb/cenumerator-class.md
+++ b/docs/data/oledb/cenumerator-class.md
@@ -24,7 +24,7 @@ class CEnumerator :
### Methods
-|||
+| Name | Description |
|-|-|
|[Find](#find)|Searches through available providers (data sources) looking for one with the specified name.|
|[GetMoniker](#getmoniker)|Retrieves the `IMoniker` interface for the current record.|
diff --git a/docs/data/oledb/cenumeratoraccessor-class.md b/docs/data/oledb/cenumeratoraccessor-class.md
index f474e5c3c0c..3be1a063e98 100644
--- a/docs/data/oledb/cenumeratoraccessor-class.md
+++ b/docs/data/oledb/cenumeratoraccessor-class.md
@@ -23,7 +23,7 @@ class CEnumeratorAccessor
### Data Members
-|||
+| Name | Description |
|-|-|
|[m_bIsParent](#bisparent)|A variable indicating whether the enumerator is a parent enumerator, if the row is an enumerator.|
|[m_nType](#ntype)|A variable indicating whether the row describes a data source or an enumerator.|
diff --git a/docs/data/oledb/cmanualaccessor-class.md b/docs/data/oledb/cmanualaccessor-class.md
index b7ee2550ba0..fa353b5fae5 100644
--- a/docs/data/oledb/cmanualaccessor-class.md
+++ b/docs/data/oledb/cmanualaccessor-class.md
@@ -23,7 +23,7 @@ class CManualAccessor : public CAccessorBase
### Methods
-|||
+| Name | Description |
|-|-|
|[AddBindEntry](#addbindentry)|Adds a bind entry to the output columns.|
|[AddParameterEntry](#addparameterentry)|Adds a parameter entry to the parameter accessor.|
diff --git a/docs/data/oledb/crestrictions-class.md b/docs/data/oledb/crestrictions-class.md
index 35600934aa3..0cb69d53c7f 100644
--- a/docs/data/oledb/crestrictions-class.md
+++ b/docs/data/oledb/crestrictions-class.md
@@ -36,7 +36,7 @@ A pointer to the GUID for the schema.
### Methods
-|||
+| Name | Description |
|-|-|
|[Open](#open)|Returns a result set according to the user-supplied restrictions.|
diff --git a/docs/data/oledb/crowset-class.md b/docs/data/oledb/crowset-class.md
index 8734694ad36..1b993f143b5 100644
--- a/docs/data/oledb/crowset-class.md
+++ b/docs/data/oledb/crowset-class.md
@@ -29,7 +29,7 @@ An accessor class. The default is `CAccessorBase`.
### Methods
-|||
+| Name | Description |
|-|-|
|[AddRefRows](#addrefrows)|Increments the reference count associated with the current row.|
|[Close](#close)|Releases rows and the current `IRowset` interface.|
diff --git a/docs/data/oledb/crowsetimpl-class.md b/docs/data/oledb/crowsetimpl-class.md
index a2d0e752c05..b976ce7b278 100644
--- a/docs/data/oledb/crowsetimpl-class.md
+++ b/docs/data/oledb/crowsetimpl-class.md
@@ -48,14 +48,14 @@ The class that will act as storage for the rowset's data. This parameter default
### Methods
-|||
+| Name | Description |
|-|-|
|[NameFromDBID](#namefromdbid)|Extracts a string from a `DBID` and copies it to the *bstr* passed in.|
|[SetCommandText](#setcommandtext)|Validates and stores the `DBID`s in the two strings ([m_strCommandText](../../data/oledb/crowsetimpl-m-strcommandtext.md) and [m_strIndexText](../../data/oledb/crowsetimpl-m-strindextext.md)).|
### Overridable Methods
-|||
+| Name | Description |
|-|-|
|[GetColumnInfo](#getcolumninfo)|Retrieves column information for a particular client request.|
|[GetCommandFromID](#getcommandfromid)|Checks to see if either or both parameters contain string values, and if so, copies the string values to the data members [m_strCommandText](../../data/oledb/crowsetimpl-m-strcommandtext.md) and [m_strIndexText](../../data/oledb/crowsetimpl-m-strindextext.md).|
@@ -63,7 +63,7 @@ The class that will act as storage for the rowset's data. This parameter default
### Data Members
-|||
+| Name | Description |
|-|-|
|[m_rgRowData](#rgrowdata)|By default, a `CAtlArray` that templatizes on the user record template argument to `CRowsetImpl`. Another array type class can be used by changing the `ArrayType` template argument to `CRowsetImpl`.|
|[m_strCommandText](#strcommandtext)|Contains the rowset's initial command.|
diff --git a/docs/data/oledb/csession-class.md b/docs/data/oledb/csession-class.md
index e3d1002e106..63c53f307a6 100644
--- a/docs/data/oledb/csession-class.md
+++ b/docs/data/oledb/csession-class.md
@@ -23,7 +23,7 @@ class CSession
### Methods
-|||
+| Name | Description |
|-|-|
|[Abort](#abort)|Cancels (terminates) the transaction.|
|[Close](#close)|Closes the session.|
diff --git a/docs/data/oledb/csimplerow-class.md b/docs/data/oledb/csimplerow-class.md
index 729bcf97e29..2295f506760 100644
--- a/docs/data/oledb/csimplerow-class.md
+++ b/docs/data/oledb/csimplerow-class.md
@@ -23,7 +23,7 @@ class CSimpleRow
### Methods
-|||
+| Name | Description |
|-|-|
|[AddRefRow](#addrefrow)|Adds a reference count to an existing row handle.|
|[Compare](#compare)|Compares two rows to see if they refer to the same row instance.|
@@ -32,7 +32,7 @@ class CSimpleRow
### Data Members
-|||
+| Name | Description |
|-|-|
|[m_dwRef](#dwref)|Reference count to an existing row handle.|
|[m_iRowset](#irowset)|An index to the rowset representing the cursor.|
diff --git a/docs/data/oledb/cstreamrowset-class.md b/docs/data/oledb/cstreamrowset-class.md
index d2ad06da192..5b97b0fd25b 100644
--- a/docs/data/oledb/cstreamrowset-class.md
+++ b/docs/data/oledb/cstreamrowset-class.md
@@ -29,7 +29,7 @@ An accessor class.
### Methods
-|||
+| Name | Description |
|-|-|
|[CStreamRowset](#cstreamrowset)|Constructor. Instantiates and initializes the `CStreamRowset` object.|
|[Close](#close)|Releases the [ISequentialStream](/previous-versions/windows/desktop/ms718035(v=vs.85)) interface pointer in the class.|
diff --git a/docs/data/oledb/ctable-class.md b/docs/data/oledb/ctable-class.md
index a4e6f347806..c6c54c795d9 100644
--- a/docs/data/oledb/ctable-class.md
+++ b/docs/data/oledb/ctable-class.md
@@ -34,7 +34,7 @@ A rowset class.
### Methods
-|||
+| Name | Description |
|-|-|
|[Open](#open)|Opens the table.|
diff --git a/docs/data/oledb/cutlprops-class.md b/docs/data/oledb/cutlprops-class.md
index e6324cd34ca..758c7980387 100644
--- a/docs/data/oledb/cutlprops-class.md
+++ b/docs/data/oledb/cutlprops-class.md
@@ -29,7 +29,7 @@ The class that contains the `BEGIN_PROPSET_MAP`.
### Methods
-|||
+| Name | Description |
|-|-|
|[GetPropValue](#getpropvalue)|Gets a property from a property set.|
|[IsValidValue](#isvalidvalue)|Used to validate a value before setting a property.|
diff --git a/docs/data/oledb/cxmlaccessor-class.md b/docs/data/oledb/cxmlaccessor-class.md
index 25acf00b720..532797d2c2e 100644
--- a/docs/data/oledb/cxmlaccessor-class.md
+++ b/docs/data/oledb/cxmlaccessor-class.md
@@ -23,7 +23,7 @@ class CXMLAccessor : public CDynamicStringAccessorW
### Methods
-|||
+| Name | Description |
|-|-|
|[GetXMLColumnData](#getxmlcolumndata)|Retrieves the column information.|
|[GetXMLRowData](#getxmlrowdata)|Retrieves the entire contents of a table by rows.|
diff --git a/docs/data/oledb/iaccessorimpl-class.md b/docs/data/oledb/iaccessorimpl-class.md
index 49f0e491857..546145c2bd8 100644
--- a/docs/data/oledb/iaccessorimpl-class.md
+++ b/docs/data/oledb/iaccessorimpl-class.md
@@ -37,13 +37,13 @@ Storage unit for column information. The default is [CAtlMap](../../atl/referenc
### Methods
-|||
+| Name | Description |
|-|-|
|[IAccessorImpl](#iaccessorimpl)|The constructor.|
### Interface Methods
-|||
+| Name | Description |
|-|-|
|[AddRefAccessor](#addrefaccessor)|Adds a reference count to an existing accessor.|
|[CreateAccessor](#createaccessor)|Creates an accessor from a set of bindings.|
diff --git a/docs/data/oledb/icolumnsinfoimpl-class.md b/docs/data/oledb/icolumnsinfoimpl-class.md
index 6b395f8e39e..3cdaae7083b 100644
--- a/docs/data/oledb/icolumnsinfoimpl-class.md
+++ b/docs/data/oledb/icolumnsinfoimpl-class.md
@@ -31,7 +31,7 @@ Your class, derived from `IColumnsInfoImpl`.
### Methods
-|||
+| Name | Description |
|-|-|
|[GetColumnInfo](#getcolumninfo)|Returns the column metadata needed by most consumers.|
|[MapColumnIDs](#mapcolumnids)|Returns an array of ordinals of the columns in a rowset that are identified by the specified column IDs.|
diff --git a/docs/data/oledb/icommandimpl-class.md b/docs/data/oledb/icommandimpl-class.md
index 27a84abcf31..9a77d5beebd 100644
--- a/docs/data/oledb/icommandimpl-class.md
+++ b/docs/data/oledb/icommandimpl-class.md
@@ -32,7 +32,7 @@ A command interface. The default is `ICommand`.
### Methods
-|||
+| Name | Description |
|-|-|
|[Cancel](#cancel)|Cancels the current command execution.|
|[CancelExecution](#cancelexecution)|Cancels the current command execution.|
@@ -43,7 +43,7 @@ A command interface. The default is `ICommand`.
### Data Members
-|||
+| Name | Description |
|-|-|
|[m_bCancel](#bcancel)|Indicates whether the command is to be canceled.|
|[m_bCancelWhenExecuting](#bcancelwhenexecuting)|Indicates whether the command is to be canceled when executing.|
diff --git a/docs/data/oledb/icommandpropertiesimpl-class.md b/docs/data/oledb/icommandpropertiesimpl-class.md
index 2641b93b499..0f19457a217 100644
--- a/docs/data/oledb/icommandpropertiesimpl-class.md
+++ b/docs/data/oledb/icommandpropertiesimpl-class.md
@@ -33,7 +33,7 @@ Your properties class.
### Interface Methods
-|||
+| Name | Description |
|-|-|
|[GetProperties](#getproperties)|Returns the list of properties in the Rowset property group that are currently requested for the rowset.|
|[SetProperties](#setproperties)|Sets properties in the Rowset property group.|
diff --git a/docs/data/oledb/icommandtextimpl-class.md b/docs/data/oledb/icommandtextimpl-class.md
index d7a42579abe..ddae4db2af0 100644
--- a/docs/data/oledb/icommandtextimpl-class.md
+++ b/docs/data/oledb/icommandtextimpl-class.md
@@ -30,14 +30,14 @@ The command class derived from `ICommandTextImpl`.
### Interface Methods
-|||
+| Name | Description |
|-|-|
|[GetCommandText](#getcommandtext)|Returns the text command set by the last call to [SetCommandText](../../data/oledb/icommandtextimpl-setcommandtext.md).|
|[SetCommandText](#setcommandtext)|Sets the command text, replacing the existing command text.|
### Data Members
-|||
+| Name | Description |
|-|-|
|[m_strCommandText](#strcommandtext)|Stores the command text.|
diff --git a/docs/data/oledb/iconverttypeimpl-class.md b/docs/data/oledb/iconverttypeimpl-class.md
index f14ee178477..629dcd91f9d 100644
--- a/docs/data/oledb/iconverttypeimpl-class.md
+++ b/docs/data/oledb/iconverttypeimpl-class.md
@@ -30,7 +30,7 @@ Your class, derived from `IConvertTypeImpl`.
### Interface Methods
-|||
+| Name | Description |
|-|-|
|[CanConvert](#canconvert)|Gives information on the availability of type conversions on a command or on a rowset.|
diff --git a/docs/data/oledb/idbcreatecommandimpl-class.md b/docs/data/oledb/idbcreatecommandimpl-class.md
index 10d690032be..7b557b3e34b 100644
--- a/docs/data/oledb/idbcreatecommandimpl-class.md
+++ b/docs/data/oledb/idbcreatecommandimpl-class.md
@@ -33,7 +33,7 @@ Your command class.
### Interface Methods
-|||
+| Name | Description |
|-|-|
|[CreateCommand](#createcommand)|Creates a new command.|
diff --git a/docs/data/oledb/idbcreatesessionimpl-class.md b/docs/data/oledb/idbcreatesessionimpl-class.md
index fc7f2167aa0..898d7a45e36 100644
--- a/docs/data/oledb/idbcreatesessionimpl-class.md
+++ b/docs/data/oledb/idbcreatesessionimpl-class.md
@@ -33,7 +33,7 @@ The session object.
### Interface Methods
-|||
+| Name | Description |
|-|-|
|[CreateSession](#createsession)|Creates a new session from the data source object and returns the requested interface on the newly created session.|
diff --git a/docs/data/oledb/idbinitializeimpl-class.md b/docs/data/oledb/idbinitializeimpl-class.md
index f9e5c23d7ac..a254dca8c64 100644
--- a/docs/data/oledb/idbinitializeimpl-class.md
+++ b/docs/data/oledb/idbinitializeimpl-class.md
@@ -29,20 +29,20 @@ Your class, derived from `IDBInitializeImpl`.
### Methods
-|||
+| Name | Description |
|-|-|
|[IDBInitializeImpl](#idbinitializeimpl)|The constructor.|
### Interface Methods
-|||
+| Name | Description |
|-|-|
|[Initialize](#initialize)|Starts the provider.|
|[Uninitialize](#uninitialize)|Stops the provider.|
### Data Members
-|||
+| Name | Description |
|-|-|
|[m_dwStatus](#dwstatus)|Data source flags.|
|[m_pCUtlPropInfo](#pcutlpropinfo)|A pointer to implementation of DB Properties information.|
@@ -115,7 +115,7 @@ enum DATASOURCE_FLAGS {
};
```
-|||
+| Value | Description |
|-|-|
|`DSF_MASK_INIT`|A mask to enable restoration of the uninitialized state.|
|`DSF_PERSIST_DIRTY`|Set if data source object requires persistence (that is, if there have been changes).|
diff --git a/docs/data/oledb/idbpropertiesimpl-class.md b/docs/data/oledb/idbpropertiesimpl-class.md
index b55a3c643ed..70652b91df2 100644
--- a/docs/data/oledb/idbpropertiesimpl-class.md
+++ b/docs/data/oledb/idbpropertiesimpl-class.md
@@ -30,7 +30,7 @@ Your class, derived from `IDBPropertiesImpl`.
### Interface Methods
-|||
+| Name | Description |
|-|-|
|[GetProperties](#getproperties)|Returns the values of properties in the Data Source, Data Source Information, and Initialization property groups that are currently set on the data source object or the values of properties in the Initialization property group that are currently set on the enumerator.|
|[GetPropertyInfo](#getpropertyinfo)|Returns information about all properties supported by the provider.|
diff --git a/docs/data/oledb/idbschemarowsetimpl-class.md b/docs/data/oledb/idbschemarowsetimpl-class.md
index 1d5501cbc35..254a3fad8bd 100644
--- a/docs/data/oledb/idbschemarowsetimpl-class.md
+++ b/docs/data/oledb/idbschemarowsetimpl-class.md
@@ -29,7 +29,7 @@ The class by which `IDBSchemaRowsetImpl` is inherited. Typically, this class wil
### Methods
-|||
+| Name | Description |
|-|-|
|[CheckRestrictions](#checkrestrictions)|Checks the validity of restrictions against a schema rowset.|
|[CreateSchemaRowset](#createschemarowset)|Implements a COM object creator function for the object specified by the template parameter.|
@@ -37,7 +37,7 @@ The class by which `IDBSchemaRowsetImpl` is inherited. Typically, this class wil
### Interface Methods
-|||
+| Name | Description |
|-|-|
|[GetRowset](#getrowset)|Returns a schema rowset.|
|[GetSchemas](#getschemas)|Returns a list of schema rowsets accessible by [IDBSchemaRowsetImpl::GetRowset](../../data/oledb/idbschemarowsetimpl-getrowset.md).|
diff --git a/docs/data/oledb/ierrorrecordsimpl-class.md b/docs/data/oledb/ierrorrecordsimpl-class.md
index 3a40305c604..35debf0f721 100644
--- a/docs/data/oledb/ierrorrecordsimpl-class.md
+++ b/docs/data/oledb/ierrorrecordsimpl-class.md
@@ -32,7 +32,7 @@ A class that represents an OLE DB error object.
### Methods
-|||
+| Name | Description |
|-|-|
|[GetErrorDescriptionString](#geterrordescriptionstring)|Gets the error description string from an error record.|
|[GetErrorGUID](#geterrorguid)|Gets the error GUID from an error record.|
@@ -42,7 +42,7 @@ A class that represents an OLE DB error object.
### Interface Methods
-|||
+| Name | Description |
|-|-|
|[AddErrorRecord](#adderrorrecord)|Adds a record to the OLE DB error object.|
|[GetBasicErrorInfo](#getbasicerrorinfo)|Returns basic information about the error, such as the return code and provider-specific error number.|
@@ -53,7 +53,7 @@ A class that represents an OLE DB error object.
### Data Members
-|||
+| Name | Description |
|-|-|
|[m_rgErrors](#rgerrors)|An array of error records.|
diff --git a/docs/data/oledb/igetdatasourceimpl-class.md b/docs/data/oledb/igetdatasourceimpl-class.md
index 1a980677bdb..53f0058853b 100644
--- a/docs/data/oledb/igetdatasourceimpl-class.md
+++ b/docs/data/oledb/igetdatasourceimpl-class.md
@@ -29,7 +29,7 @@ Your class, derived from `IGetDataSourceImpl`.
### Interface Methods
-|||
+| Name | Description |
|-|-|
|[GetDataSource](#getdatasource)|Returns an interface pointer on the data source object that created the session.|
diff --git a/docs/data/oledb/iopenrowsetimpl-class.md b/docs/data/oledb/iopenrowsetimpl-class.md
index 9cc9af471bd..36517ba1990 100644
--- a/docs/data/oledb/iopenrowsetimpl-class.md
+++ b/docs/data/oledb/iopenrowsetimpl-class.md
@@ -29,7 +29,7 @@ Your class, derived from `IOpenRowsetImpl`.
### Methods
-|||
+| Name | Description |
|-|-|
|[CreateRowset](#createrowset)|Creates a rowset object. Not called directly by user.|
|[OpenRowset](#openrowset)|Opens and returns a rowset that includes all rows from a single base table or index. (Not in ATLDB.H)|
diff --git a/docs/data/oledb/irowsetchangeimpl-class.md b/docs/data/oledb/irowsetchangeimpl-class.md
index 2356f5a0ba3..c7da3e7684f 100644
--- a/docs/data/oledb/irowsetchangeimpl-class.md
+++ b/docs/data/oledb/irowsetchangeimpl-class.md
@@ -46,7 +46,7 @@ The storage unit for all row handles held by the provider.
### Interface Methods (Used with IRowsetChange)
-|||
+| Name | Description |
|-|-|
|[DeleteRows](#deleterows)|Deletes rows from the rowset.|
|[InsertRow](#insertrow)|Inserts a row into the rowset.|
@@ -54,7 +54,7 @@ The storage unit for all row handles held by the provider.
### Implementation Method (Callback)
-|||
+| Name | Description |
|-|-|
|[FlushData](#flushdata)|Overridden by provider to commit data to its store.|
diff --git a/docs/data/oledb/irowsetcreatorimpl-class.md b/docs/data/oledb/irowsetcreatorimpl-class.md
index 486ce109d5e..165e93933c9 100644
--- a/docs/data/oledb/irowsetcreatorimpl-class.md
+++ b/docs/data/oledb/irowsetcreatorimpl-class.md
@@ -30,7 +30,7 @@ A class derived from `IRowsetCreator`.
### Methods
-|||
+| Name | Description |
|-|-|
|[SetSite](#setsite)|Sets the site that contains the rowset object.|
diff --git a/docs/data/oledb/irowsetidentityimpl-class.md b/docs/data/oledb/irowsetidentityimpl-class.md
index bc2fdb78570..35baaf76bcf 100644
--- a/docs/data/oledb/irowsetidentityimpl-class.md
+++ b/docs/data/oledb/irowsetidentityimpl-class.md
@@ -33,7 +33,7 @@ The storage unit for the `HROW`.
### Methods
-|||
+| Name | Description |
|-|-|
|[IsSameRow](#issamerow)|Compares two row handles to see if they refer to the same row.|
diff --git a/docs/data/oledb/irowsetimpl-class.md b/docs/data/oledb/irowsetimpl-class.md
index 9c5403ae909..e21080a9d25 100644
--- a/docs/data/oledb/irowsetimpl-class.md
+++ b/docs/data/oledb/irowsetimpl-class.md
@@ -44,7 +44,7 @@ Storage unit for all row handles held by the provider.
### Methods
-|||
+| Name | Description |
|-|-|
|[AddRefRows](#addrefrows)|Adds a reference count to an existing row handle.|
|[CreateRow](#createrow)|Called by [GetNextRows](../../data/oledb/irowsetimpl-getnextrows.md) to allocate a new `HROW`. Not called directly by user.|
@@ -59,7 +59,7 @@ Storage unit for all row handles held by the provider.
### Data Members
-|||
+| Name | Description |
|-|-|
|[m_bCanFetchBack](#bcanfetchback)|Indicates whether a provider supports backward fetching.|
|[m_bCanScrollBack](#bcanscrollback)|Indicates whether a provider can have its cursor scroll backwards.|
diff --git a/docs/data/oledb/irowsetinfoimpl-class.md b/docs/data/oledb/irowsetinfoimpl-class.md
index dd6f3b74f1b..d65f5becbd4 100644
--- a/docs/data/oledb/irowsetinfoimpl-class.md
+++ b/docs/data/oledb/irowsetinfoimpl-class.md
@@ -34,7 +34,7 @@ A user-definable property class that defaults to *T*.
### Interface Methods
-|||
+| Name | Description |
|-|-|
|[GetProperties](#getproperties)|Returns the current settings of all properties supported by the rowset.|
|[GetReferencedRowset](#getreferencedrowset)|Returns an interface pointer to the rowset to which a bookmark applies.|
diff --git a/docs/data/oledb/irowsetlocateimpl-class.md b/docs/data/oledb/irowsetlocateimpl-class.md
index acfb0c55b76..83d96041b08 100644
--- a/docs/data/oledb/irowsetlocateimpl-class.md
+++ b/docs/data/oledb/irowsetlocateimpl-class.md
@@ -58,7 +58,7 @@ The storage unit for all row handles held by the bookmark.
### Interface Methods
-|||
+| Name | Description |
|-|-|
|[Compare](#compare)|Compares two bookmarks.|
|[GetRowsAt](#getrowsat)|Fetches rows starting with the row specified by an offset from a bookmark.|
@@ -67,7 +67,7 @@ The storage unit for all row handles held by the bookmark.
### Data Members
-|||
+| Name | Description |
|-|-|
|[m_rgBookmarks](#rgbookmarks)|An array of bookmarks.|
diff --git a/docs/data/oledb/irowsetnotifycp-class.md b/docs/data/oledb/irowsetnotifycp-class.md
index 24a33bd9129..70e2a2ada89 100644
--- a/docs/data/oledb/irowsetnotifycp-class.md
+++ b/docs/data/oledb/irowsetnotifycp-class.md
@@ -43,7 +43,7 @@ An array of type [CComDynamicUnkArray](../../atl/reference/ccomdynamicunkarray-c
### Methods
-|||
+| Name | Description |
|-|-|
|[Fire_OnFieldChange](#onfieldchange)|Notifies the consumer of a change to the value of a column.|
|[Fire_OnRowChange](#onrowchange)|Notifies the consumer of a change affecting the rows.|
diff --git a/docs/data/oledb/irowsetnotifyimpl-class.md b/docs/data/oledb/irowsetnotifyimpl-class.md
index 22d99cd4804..9be6b1060c7 100644
--- a/docs/data/oledb/irowsetnotifyimpl-class.md
+++ b/docs/data/oledb/irowsetnotifyimpl-class.md
@@ -23,7 +23,7 @@ class ATL_NO_VTABLE IRowsetNotifyImpl : public IRowsetNotify
### Methods
-|||
+| Name | Description |
|-|-|
|[OnFieldChange](#onfieldchange)|Notifies the consumer of any change to the value of a column.|
|[OnRowChange](#onrowchange)|Notifies the consumer of the first change to a row or of any change that affects the entire row.|
diff --git a/docs/data/oledb/irowsetupdateimpl-class.md b/docs/data/oledb/irowsetupdateimpl-class.md
index 3cc43891562..6258f8e469f 100644
--- a/docs/data/oledb/irowsetupdateimpl-class.md
+++ b/docs/data/oledb/irowsetupdateimpl-class.md
@@ -53,13 +53,13 @@ The storage unit for all row handles held by the provider.
### Interface Methods (Used with IRowsetChange)
-|||
+| Name | Description |
|-|-|
|[SetData](#setdata)|Sets data values in one or more columns.|
### Interface Methods (Used with IRowsetUpdate)
-|||
+| Name | Description |
|-|-|
|[GetOriginalData](#getoriginaldata)|Gets the data most recently transmitted to or obtained from the data source, ignoring pending changes.|
|[GetPendingRows](#getpendingrows)|Returns a list of rows with pending changes.|
@@ -69,13 +69,13 @@ The storage unit for all row handles held by the provider.
### Implementation Methods (Callback)
-|||
+| Name | Description |
|-|-|
|[IsUpdateAllowed](#isupdateallowed)|Used to check for security, integrity, and so on before allowing updates.|
### Data Members
-|||
+| Name | Description |
|-|-|
|[m_mapCachedData](#mapcacheddata)|Contains the original data for the deferred operation.|
diff --git a/docs/data/oledb/isessionpropertiesimpl-class.md b/docs/data/oledb/isessionpropertiesimpl-class.md
index 00d7d25e77a..67294823030 100644
--- a/docs/data/oledb/isessionpropertiesimpl-class.md
+++ b/docs/data/oledb/isessionpropertiesimpl-class.md
@@ -34,7 +34,7 @@ A user-definable property class that defaults to *T*.
### Interface Methods
-|||
+| Name | Description |
|-|-|
|[GetProperties](#getproperties)|Returns the list of properties in the Session property group that are currently set on the session.|
|[SetProperties](#setproperties)|Sets properties in the Session property group.|
diff --git a/docs/data/oledb/macros-and-global-functions-for-ole-db-consumer-templates.md b/docs/data/oledb/macros-and-global-functions-for-ole-db-consumer-templates.md
index f21d94f59d4..c69f2143821 100644
--- a/docs/data/oledb/macros-and-global-functions-for-ole-db-consumer-templates.md
+++ b/docs/data/oledb/macros-and-global-functions-for-ole-db-consumer-templates.md
@@ -11,13 +11,13 @@ The OLE DB Consumer Templates include the following macros and global functions:
## Global Functions
-|||
+| Name | Description |
|-|-|
|[AtlTraceErrorRecords](#atltraceerrorrecords)|Dumps OLE DB Error Record information to the dump device if an error is returned.|
## Accessor Map Macros
-|||
+| Name | Description |
|-|-|
|[BEGIN_ACCESSOR](#begin_accessor)|Marks the beginning of an accessor entry.|
|[BEGIN_ACCESSOR_MAP](#begin_accessor_map)|Marks the beginning of the accessor map entries.|
@@ -26,7 +26,7 @@ The OLE DB Consumer Templates include the following macros and global functions:
## Column Map Macros
-|||
+| Name | Description |
|-|-|
|[BEGIN_COLUMN_MAP](#begin_column_map)|Marks the beginning of the column map entries in the user record class.|
|[BLOB_ENTRY](#blob_entry)|Used to bind a binary large object (BLOB).|
@@ -66,14 +66,14 @@ The OLE DB Consumer Templates include the following macros and global functions:
## Command Macros
-|||
+| Name | Description |
|-|-|
|[DEFINE_COMMAND](#define_command)|Specifies the command that will be used to create the rowset when using the [CCommand](../../data/oledb/ccommand-class.md) class. Accepts only string types matching the specified application type (ANSI or Unicode). It is recommended that you use [DEFINE_COMMAND_EX](../../data/oledb/define-command-ex.md) instead of DEFINE_COMMAND.|
|[DEFINE_COMMAND_EX](#define_command_ex)|Specifies the command that will be used to create the rowset when using the [CCommand](../../data/oledb/ccommand-class.md) class. Supports ANSI and Unicode applications.|
## Parameter Map Macros
-|||
+| Name | Description |
|-|-|
|[BEGIN_PARAM_MAP](#begin_param_map)|Marks the beginning of the parameter map entries in the user record class.|
|[END_PARAM_MAP](#end_param_map)|Marks the end of the parameter map entries.|
diff --git a/docs/data/oledb/macros-for-ole-db-provider-templates.md b/docs/data/oledb/macros-for-ole-db-provider-templates.md
index 21bdd746c5e..1f75feca4e7 100644
--- a/docs/data/oledb/macros-for-ole-db-provider-templates.md
+++ b/docs/data/oledb/macros-for-ole-db-provider-templates.md
@@ -11,7 +11,7 @@ The OLE DB Templates Provider macros offer functionality in the following catego
## Property Set Map Macros
-|||
+| Name | Description |
|-|-|
|[BEGIN_PROPERTY_SET](#begin_property_set)|Marks the beginning of a property set.|
|[BEGIN_PROPERTY_SET_EX](#begin_property_set_ex)|Marks the beginning of a property set.|
@@ -25,7 +25,7 @@ The OLE DB Templates Provider macros offer functionality in the following catego
## Column Map Macros
-|||
+| Name | Description |
|-|-|
|[BEGIN_PROVIDER_COLUMN_MAP](#begin_provider_column_map)|Marks the beginning of the provider column map entries.|
|[END_PROVIDER_COLUMN_MAP](#end_provider_column_map)|Marks the end of the provider column map entries.|
@@ -39,7 +39,7 @@ The OLE DB Templates Provider macros offer functionality in the following catego
## Schema Rowset Macros
-|||
+| Name | Description |
|-|-|
|[BEGIN_SCHEMA_MAP](#begin_schema_map)|Marks the beginning of a schema map.|
|[END_SCHEMA_MAP](#end_schema_map)|Marks the end of a schema map.|
diff --git a/docs/dotnet/resource-management-classes.md b/docs/dotnet/resource-management-classes.md
index 8d857131053..169169ac2cf 100644
--- a/docs/dotnet/resource-management-classes.md
+++ b/docs/dotnet/resource-management-classes.md
@@ -11,10 +11,11 @@ These classes provide automatic management of managed classes.
## In This Section
-|||
-|-|-|
-|[auto_gcroot](../dotnet/auto-gcroot.md)|Embeds a virtual handle in a native type.|
-|[auto_handle](../dotnet/auto-handle.md)|Embeds a virtual handle in a managed type.|
+[auto_gcroot](../dotnet/auto-gcroot.md)\
+Embeds a virtual handle in a native type.
+
+[auto_handle](../dotnet/auto-handle.md)\
+Embeds a virtual handle in a managed type.
## See also
diff --git a/docs/dotnet/stl-clr-library-reference.md b/docs/dotnet/stl-clr-library-reference.md
index e5423159bad..e8392c30e73 100644
--- a/docs/dotnet/stl-clr-library-reference.md
+++ b/docs/dotnet/stl-clr-library-reference.md
@@ -39,18 +39,32 @@ Shows how to display the elements of several STL/CLR containers written in a C++
In addition, this section also describes the following components of STL/CLR:
-|||
-|-|-|
-|[adapter (STL/CLR)](../dotnet/adapter-stl-clr.md)|[algorithm (STL/CLR)](../dotnet/algorithm-stl-clr.md)|
-|[deque (STL/CLR)](../dotnet/deque-stl-clr.md)|[for each, in](../dotnet/for-each-in.md)|
-|[functional (STL/CLR)](../dotnet/functional-stl-clr.md)|[hash_map (STL/CLR)](../dotnet/hash-map-stl-clr.md)|
-|[hash_multimap (STL/CLR)](../dotnet/hash-multimap-stl-clr.md)|[hash_multiset (STL/CLR)](../dotnet/hash-multiset-stl-clr.md)|
-|[hash_set (STL/CLR)](../dotnet/hash-set-stl-clr.md)|[list (STL/CLR)](../dotnet/list-stl-clr.md)|
-|[map (STL/CLR)](../dotnet/map-stl-clr.md)|[multimap (STL/CLR)](../dotnet/multimap-stl-clr.md)|
-|[multiset (STL/CLR)](../dotnet/multiset-stl-clr.md)|[numeric (STL/CLR)](../dotnet/numeric-stl-clr.md)|
-|[priority_queue (STL/CLR)](../dotnet/priority-queue-stl-clr.md)|[queue (STL/CLR)](../dotnet/queue-stl-clr.md)|
-|[set (STL/CLR)](../dotnet/set-stl-clr.md)|[stack (STL/CLR)](../dotnet/stack-stl-clr.md)|
-|[utility (STL/CLR)](../dotnet/utility-stl-clr.md)|[vector (STL/CLR)](../dotnet/vector-stl-clr.md)|
+:::row:::
+ :::column span="":::
+ [`adapter` (STL/CLR)](../dotnet/adapter-stl-clr.md)\
+ [`algorithm` (STL/CLR)](../dotnet/algorithm-stl-clr.md)\
+ [`deque` (STL/CLR)](../dotnet/deque-stl-clr.md)\
+ [`for each`, `in`](../dotnet/for-each-in.md)\
+ [`functional` (STL/CLR)](../dotnet/functional-stl-clr.md)\
+ [`hash_map` (STL/CLR)](../dotnet/hash-map-stl-clr.md)\
+ [`hash_multimap` (STL/CLR)](../dotnet/hash-multimap-stl-clr.md)\
+ [`hash_multiset` (STL/CLR)](../dotnet/hash-multiset-stl-clr.md)\
+ [`hash_set` (STL/CLR)](../dotnet/hash-set-stl-clr.md)\
+ [`list` (STL/CLR)](../dotnet/list-stl-clr.md)\
+ :::column-end:::
+ :::column span="":::
+ [`map` (STL/CLR)](../dotnet/map-stl-clr.md)\
+ [`multimap` (STL/CLR)](../dotnet/multimap-stl-clr.md)\
+ [`multiset` (STL/CLR)](../dotnet/multiset-stl-clr.md)\
+ [`numeric` (STL/CLR)](../dotnet/numeric-stl-clr.md)\
+ [`priority_queue` (STL/CLR)](../dotnet/priority-queue-stl-clr.md)\
+ [`queue` (STL/CLR)](../dotnet/queue-stl-clr.md)\
+ [`set` (STL/CLR)](../dotnet/set-stl-clr.md)\
+ [`stack` (STL/CLR)](../dotnet/stack-stl-clr.md)\
+ [`utility` (STL/CLR)](../dotnet/utility-stl-clr.md)\
+ [`vector` (STL/CLR)](../dotnet/vector-stl-clr.md)\
+ :::column-end:::
+:::row-end:::
## See also
diff --git a/docs/ide/adding-a-member-variable-visual-cpp.md b/docs/ide/adding-a-member-variable-visual-cpp.md
index 6378a6f1782..0e0ffe6a834 100644
--- a/docs/ide/adding-a-member-variable-visual-cpp.md
+++ b/docs/ide/adding-a-member-variable-visual-cpp.md
@@ -66,13 +66,15 @@ This wizard adds a member variable declaration to the header file. Depending on
For information about the types, see [fundamental types](../cpp/fundamental-types-cpp.md).
- |||
- |-|-|
- |**`char`**|**`short`**|
- |**`double`**|**`unsigned char`**|
- |**`float`**|**`unsigned int`**|
- |**`int`**|**`unsigned long`**|
- |**`long`**||
+ - **`char`**
+ - **`double`**
+ - **`float`**
+ - **`int`**
+ - **`long`**
+ - **`short`**
+ - **`unsigned char`**
+ - **`unsigned int`**
+ - **`unsigned long`**
- If you're adding a member variable for a dialog box control, this box is filled with the type of object that is returned for a control or value. If you select **Control**, then **Variable type** specifies the base class of the control you select in the **Control ID** box. If the dialog box control can hold a value, and if you select **Value**, then **Variable type** specifies the appropriate type for the value that control can hold. For more information, see [dialog box controls and variable types](#dialog-box-controls-and-variable-types).
diff --git a/docs/mfc/internet-information-by-topic.md b/docs/mfc/internet-information-by-topic.md
index 9481357850b..1499dce9d52 100644
--- a/docs/mfc/internet-information-by-topic.md
+++ b/docs/mfc/internet-information-by-topic.md
@@ -8,12 +8,35 @@ ms.assetid: 93a8b6c9-d274-492a-90b3-cf43a77edb1d
For information on programming with a specific Internet technology, see:
-### WinInet
+## WinInet
-|||
-|-|-|
-|Overviews|[WinInet (HTTP, FTP, Gopher)](win32-internet-extensions-wininet.md)
[WinInet Basics](wininet-basics.md)
[Win32 Internet Extensions (WinInet)](win32-internet-extensions-wininet.md)
[How WinInet Makes It Easier to Create Internet Client Applications](how-wininet-makes-it-easier-to-create-internet-client-applications.md)
[How MFC Makes It Easier to Create Internet Client Applications](how-mfc-makes-it-easier-to-create-internet-client-applications.md)|
-|Steps in creating WinInet applications|[Prerequisites for Internet Client Classes](prerequisites-for-internet-client-classes.md)
[Writing an Internet Client Application Using MFC WinInet Classes](writing-an-internet-client-application-using-mfc-wininet-classes.md)
[Steps in a Typical Internet Client Application](steps-in-a-typical-internet-client-application.md)
[Steps in a Typical FTP Client Application](steps-in-a-typical-ftp-client-application.md)
[Steps in a Typical HTTP Client Application](steps-in-a-typical-http-client-application.md)
[Steps in a Typical Gopher Client Application](steps-in-a-typical-gopher-client-application.md)
[Steps in a Typical HTTP Client Application](steps-in-a-typical-http-client-application.md)|
+### Overviews
+
+[WinInet (HTTP, FTP, Gopher)](win32-internet-extensions-wininet.md)
+
+[WinInet Basics](wininet-basics.md)
+
+[Win32 Internet Extensions (WinInet)](win32-internet-extensions-wininet.md)
+
+[How WinInet Makes It Easier to Create Internet Client Applications](how-wininet-makes-it-easier-to-create-internet-client-applications.md)
+
+[How MFC Makes It Easier to Create Internet Client Applications](how-mfc-makes-it-easier-to-create-internet-client-applications.md)
+
+### Steps in creating WinInet applications
+
+[Prerequisites for Internet Client Classes](prerequisites-for-internet-client-classes.md)
+
+[Writing an Internet Client Application Using MFC WinInet Classes](writing-an-internet-client-application-using-mfc-wininet-classes.md)
+
+[Steps in a Typical Internet Client Application](steps-in-a-typical-internet-client-application.md)
+
+[Steps in a Typical FTP Client Application](steps-in-a-typical-ftp-client-application.md)
+
+[Steps in a Typical HTTP Client Application](steps-in-a-typical-http-client-application.md)
+
+[Steps in a Typical Gopher Client Application](steps-in-a-typical-gopher-client-application.md)
+
+[Steps in a Typical HTTP Client Application](steps-in-a-typical-http-client-application.md)
## See also
diff --git a/docs/mfc/reference/afx-messages.md b/docs/mfc/reference/afx-messages.md
index 5923642e53d..063431b73e3 100644
--- a/docs/mfc/reference/afx-messages.md
+++ b/docs/mfc/reference/afx-messages.md
@@ -13,9 +13,8 @@ These messages are used in MFC.
The following table lists messages that are used in the MFC library:
-||||||
-|-|-|-|-|-|
|Message|Description|[in] *wParam*|*lParam* (All parameters are [in] unless otherwise stated.)|Return Value|
+|-|-|-|-|-|
|AFX_WM_ACCGETOBJECT|Not used.|Not used.|Not applicable.|Not applicable.|
|AFX_WM_ACCGETSTATE|Used for accessibility support. Send this message to `CMFCPopupMenu` or `CMFCRibbonPanelMenu` to retrieve the state of the current element.|Index of element, which could be a menu button or separator.|Not used.|The element state. It is -1 if the index is invalid, 0 if the menu button has no special attributes. Otherwise it is a combination of the following flags:
TBBS_DISABLED — item is disabled
TBBS_CHECKED — item is checked
TBBS_BUTTON — the item is a standard pushbutton
TBBS_PRESSED — button is pressed
TBBS_INDETERMINATE — undefined state
TBBS_SEPARATOR - rather than a menu button, this element forms a separation between other menu items|
|AFX_WM_CHANGE_ACTIVE_TAB|The framework sends this message to the resizable control bar control. Process this message to receive notifications from `CMFCTabCtrl` objects when a user changes an active tab.|The index of a tab.|Not used.|Nonzero.|
@@ -59,9 +58,8 @@ The following table lists messages that are used in the MFC library:
The following table shows the values for the low word of the *lParam* parameter of the AFX_WM_HSCROLL method:
-|||
-|-|-|
|Value|Meaning|
+|-|-|
|SB_ENDSCROLL|The user ends the scroll.|
|SB_LEFT|The user scrolls to the upper-left.|
|SB_RIGHT|The user scrolls to the lower-right.|
@@ -77,9 +75,8 @@ The following table shows the values for the low word of the *lParam* parameter
The following table lists the flag values for the *lParam* parameter of the AFX_WM_UPDATETOOLTIPS message:
-|||
-|-|-|
|Flag|Value|
+|-|-|
|AFX_TOOLTIP_TYPE_DEFAULT|0x0001|
|AFX_TOOLTIP_TYPE_TOOLBAR|0x0002|
|AFX_TOOLTIP_TYPE_TAB|0x0004|
diff --git a/docs/mfc/reference/application-control.md b/docs/mfc/reference/application-control.md
index b3b0d21f24b..15b66279cb9 100644
--- a/docs/mfc/reference/application-control.md
+++ b/docs/mfc/reference/application-control.md
@@ -10,7 +10,7 @@ OLE requires substantial control over applications and their objects. The OLE sy
### Application Control
-|||
+| Name | Description |
|-|-|
|[AfxOleCanExitApp](#afxolecanexitapp)|Indicates whether the application can terminate.|
|[AfxOleGetMessageFilter](#afxolegetmessagefilter)|Retrieves the application's current message filter.|
diff --git a/docs/mfc/reference/application-information-and-management.md b/docs/mfc/reference/application-information-and-management.md
index 02fcfc32a3e..feedfb711ad 100644
--- a/docs/mfc/reference/application-information-and-management.md
+++ b/docs/mfc/reference/application-information-and-management.md
@@ -13,7 +13,7 @@ The Microsoft Foundation Class Library provides the following global functions t
## Application Information and Management Functions
-|||
+| Name | Description |
|-|-|
|[AfxBeginThread](#afxbeginthread)|Creates a new thread.|
|[AfxContextMenuManager](#afxcontextmenumanager)|Pointer to the global [context menu manager](ccontextmenumanager-class.md).|
diff --git a/docs/mfc/reference/casyncmonikerfile-class.md b/docs/mfc/reference/casyncmonikerfile-class.md
index a264bf30c56..5bc6e05c9a9 100644
--- a/docs/mfc/reference/casyncmonikerfile-class.md
+++ b/docs/mfc/reference/casyncmonikerfile-class.md
@@ -262,17 +262,17 @@ Information about the current progress, depending on the value of *ulStatusCode*
Possible values for *ulStatusCode* (and the *szStatusText* for each value) are:
-|||
-|-|-|
-|BINDSTATUS_FINDINGRESOURCE |The bind operation is finding the resource that holds the object or storage being bound to. The *szStatusText* provides the display name of the resource being searched for (for example, "www.microsoft.com"). |
-|BINDSTATUS_CONNECTING |The bind operation is connecting to the resource that holds the object or storage being bound to. The *szStatusText* provides the display name of the resource being connected to (for example, an IP address). |
-|BINDSTATUS_SENDINGREQUEST|The bind operation is requesting the object or storage being bound to. The *szStatusText* provides the display name of the object (for example, a file name).|
-|BINDSTATUS_REDIRECTING |The bind operation has been redirected to a different data location. The *szStatusText* provides the display name of the new data location. |
-|BINDSTATUS_USINGCACHEDCOPY |The bind operation is retrieving the requested object or storage from a cached copy. The *szStatusText* is NULL. |
-|BINDSTATUS_BEGINDOWNLOADDATA |The bind operation has begun receiving the object or storage being bound to. The *szStatusText* provides the display name of the data location.|
-|BINDSTATUS_DOWNLOADINGDATA |The bind operation continues to receive the object or storage being bound to. The *szStatusText* provides the display name of the data location. |
-|BINDSTATUS_ENDDOWNLOADDATA |The bind operation has finished receiving the object or storage being bound to. The *szStatusText* provides the display name of the data location. |
-|BINDSTATUS_CLASSIDAVAILABLE |An instance of the object being bound to is just about to be created. The *szStatusText* provides the CLSID of the new object in string format, allowing the client an opportunity to cancel the bind operation, if desired. |
+| Value | Description |
+|--|--|
+| BINDSTATUS_FINDINGRESOURCE | The bind operation is finding the resource that holds the object or storage being bound to. The *szStatusText* provides the display name of the resource being searched for (for example, "www.microsoft.com"). |
+| BINDSTATUS_CONNECTING | The bind operation is connecting to the resource that holds the object or storage being bound to. The *szStatusText* provides the display name of the resource being connected to (for example, an IP address). |
+| BINDSTATUS_SENDINGREQUEST | The bind operation is requesting the object or storage being bound to. The *szStatusText* provides the display name of the object (for example, a file name). |
+| BINDSTATUS_REDIRECTING | The bind operation has been redirected to a different data location. The *szStatusText* provides the display name of the new data location. |
+| BINDSTATUS_USINGCACHEDCOPY | The bind operation is retrieving the requested object or storage from a cached copy. The *szStatusText* is NULL. |
+| BINDSTATUS_BEGINDOWNLOADDATA | The bind operation has begun receiving the object or storage being bound to. The *szStatusText* provides the display name of the data location. |
+| BINDSTATUS_DOWNLOADINGDATA | The bind operation continues to receive the object or storage being bound to. The *szStatusText* provides the display name of the data location. |
+| BINDSTATUS_ENDDOWNLOADDATA | The bind operation has finished receiving the object or storage being bound to. The *szStatusText* provides the display name of the data location. |
+| BINDSTATUS_CLASSIDAVAILABLE | An instance of the object being bound to is just about to be created. The *szStatusText* provides the CLSID of the new object in string format, allowing the client an opportunity to cancel the bind operation, if desired. |
## CAsyncMonikerFile::OnStartBinding
diff --git a/docs/mfc/reference/cautohidedocksite-class.md b/docs/mfc/reference/cautohidedocksite-class.md
index e209522f80c..c642aceed47 100644
--- a/docs/mfc/reference/cautohidedocksite-class.md
+++ b/docs/mfc/reference/cautohidedocksite-class.md
@@ -19,7 +19,7 @@ class CAutoHideDockSite : public CDockSite
### Public Constructors
-|||
+| Name | Description |
|-|-|
|Name|Description|
|`CAutoHideDockSite::CAutoHideDockSite`|Constructs a `CAutoHideDockSite` object.|
@@ -27,7 +27,7 @@ class CAutoHideDockSite : public CDockSite
### Public Methods
-|||
+| Name | Description |
|-|-|
|Name|Description|
|`CAutoHideDockSite::AllowShowOnPaneMenu`|Indicates whether the `CAutoHideDockSite` is shown on the pane menu.|
@@ -41,7 +41,7 @@ class CAutoHideDockSite : public CDockSite
### Data Members
-|||
+| Name | Description |
|-|-|
|Name|Description|
|[CAutoHideDockSite::m_nExtraSpace](#m_nextraspace)|Defines the size of the space between the toolbars and the edge of the docking bar. This space is measured from either the left edge or the top edge, depending on the alignment for the dock space.|
diff --git a/docs/mfc/reference/cbasetabbedpane-class.md b/docs/mfc/reference/cbasetabbedpane-class.md
index 01dca3230c6..7e928135e9f 100644
--- a/docs/mfc/reference/cbasetabbedpane-class.md
+++ b/docs/mfc/reference/cbasetabbedpane-class.md
@@ -37,7 +37,6 @@ class CBaseTabbedPane : public CDockablePane
|[CBaseTabbedPane::EnableSetCaptionTextToTabName](#enablesetcaptiontexttotabname)|Enables or disables the ability of the tabbed pane to synchronize caption text with the label text on the active tab.|
|[CBaseTabbedPane::FillDefaultTabsOrderArray](#filldefaulttabsorderarray)|Restores the internal tab order to a default state.|
|[CBaseTabbedPane::FindBarByTabNumber](#findbarbytabnumber)|Returns a pane that resides in a tab when the tab is identified by a zero-based tab index.|
-|||
|[CBaseTabbedPane::FindPaneByID](#findpanebyid)|Returns a pane that is identified by the pane ID.|
|[CBaseTabbedPane::FloatTab](#floattab)|Floats a pane, but only if the pane currently resides in a detachable tab.|
|[CBaseTabbedPane::GetDefaultTabsOrder](#getdefaulttabsorder)|Returns the default order of tabs in the pane.|
diff --git a/docs/mfc/reference/cbitmap-class.md b/docs/mfc/reference/cbitmap-class.md
index 4c1ff0aa5b4..131173ce387 100644
--- a/docs/mfc/reference/cbitmap-class.md
+++ b/docs/mfc/reference/cbitmap-class.md
@@ -387,25 +387,48 @@ BOOL LoadOEMBitmap(UINT nIDBitmap);
*nIDBitmap*
ID number of the predefined Windows bitmap. The possible values are listed below from WINDOWS.H:
-|||
-|-|-|
-|OBM_BTNCORNERS|OBM_OLD_RESTORE|
-|OBM_BTSIZE|OBM_OLD_RGARROW|
-|OBM_CHECK|OBM_OLD_UPARROW|
-|OBM_CHECKBOXES|OBM_OLD_ZOOM|
-|OBM_CLOSE|OBM_REDUCE|
-|OBM_COMBO|OBM_REDUCED|
-|OBM_DNARROW|OBM_RESTORE|
-|OBM_DNARROWD|OBM_RESTORED|
-|OBM_DNARROWI|OBM_RGARROW|
-|OBM_LFARROW|OBM_RGARROWD|
-|OBM_LFARROWD|OBM_RGARROWI|
-|OBM_LFARROWI|OBM_SIZE|
-|OBM_MNARROW|OBM_UPARROW|
-|OBM_OLD_CLOSE|OBM_UPARROWD|
-|OBM_OLD_DNARROW|OBM_UPARROW|
-|OBM_OLD_LFARROW|OBM_ZOOM|
-|OBM_OLD_REDUCE|OBM_ZOOMD|
+:::row:::
+ :::column span="":::
+ OBM_BTNCORNERS\
+ OBM_BTSIZE\
+ OBM_CHECK\
+ OBM_CHECKBOXES\
+ OBM_CLOSE\
+ OBM_COMBO\
+ OBM_DNARROW\
+ OBM_DNARROWD\
+ OBM_DNARROWI\
+ OBM_LFARROW\
+ OBM_LFARROWD\
+ OBM_LFARROWI
+ :::column-end:::
+ :::column span="":::
+ OBM_MNARROW\
+ OBM_OLD_CLOSE\
+ OBM_OLD_DNARROW\
+ OBM_OLD_LFARROW\
+ OBM_OLD_REDUCE\
+ OBM_OLD_RESTORE\
+ OBM_OLD_RGARROW\
+ OBM_OLD_UPARROW\
+ OBM_OLD_ZOOM\
+ OBM_REDUCE\
+ OBM_REDUCED
+ :::column-end:::
+ :::column span="":::
+ OBM_RESTORE\
+ OBM_RESTORED\
+ OBM_RGARROW\
+ OBM_RGARROWD\
+ OBM_RGARROWI\
+ OBM_SIZE\
+ OBM_UPARROW\
+ OBM_UPARROW\
+ OBM_UPARROWD\
+ OBM_ZOOM\
+ OBM_ZOOMD
+ :::column-end:::
+:::row-end:::
### Return Value
diff --git a/docs/mfc/reference/cdaoworkspace-class.md b/docs/mfc/reference/cdaoworkspace-class.md
index eabb0ffe55a..fa72acb0f93 100644
--- a/docs/mfc/reference/cdaoworkspace-class.md
+++ b/docs/mfc/reference/cdaoworkspace-class.md
@@ -656,11 +656,25 @@ After constructing a `CDaoWorkspace` object, call this member function to do one
Although many `CDaoWorkspace` member functions can only be called after the workspace has been opened, the following member functions, which operate on the database engine, are available after construction of the C++ object but before a call to `Open`:
-||||
-|-|-|-|
-|[Create](#create)|[GetVersion](#getversion)|[SetDefaultUser](#setdefaultuser)|
-|[GetIniPath](#getinipath)|[Idle](#idle)|[SetIniPath](#setinipath)|
-|[GetLoginTimeout](#getlogintimeout)|[SetDefaultPassword](#setdefaultpassword)|[SetLoginTimeout](#setlogintimeout)|
+:::row:::
+ :::column span="":::
+ [Create](#create)\
+ [GetIniPath](#getinipath)\
+ [GetLoginTimeout](#getlogintimeout)
+ :::column-end:::
+ :::column span="":::
+ [GetVersion](#getversion)\
+ [Idle](#idle)
+ :::column-end:::
+ :::column span="":::
+ [SetDefaultPassword](#setdefaultpassword)\
+ [SetDefaultUser](#setdefaultuser)
+ :::column-end:::
+ :::column span="":::
+ [SetIniPath](#setinipath)\
+ [SetLoginTimeout](#setlogintimeout)
+ :::column-end:::
+:::row-end:::
## CDaoWorkspace::RepairDatabase
diff --git a/docs/mfc/reference/cdatarecoveryhandler-class.md b/docs/mfc/reference/cdatarecoveryhandler-class.md
index 9ae1e4cde9d..2cbaefdf013 100644
--- a/docs/mfc/reference/cdatarecoveryhandler-class.md
+++ b/docs/mfc/reference/cdatarecoveryhandler-class.md
@@ -19,13 +19,13 @@ class CDataRecoveryHandler : public CObject
### Constructors
-|||
+|Name|Description|
|-|-|
|[CDataRecoveryHandler::CDataRecoveryHandler](#cdatarecoveryhandler)|Constructs a `CDataRecoveryHandler` object.|
### Methods
-|||
+|Name|Description|
|-|-|
|[CDataRecoveryHandler::AutosaveAllDocumentInfo](#autosavealldocumentinfo)|Autosaves each file registered with the `CDataRecoveryHandler` class.|
|[CDataRecoveryHandler::AutosaveDocumentInfo](#autosavedocumentinfo)|Autosaves the specified document.|
@@ -57,7 +57,7 @@ class CDataRecoveryHandler : public CObject
### Data Members
-|||
+|Name|Description|
|-|-|
|m_bRestoringPreviousOpenDocs|Indicates whether the data recovery handler reopens previously open documents.|
|m_bSaveDocumentInfoOnIdle|Indicates whether the data recovery handler autosaves documents on the next idle loop.|
diff --git a/docs/mfc/reference/cdhtmldialog-class.md b/docs/mfc/reference/cdhtmldialog-class.md
index bf1d3cd0d94..8f4cc20ff83 100644
--- a/docs/mfc/reference/cdhtmldialog-class.md
+++ b/docs/mfc/reference/cdhtmldialog-class.md
@@ -124,7 +124,7 @@ The DDX_DHtml helper macros allow easy access to the commonly used properties of
### Data Exchange Macros
-|||
+|Name|Description|
|-|-|
|[DDX_DHtml_ElementValue](../../mfc/reference/ddx-dhtml-helper-macros.md#ddx_dhtml_elementvalue)|Sets or retrieves the Value property from the selected control.|
|[DDX_DHtml_ElementInnerText](../../mfc/reference/ddx-dhtml-helper-macros.md#ddx_dhtml_elementinnertext)|Sets or retrieves the text between the start and end tags of the current element.|
diff --git a/docs/mfc/reference/cexception-class.md b/docs/mfc/reference/cexception-class.md
index 1351c82b75e..2e9e927351d 100644
--- a/docs/mfc/reference/cexception-class.md
+++ b/docs/mfc/reference/cexception-class.md
@@ -36,7 +36,7 @@ Because `CException` is an abstract base class you cannot create `CException` ob
The derived classes and their descriptions are listed below:
-|||
+|Name|Description|
|-|-|
|[CSimpleException](../../mfc/reference/csimpleexception-class.md)|A base class for resource-critical MFC exceptions|
|[CInvalidArgException](../../mfc/reference/cinvalidargexception-class.md)|Invalid argument exception condition|
diff --git a/docs/mfc/reference/cframewndex-class.md b/docs/mfc/reference/cframewndex-class.md
index 2b1aa38fbbf..66c9886fc09 100644
--- a/docs/mfc/reference/cframewndex-class.md
+++ b/docs/mfc/reference/cframewndex-class.md
@@ -604,7 +604,7 @@ TRUE if the point is located in an alignment zone; otherwise, FALSE.
The following table lists the possible values for the *dwBarAlignment* parameter.
-|||
+|Value|Description|
|-|-|
|CBRS_ALIGN_TOP|Aligned to the top. |
|CBRS_ALIGN_RIGHT|Aligned to the right. |
@@ -718,7 +718,7 @@ afx_msg void OnActivate(
The following table lists the possible values for the *nState* parameter.
-|||
+|Value|Description|
|-|-|
|WA_ACTIVE|The frame is selected by a method other than a mouse click. |
|WA_CLICKACTIVE|The frame is selected by a mouse click. |
@@ -1137,11 +1137,11 @@ afx_msg LRESULT OnMenuChar(
The high-order word must be one of the following values.
-|||
-|-|-|
-`0` | The framework should ignore the keystroke.
-`1` | The framework should close the menu.
-`2` | The framework should select one of the items displayed in the menu. The low-order word contains the ID of the command to select.
+| Value | Description |
+|--|--|
+| `0` | The framework should ignore the keystroke. |
+| `1` | The framework should close the menu. |
+| `2` | The framework should select one of the items displayed in the menu. The low-order word contains the ID of the command to select. |
## CFrameWndEx::OnMouseMove
diff --git a/docs/mfc/reference/cftpconnection-class.md b/docs/mfc/reference/cftpconnection-class.md
index 763e38c7a77..e630a4209ef 100644
--- a/docs/mfc/reference/cftpconnection-class.md
+++ b/docs/mfc/reference/cftpconnection-class.md
@@ -209,10 +209,9 @@ A pointer to a string that will receive the name of the directory.
*lpdwLen*
A pointer to a DWORD that contains the following information:
-|||
-|-|-|
-|On entry|The size of the buffer referenced by *pstrDirName*.|
-|On return|The number of characters stored to *pstrDirName*. If the member function fails and ERROR_INSUFFICIENT_BUFFER is returned, then *lpdwLen* contains the number of bytes that the application must allocate in order to receive the string.|
+On entry: The size of the buffer referenced by *pstrDirName*.
+
+On return: The number of characters stored to *pstrDirName*. If the member function fails and ERROR_INSUFFICIENT_BUFFER is returned, then *lpdwLen* contains the number of bytes that the application must allocate in order to receive the string.
### Return Value
@@ -247,10 +246,9 @@ A pointer to a string that will receive the name of the directory.
*lpdwLen*
A pointer to a DWORD that contains the following information:
-|||
-|-|-|
-|On entry|The size of the buffer referenced by *pstrDirName*.|
-|On return|The number of characters stored to *pstrDirName*. If the member function fails and ERROR_INSUFFICIENT_BUFFER is returned, then *lpdwLen* contains the number of bytes that the application must allocate in order to receive the string.|
+On entry: The size of the buffer referenced by *pstrDirName*.
+
+On return: The number of characters stored to *pstrDirName*. If the member function fails and ERROR_INSUFFICIENT_BUFFER is returned, then *lpdwLen* contains the number of bytes that the application must allocate in order to receive the string.
### Return Value
diff --git a/docs/mfc/reference/ckeyboardmanager-class.md b/docs/mfc/reference/ckeyboardmanager-class.md
index b89e885876b..ce61a08c780 100644
--- a/docs/mfc/reference/ckeyboardmanager-class.md
+++ b/docs/mfc/reference/ckeyboardmanager-class.md
@@ -19,16 +19,14 @@ class CKeyboardManager : public CObject
### Public Constructors
-|||
-|-|-|
|Name|Description|
+|-|-|
|[CKeyboardManager::CKeyboardManager](#ckeyboardmanager)|Constructs a `CKeyboardManager` object.|
### Public Methods
-|||
-|-|-|
|Name|Description|
+|-|-|
|[CKeyboardManager::CleanUp](#cleanup)|Clears the shortcut key tables.|
|[CKeyboardManager::FindDefaultAccelerator](#finddefaultaccelerator)|Retrieves the default shortcut key for the specified command and window.|
|[CKeyboardManager::IsKeyHandled](#iskeyhandled)|Determines whether a key is handled by the accelerator table.|
diff --git a/docs/mfc/reference/class-factories-and-licensing.md b/docs/mfc/reference/class-factories-and-licensing.md
index fc767af922e..224729e2ba4 100644
--- a/docs/mfc/reference/class-factories-and-licensing.md
+++ b/docs/mfc/reference/class-factories-and-licensing.md
@@ -14,7 +14,7 @@ The following table lists several macros and functions used to declare and imple
### Class Factories and Licensing
-|||
+|Macro or function|Description|
|-|-|
|[DECLARE_OLECREATE_EX](#declare_olecreate_ex)|Declares the class factory for an OLE control or property page.|
|[IMPLEMENT_OLECREATE_EX](#implement_olecreate_ex)|Implements the control's `GetClassID` function and declares an instance of the class factory.|
diff --git a/docs/mfc/reference/cmditabinfo-class.md b/docs/mfc/reference/cmditabinfo-class.md
index 935d9d55f4d..686e3354fa1 100644
--- a/docs/mfc/reference/cmditabinfo-class.md
+++ b/docs/mfc/reference/cmditabinfo-class.md
@@ -179,7 +179,7 @@ CMFCTabCtrl::Style m_style
Specify one of the following styles for the tab labels:
-|||
+|Macro|Description|
|-|-|
|STYLE_3D|3D style. |
|STYLE_3D_ONENOTE|Microsoft OneNote style. |
diff --git a/docs/mfc/reference/cmfcbasevisualmanager-class.md b/docs/mfc/reference/cmfcbasevisualmanager-class.md
index a3ae7cdd78c..54d287f9a01 100644
--- a/docs/mfc/reference/cmfcbasevisualmanager-class.md
+++ b/docs/mfc/reference/cmfcbasevisualmanager-class.md
@@ -23,17 +23,15 @@ class CMFCBaseVisualManager: public CObject
### Public Constructors
-|||
-|-|-|
|Name|Description|
+|-|-|
|[CMFCBaseVisualManager::CMFCBaseVisualManager](#cmfcbasevisualmanager)|Constructs and initializes a `CMFCBaseVisualManager` object.|
|`CMFCBaseVisualManager::~CMFCBaseVisualManager`|Destructor.|
### Public Methods
-|||
-|-|-|
|Name|Description|
+|-|-|
|[CMFCBaseVisualManager::DrawCheckBox](#drawcheckbox)|Draws a check box control by using the current Windows theme.|
|[CMFCBaseVisualManager::DrawComboBorder](#drawcomboborder)|Draws a combo box border using the current Windows theme.|
|[CMFCBaseVisualManager::DrawComboDropButton](#drawcombodropbutton)|Draws a combo box drop-down button using the current Windows theme.|
@@ -45,9 +43,8 @@ class CMFCBaseVisualManager: public CObject
### Protected Methods
-|||
-|-|-|
|Name|Description|
+|-|-|
|[CMFCBaseVisualManager::CleanUpThemes](#cleanupthemes)|Calls `CloseThemeData` for all handles obtained in `UpdateSystemColors`.|
|[CMFCBaseVisualManager::UpdateSystemColors](#updatesystemcolors)|Calls `OpenThemeData` to obtain handles for drawing various controls: windows, toolbars, buttons, and so on.|
diff --git a/docs/mfc/reference/cmfccmdusagecount-class.md b/docs/mfc/reference/cmfccmdusagecount-class.md
index 11b108deb8f..27fab3bf963 100644
--- a/docs/mfc/reference/cmfccmdusagecount-class.md
+++ b/docs/mfc/reference/cmfccmdusagecount-class.md
@@ -19,17 +19,15 @@ class CMFCCmdUsageCount : public CObject
### Public Constructors
-|||
-|-|-|
|Name|Description|
+|-|-|
|`CMFCCmdUsageCount::CMFCCmdUsageCount`|Default constructor.|
|`CMFCCmdUsageCount::~CMFCCmdUsageCount`|Destructor.|
### Public Methods
-|||
-|-|-|
|Name|Description|
+|-|-|
|[CMFCCmdUsageCount::AddCmd](#addcmd)|Increments by one the counter that is associated with the given command.|
|[CMFCCmdUsageCount::GetCount](#getcount)|Retrieves the usage count that is associated with the given command ID.|
|[CMFCCmdUsageCount::HasEnoughInformation](#hasenoughinformation)|Determines whether this object has collected the minimum amount of tracking data.|
@@ -40,9 +38,8 @@ class CMFCCmdUsageCount : public CObject
### Data Members
-|||
-|-|-|
|Name|Description|
+|-|-|
|`m_CmdUsage`|A `CMap` object that maps commands to their usage counts.|
|`m_nMinUsagePercentage`|The minimum usage percentage for a command to be frequently used.|
|`m_nStartCount`|The start counter that is used to determine whether this object has collected the minimum amount of tracking data.|
diff --git a/docs/mfc/reference/cmfccolorpopupmenu-class.md b/docs/mfc/reference/cmfccolorpopupmenu-class.md
index 97abf15617a..6062b256994 100644
--- a/docs/mfc/reference/cmfccolorpopupmenu-class.md
+++ b/docs/mfc/reference/cmfccolorpopupmenu-class.md
@@ -19,17 +19,15 @@ class CMFCColorPopupMenu : public CMFCPopupMenu
### Public Constructors
-|||
-|-|-|
|Name|Description|
+|-|-|
|[CMFCColorPopupMenu::CMFCColorPopupMenu](#cmfccolorpopupmenu)|Constructs a `CMFCColorPopupMenu` object.|
|`CMFCColorPopupMenu::~CMFCColorPopupMenu`|Destructor.|
### Public Methods
-|||
-|-|-|
|Name|Description|
+|-|-|
|[CMFCColorPopupMenu::CreateTearOffBar](#createtearoffbar)|Creates a dockable tear-off color bar. (Overrides [CMFCPopupMenu::CreateTearOffBar](../../mfc/reference/cmfcpopupmenu-class.md#createtearoffbar).)|
|[CMFCColorPopupMenu::GetMenuBar](#getmenubar)|Returns the [CMFCPopupMenuBar](../../mfc/reference/cmfcpopupmenubar-class.md) that is embedded inside the pop-up menu. (Overrides [CMFCPopupMenu::GetMenuBar](../../mfc/reference/cmfcpopupmenu-class.md#getmenubar).)|
|`CMFCColorPopupMenu::GetThisClass`|Used by the framework to obtain a pointer to the [CRuntimeClass](../../mfc/reference/cruntimeclass-structure.md) object that is associated with this class type.|
@@ -37,9 +35,8 @@ class CMFCColorPopupMenu : public CMFCPopupMenu
### Data Members
-|||
-|-|-|
|Name|Description|
+|-|-|
|`m_bEnabledInCustomizeMode`|A Boolean value that determines whether to show the color bar.|
|`m_wndColorBar`|The `CMFCColorBar` object that provides color selection.|
diff --git a/docs/mfc/reference/cmfccustomcolorspropertypage-class.md b/docs/mfc/reference/cmfccustomcolorspropertypage-class.md
index 03073e586af..29f8216906c 100644
--- a/docs/mfc/reference/cmfccustomcolorspropertypage-class.md
+++ b/docs/mfc/reference/cmfccustomcolorspropertypage-class.md
@@ -19,16 +19,14 @@ class CMFCCustomColorsPropertyPage : public CPropertyPage
### Public Constructors
-|||
-|-|-|
|Name|Description|
+|-|-|
|`CMFCCustomColorsPropertyPage::CMFCCustomColorsPropertyPage`|Default constructor.|
### Public Methods
-|||
-|-|-|
|Name|Description|
+|-|-|
|`CMFCCustomColorsPropertyPage::CreateObject`|Used by the framework to create a dynamic instance of this class type.|
|`CMFCCustomColorsPropertyPage::GetThisClass`|Used by the framework to obtain a pointer to the [CRuntimeClass](../../mfc/reference/cruntimeclass-structure.md) object that is associated with this class type.|
|[CMFCCustomColorsPropertyPage::Setup](#setup)|Sets the color components of the property page.|
diff --git a/docs/mfc/reference/cmfcdesktopalertwndbutton-class.md b/docs/mfc/reference/cmfcdesktopalertwndbutton-class.md
index 320718cecb7..63a8d7bf9b2 100644
--- a/docs/mfc/reference/cmfcdesktopalertwndbutton-class.md
+++ b/docs/mfc/reference/cmfcdesktopalertwndbutton-class.md
@@ -19,25 +19,22 @@ class CMFCDesktopAlertWndButton : public CMFCButton
### Public Constructors
-|||
-|-|-|
|Name|Description|
+|-|-|
|`CMFCDesktopAlertWndButton::CMFCDesktopAlertWndButton`|Default constructor.|
|`CMFCDesktopAlertWndButton::~CMFCDesktopAlertWndButton`|Destructor.|
### Public Methods
-|||
-|-|-|
|Name|Description|
+|-|-|
|[CMFCDesktopAlertWndButton::IsCaptionButton](#iscaptionbutton)|Determines whether the button is displayed in the caption area of the alert dialog box.|
|[CMFCDesktopAlertWndButton::IsCloseButton](#isclosebutton)|Determines whether the button closes the alert dialog box.|
### Data Members
-|||
-|-|-|
|Name|Description|
+|-|-|
|`CMFCDesktopAlertWndButton::m_bIsCaptionButton`|A Boolean value that specifies whether the button is displayed in the caption area of the alert dialog box.|
|`CMFCDesktopAlertWndButton::m_bIsCloseButton`|A Boolean value that specifies whether the button closes the alert dialog box.|
diff --git a/docs/mfc/reference/cmfcdisablemenuanimation-class.md b/docs/mfc/reference/cmfcdisablemenuanimation-class.md
index 7e34cc78227..b637f941455 100644
--- a/docs/mfc/reference/cmfcdisablemenuanimation-class.md
+++ b/docs/mfc/reference/cmfcdisablemenuanimation-class.md
@@ -19,24 +19,21 @@ class CMFCDisableMenuAnimation
### Public Constructors
-|||
-|-|-|
|Name|Description|
+|-|-|
|`CMFCDisableMenuAnimation::CMFCDisableMenuAnimation`|Constructs a `CMFCDisableMenuAnimation` object.|
|`CMFCDisableMenuAnimation::~CMFCDisableMenuAnimation`|Destructor.|
### Public Methods
-|||
-|-|-|
|Name|Description|
+|-|-|
|[CMFCDisableMenuAnimation::Restore](#restore)|Restores the previous animation that the framework used to display a pop-up menu.|
### Data Members
-|||
-|-|-|
|Name|Description|
+|-|-|
|`CMFCDisableMenuAnimation::m_animType`|Stores the previous pop-up menu animation type.|
### Remarks
diff --git a/docs/mfc/reference/cmfcdropdownframe-class.md b/docs/mfc/reference/cmfcdropdownframe-class.md
index bb4e93d7844..7787e73e92d 100644
--- a/docs/mfc/reference/cmfcdropdownframe-class.md
+++ b/docs/mfc/reference/cmfcdropdownframe-class.md
@@ -19,17 +19,15 @@ class CMFCDropDownFrame : public CMiniFrameWnd
### Public Constructors
-|||
-|-|-|
|Name|Description|
+|-|-|
|`CMFCDropDownFrame::CMFCDropDownFrame`|Default constructor.|
|`CMFCDropDownFrame::~CMFCDropDownFrame`|Destructor.|
### Public Methods
-|||
-|-|-|
|Name|Description|
+|-|-|
|[CMFCDropDownFrame::Create](#create)|Creates a `CMFCDropDownFrame` object.|
|`CMFCDropDownFrame::CreateObject`|Used by the framework to create a dynamic instance of this class type.|
|[CMFCDropDownFrame::GetParentMenuBar](#getparentmenubar)|Retrieves the parent menu bar of the drop-down frame.|
diff --git a/docs/mfc/reference/cmfcimageeditorpalettebar-class.md b/docs/mfc/reference/cmfcimageeditorpalettebar-class.md
index a1b2f59f326..60f90a71022 100644
--- a/docs/mfc/reference/cmfcimageeditorpalettebar-class.md
+++ b/docs/mfc/reference/cmfcimageeditorpalettebar-class.md
@@ -19,9 +19,8 @@ class CMFCImageEditorPaletteBar : public CMFCToolBar
### Public Methods
-|||
-|-|-|
|Name|Description|
+|-|-|
|[CMFCImageEditorPaletteBar::GetRowHeight](#getrowheight)|Returns the height of toolbar buttons. (Overrides [CMFCToolBar::GetRowHeight](../../mfc/reference/cmfctoolbar-class.md#getrowheight).)|
|[CMFCImageEditorPaletteBar::IsButtonExtraSizeAvailable](#isbuttonextrasizeavailable)|Determines whether the toolbar can display buttons that have extended borders. (Overrides [CMFCToolBar::IsButtonExtraSizeAvailable](../../mfc/reference/cmfctoolbar-class.md#isbuttonextrasizeavailable).)|
diff --git a/docs/mfc/reference/cmfcimagepaintarea-class.md b/docs/mfc/reference/cmfcimagepaintarea-class.md
index 45bd3414444..1fdc57ed887 100644
--- a/docs/mfc/reference/cmfcimagepaintarea-class.md
+++ b/docs/mfc/reference/cmfcimagepaintarea-class.md
@@ -19,17 +19,15 @@ class CMFCImagePaintArea : public CButton
### Public Constructors
-|||
-|-|-|
|Name|Description|
+|-|-|
|[CMFCImagePaintArea::CMFCImagePaintArea](#cmfcimagepaintarea)|Constructs a `CMFCImagePaintArea` object.|
|`CMFCImagePaintArea::~CMFCImagePaintArea`|Destructor.|
### Public Methods
-|||
-|-|-|
|Name|Description|
+|-|-|
|[CMFCImagePaintArea::GetMode](#getmode)|Retrieves the current drawing mode.|
|[CMFCImagePaintArea::SetBitmap](#setbitmap)|Sets the bitmap image for the picture area.|
|[CMFCImagePaintArea::SetColor](#setcolor)|Sets the current drawing color.|
diff --git a/docs/mfc/reference/cmfcimagepaintarea-image-edit-mode-enumeration.md b/docs/mfc/reference/cmfcimagepaintarea-image-edit-mode-enumeration.md
index 001abb6372a..87d4d2be8bb 100644
--- a/docs/mfc/reference/cmfcimagepaintarea-image-edit-mode-enumeration.md
+++ b/docs/mfc/reference/cmfcimagepaintarea-image-edit-mode-enumeration.md
@@ -25,9 +25,8 @@ enum IMAGE_EDIT_MODE
## Members
-|||
-|-|-|
|Name|Description|
+|-|-|
|IMAGE_EDIT_MODE_PEN|Used to draw individual pixels.|
|IMAGE_EDIT_MODE_FILL|Used to fill all adjacent areas that contain the color at the current cursor location.|
|IMAGE_EDIT_MODE_LINE|Used to draw a line.|
diff --git a/docs/mfc/reference/cmfcpopupmenu-class.md b/docs/mfc/reference/cmfcpopupmenu-class.md
index 17fbbe61a83..c949d1d145f 100644
--- a/docs/mfc/reference/cmfcpopupmenu-class.md
+++ b/docs/mfc/reference/cmfcpopupmenu-class.md
@@ -468,7 +468,7 @@ The style of animation for pop-up menus is global for your application. Use [CMF
The following table lists the possible animation types.
-|||
+|Value|Description|
|-|-|
|NO_ANIMATION|The pop-up menu is not animated and appears immediately. |
|UNFOLD|The framework reveals the pop-up menu from the upper-left corner to the lower right corner. |
diff --git a/docs/mfc/reference/cmfcprintpreviewtoolbar-class.md b/docs/mfc/reference/cmfcprintpreviewtoolbar-class.md
index 7a6d48ad3aa..91d0f0741dc 100644
--- a/docs/mfc/reference/cmfcprintpreviewtoolbar-class.md
+++ b/docs/mfc/reference/cmfcprintpreviewtoolbar-class.md
@@ -18,16 +18,14 @@ class CMFCPrintPreviewToolBar : public CMFCToolBar
### Public Constructors
-|||
-|-|-|
|Name|Description|
+|-|-|
|`CMFCPrintPreviewToolBar::~CMFCPrintPreviewToolBar`|Destructor.|
### Public Methods
-|||
-|-|-|
|Name|Description|
+|-|-|
|`CMFCPrintPreviewToolBar::GetThisClass`|Used by the framework to obtain a pointer to the [CRuntimeClass](../../mfc/reference/cruntimeclass-structure.md) object that is associated with this class type.|
## Inheritance Hierarchy
diff --git a/docs/mfc/reference/cmfcpropertygridtooltipctrl-class.md b/docs/mfc/reference/cmfcpropertygridtooltipctrl-class.md
index 5a52dc71619..5797f8f006a 100644
--- a/docs/mfc/reference/cmfcpropertygridtooltipctrl-class.md
+++ b/docs/mfc/reference/cmfcpropertygridtooltipctrl-class.md
@@ -19,17 +19,15 @@ class CMFCPropertyGridToolTipCtrl : public CWnd
### Public Constructors
-|||
-|-|-|
|Name|Description|
+|-|-|
|[CMFCPropertyGridToolTipCtrl::CMFCPropertyGridToolTipCtrl](#cmfcpropertygridtooltipctrl)|Constructs a `CMFCPropertyGridToolTipCtrl` object.|
|`CMFCPropertyGridToolTipCtrl::~CMFCPropertyGridToolTipCtrl`|Destructor.|
### Public Methods
-|||
-|-|-|
|Name|Description|
+|-|-|
|[CMFCPropertyGridToolTipCtrl::Create](#create)|Creates a window for the tooltip control.|
|[CMFCPropertyGridToolTipCtrl::Deactivate](#deactivate)|Deactivates and hides the tooltip control.|
|[CMFCPropertyGridToolTipCtrl::GetLastRect](#getlastrect)|Returns the coordinates of the last position of the tooltip control.|
diff --git a/docs/mfc/reference/cmfcribbonbar-class.md b/docs/mfc/reference/cmfcribbonbar-class.md
index 1da90ff9957..0a91ac153d2 100644
--- a/docs/mfc/reference/cmfcribbonbar-class.md
+++ b/docs/mfc/reference/cmfcribbonbar-class.md
@@ -861,7 +861,7 @@ The flags that indicate how much of the ribbon bar is visible.
The following table lists the possible combination of flags for the return value:
-|||
+|Flag|Description|
|-|-|
|AFX_RIBBONBAR_HIDE_ELEMENTS|The ribbon bar is minimized vertically and only the category tabs, main button, and quick access toolbar are visible. |
|AFX_RIBBONBAR_HIDE_ALL|The width of the ribbon bar is less than the minimum width and is completely hidden. |
@@ -897,7 +897,7 @@ int GetKeyboardNavigationLevel() const;
The current navigation level as the user presses the keytips that are contained on the ribbon bar. The following table lists possible return values:
-|||
+|Value|Description|
|-|-|
|-1|Keytips are not displayed.|
|0|Keytips are displayed.|
diff --git a/docs/mfc/reference/cmfcribbonbaseelement-class.md b/docs/mfc/reference/cmfcribbonbaseelement-class.md
index b1ae26364f4..1670c71c365 100644
--- a/docs/mfc/reference/cmfcribbonbaseelement-class.md
+++ b/docs/mfc/reference/cmfcribbonbaseelement-class.md
@@ -358,7 +358,7 @@ By default this method does nothing. Override this method in a derived class to
The following table lists possible values for the *type* parameter:
-|||
+|Value|Description|
|-|-|
| `RibbonImageLarge` | Large 32x32 pixel image size. |
| `RibbonImageSmall` | Small 16x16 pixel image size. |
diff --git a/docs/mfc/reference/cmfcribboncustomizepropertypage-class.md b/docs/mfc/reference/cmfcribboncustomizepropertypage-class.md
index d22d011f000..c0bb1e214d3 100644
--- a/docs/mfc/reference/cmfcribboncustomizepropertypage-class.md
+++ b/docs/mfc/reference/cmfcribboncustomizepropertypage-class.md
@@ -19,17 +19,15 @@ class CMFCRibbonCustomizePropertyPage: public CMFCPropertyPage
### Public Constructors
-|||
-|-|-|
|Name|Description|
+|-|-|
|[CMFCRibbonCustomizePropertyPage::CMFCRibbonCustomizePropertyPage](#cmfcribboncustomizepropertypage)|Constructs a `CMFCRibbonCustomizePropertyPage` object.|
|`CMFCRibbonCustomizePropertyPage::~CMFCRibbonCustomizePropertyPage`|Destructor.|
### Public Methods
-|||
-|-|-|
|Name|Description|
+|-|-|
|[CMFCRibbonCustomizePropertyPage::AddCustomCategory](#addcustomcategory)|Adds a custom category to the **Commands** combo box.|
|`CMFCRibbonCustomizePropertyPage::CreateObject`|Used by the framework to create a dynamic instance of this class type.|
|`CMFCRibbonCustomizePropertyPage::GetThisClass`|Used by the framework to obtain a pointer to the [CRuntimeClass](../../mfc/reference/cruntimeclass-structure.md) object that is associated with this class type.|
diff --git a/docs/mfc/reference/cmfcribbonseparator-class.md b/docs/mfc/reference/cmfcribbonseparator-class.md
index f856a0b0d90..9f339213b84 100644
--- a/docs/mfc/reference/cmfcribbonseparator-class.md
+++ b/docs/mfc/reference/cmfcribbonseparator-class.md
@@ -19,25 +19,22 @@ class CMFCRibbonSeparator : public CMFCRibbonBaseElement
### Public Constructors
-|||
-|-|-|
|Name|Description|
+|-|-|
|[CMFCRibbonSeparator::CMFCRibbonSeparator](#cmfcribbonseparator)|Constructs a `CMFCRibbonSeparator` object.|
### Public Methods
-|||
-|-|-|
|Name|Description|
+|-|-|
|[CMFCRibbonSeparator::AddToListBox](#addtolistbox)|Adds a separator to the **Commands** list in the **Customize** dialog box. (Overrides [CMFCRibbonBaseElement::AddToListBox](../../mfc/reference/cmfcribbonbaseelement-class.md#addtolistbox).)|
|`CMFCRibbonSeparator::CreateObject`|Used by the framework to create a dynamic instance of this class type.|
|`CMFCRibbonSeparator::GetThisClass`|Used by the framework to obtain a pointer to the [CRuntimeClass](../../mfc/reference/cruntimeclass-structure.md) object that is associated with this class type.|
### Protected Methods
-|||
-|-|-|
|Name|Description|
+|-|-|
|[CMFCRibbonSeparator::CopyFrom](#copyfrom)|A copy method that sets a separator's member variables from another object.|
|[CMFCRibbonSeparator::GetRegularSize](#getregularsize)|Returns the size of a separator.|
|[CMFCRibbonSeparator::IsSeparator](#isseparator)|Indicates whether this is a separator.|
diff --git a/docs/mfc/reference/cmfcstandardcolorspropertypage-class.md b/docs/mfc/reference/cmfcstandardcolorspropertypage-class.md
index 9859699882d..6df8e485b08 100644
--- a/docs/mfc/reference/cmfcstandardcolorspropertypage-class.md
+++ b/docs/mfc/reference/cmfcstandardcolorspropertypage-class.md
@@ -18,16 +18,14 @@ class CMFCStandardColorsPropertyPage : public CPropertyPage
### Public Constructors
-|||
-|-|-|
|Name|Description|
+|-|-|
|`CMFCStandardColorsPropertyPage::CMFCStandardColorsPropertyPage`|Default constructor.|
### Public Methods
-|||
-|-|-|
|Name|Description|
+|-|-|
|`CMFCStandardColorsPropertyPage::CreateObject`|Used by the framework to create a dynamic instance of this class type.|
|`CMFCStandardColorsPropertyPage::GetThisClass`|Used by the framework to obtain a pointer to the [CRuntimeClass](../../mfc/reference/cruntimeclass-structure.md) object that is associated with this class type.|
diff --git a/docs/mfc/reference/cmfctabdroptarget-class.md b/docs/mfc/reference/cmfctabdroptarget-class.md
index 3f68de29090..6323989b6ee 100644
--- a/docs/mfc/reference/cmfctabdroptarget-class.md
+++ b/docs/mfc/reference/cmfctabdroptarget-class.md
@@ -19,16 +19,14 @@ class CMFCTabDropTarget : public COleDropTarget
### Public Constructors
-|||
-|-|-|
|Name|Description|
+|-|-|
|`CMFCTabDropTarget::CMFCTabDropTarget`|Default constructor.|
### Public Methods
-|||
-|-|-|
|Name|Description|
+|-|-|
|[CMFCTabDropTarget::OnDragEnter](#ondragenter)|Called by the framework when the user drags an object into a tab window. (Overrides [COleDropTarget::OnDragEnter](../../mfc/reference/coledroptarget-class.md#ondragenter).)|
|[CMFCTabDropTarget::OnDragLeave](#ondragleave)|Called by the framework when the user drags an object outside of the tab window that has focus. (Overrides [COleDropTarget::OnDragLeave](../../mfc/reference/coledroptarget-class.md#ondragleave).)|
|[CMFCTabDropTarget::OnDragOver](#ondragover)|Called by the framework when the user drags an object onto the tab window that has focus. (Overrides [COleDropTarget::OnDragOver](../../mfc/reference/coledroptarget-class.md#ondragover).)|
diff --git a/docs/mfc/reference/cmfctoolbarscustomizedialog-class.md b/docs/mfc/reference/cmfctoolbarscustomizedialog-class.md
index ed67787f53d..360c1c0c021 100644
--- a/docs/mfc/reference/cmfctoolbarscustomizedialog-class.md
+++ b/docs/mfc/reference/cmfctoolbarscustomizedialog-class.md
@@ -476,7 +476,7 @@ The set of flags that affect the behavior of the dialog box.
This method retrieves the value of the *uiFlags* parameter that is passed to the constructor. The return value can be one or more of the following values:
-|||
+|Name|Description|
|-|-|
|AFX_CUSTOMIZE_MENU_SHADOWS|Allows the user to specify the shadow appearance of the menu. |
|AFX_CUSTOMIZE_TEXT_LABELS|Allows the user to specify whether text labels are shown underneath the toolbar button images. |
diff --git a/docs/mfc/reference/colecontrol-class.md b/docs/mfc/reference/colecontrol-class.md
index 606c331152a..b58cd45f2ec 100644
--- a/docs/mfc/reference/colecontrol-class.md
+++ b/docs/mfc/reference/colecontrol-class.md
@@ -1095,7 +1095,7 @@ void FireReadyStateChange();
The ready state can be one of the following values:
-|||
+|Name|Description|
|-|-|
|READYSTATE_UNINITIALIZED|Default initialization state|
|READYSTATE_LOADING|Control is currently loading its properties|
@@ -1119,7 +1119,7 @@ virtual DWORD GetActivationPolicy();
A combination of flags from the POINTERINACTIVE enumeration. Possible flags are:
-|||
+|Name|Description|
|-|-|
|POINTERINACTIVE_ACTIVATEONENTRY|The object should be in-place activated when the mouse enters it during a mouse move operation.|
|POINTERINACTIVE_DEACTIVATEONLEAVE|The object should be deactivated when the mouse leaves the object during a mouse move operation.|
@@ -1345,7 +1345,7 @@ enum ControlFlags {
By default, `GetControlFlags` returns `fastBeginPaint | clipPaintDC`.
-|||
+|Name|Description|
|-|-|
|`fastBeginPaint`|If set, uses a begin-paint function tailored for OLE controls instead of the [BeginPaint](/windows/win32/api/winuser/nf-winuser-beginpaint) API (set by default).|
|`clipPaintDC`|If not set, disables the call to `IntersectClipRect` made by `COleControl` and gains a small speed advantage. If you are using windowless activation, the flag has no effect.|
@@ -1568,7 +1568,7 @@ long GetReadyState();
The readiness state of the control, one of the following values:
-|||
+|Name|Description|
|-|-|
|READYSTATE_UNINITIALIZED|Default initialization state|
|READYSTATE_LOADING|Control is currently loading its properties|
@@ -1716,7 +1716,7 @@ void InternalSetReadyState(long lNewReadyState);
*lNewReadyState*
The readiness state to set for the control, one of the following values:
-|||
+|Name|Description|
|-|-|
|READYSTATE_UNINITIALIZED|Default initialization state|
|READYSTATE_LOADING|Control is currently loading its properties|
@@ -2497,7 +2497,7 @@ virtual DWORD OnGetViewStatus();
One of the values of the VIEWSTATUS enumeration if successful; otherwise 0. Possible values are any combination of the following:
-|||
+|Name|Description|
|-|-|
|VIEWSTATUS_OPAQUE|Object is completely opaque. If this bit is not set, the object contains transparent parts. This bit applies only to content-related aspects and not to DVASPECT_ICON or DVASPECT_DOCPRINT.|
|VIEWSTATUS_SOLIDBKGND|Object has a solid background (consisting in a solid color, not a brush pattern). This bit is meaningful only if VIEWSTATUS_OPAQUE is set and applies only to content-related aspects and not to DVASPECT_ICON or DVASPECT_DOCPRINT.|
diff --git a/docs/mfc/reference/collection-class-helpers.md b/docs/mfc/reference/collection-class-helpers.md
index f868746cda6..c244a1d40d8 100644
--- a/docs/mfc/reference/collection-class-helpers.md
+++ b/docs/mfc/reference/collection-class-helpers.md
@@ -12,7 +12,7 @@ The Microsoft Foundation Class Library provides the following global functions i
### Collection Class Helpers
-|||
+|Name|Description|
|-|-|
|[CompareElements](#compareelements)|Indicates whether elements are the same.|
|[CopyElements](#copyelements)|Copies elements from one array to another.|
diff --git a/docs/mfc/reference/connection-maps.md b/docs/mfc/reference/connection-maps.md
index e2a0ef3fc65..53991e31a26 100644
--- a/docs/mfc/reference/connection-maps.md
+++ b/docs/mfc/reference/connection-maps.md
@@ -14,7 +14,7 @@ Typically, a control will support just two connection points: one for events and
### Connection Map Declaration and Demarcation
-|||
+|Name|Description|
|-|-|
|[BEGIN_CONNECTION_PART](#begin_connection_part)|Declares an embedded class that implements an additional connection point (must be used in the class declaration).|
|[END_CONNECTION_PART](#end_connection_part)|Ends the declaration of a connection point (must be used in the class declaration).|
@@ -28,7 +28,7 @@ The following functions assist a sink in establishing and disconnecting a connec
### Initialization/Termination of Connection Points
-|||
+|Name|Description|
|-|-|
|[AfxConnectionAdvise](#afxconnectionadvise)|Establishes a connection between a source and a sink.|
|[AfxConnectionUnadvise](#afxconnectionunadvise)|Breaks a connection between a source and a sink.|
diff --git a/docs/mfc/reference/csimpleexception-class.md b/docs/mfc/reference/csimpleexception-class.md
index 5ba11e49e3f..0bbb979d7b8 100644
--- a/docs/mfc/reference/csimpleexception-class.md
+++ b/docs/mfc/reference/csimpleexception-class.md
@@ -33,7 +33,7 @@ class AFX_NOVTABLE CSimpleException : public CException
`CSimpleException` is the base class for resource-critical MFC exceptions and handles the ownership and initialization of an error message. The following classes use `CSimpleException` as their base class:
-|||
+|Name|Description|
|-|-|
|[CMemoryException Class](../../mfc/reference/cmemoryexception-class.md)|Out-of-memory exception|
|[CNotSupportedException Class](../../mfc/reference/cnotsupportedexception-class.md)|Requests for an unsupported operation|
diff --git a/docs/mfc/reference/cstring-formatting-and-message-box-display.md b/docs/mfc/reference/cstring-formatting-and-message-box-display.md
index cd3a8bd04f8..4ff71176436 100644
--- a/docs/mfc/reference/cstring-formatting-and-message-box-display.md
+++ b/docs/mfc/reference/cstring-formatting-and-message-box-display.md
@@ -12,7 +12,7 @@ This group of functions also includes a global routine for displaying a message
### CString Functions
-|||
+|Name|Description|
|-|-|
|[AfxExtractSubString](#afxextractsubstring)|Extracts substrings separated by a single character from a given source string.|
|[AfxFormatString1](#afxformatstring1)|Substitutes a given string for the format characters "%1" in a string contained in the string table.|
diff --git a/docs/mfc/reference/ctaskdialog-class.md b/docs/mfc/reference/ctaskdialog-class.md
index 9cf5b75eadf..f9c74d7fc58 100644
--- a/docs/mfc/reference/ctaskdialog-class.md
+++ b/docs/mfc/reference/ctaskdialog-class.md
@@ -19,13 +19,13 @@ class CTaskDialog : public CObject
### Constructors
-|||
+|Name|Description|
|-|-|
|[CTaskDialog::CTaskDialog](#ctaskdialog)|Constructs a `CTaskDialog` object.|
### Methods
-|||
+|Name|Description|
|-|-|
|[CTaskDialog::AddCommandControl](#addcommandcontrol)|Adds a command button control to the `CTaskDialog`.|
|[CTaskDialog::AddRadioButton](#addradiobutton)|Adds a radio button to the `CTaskDialog`.|
@@ -84,7 +84,7 @@ class CTaskDialog : public CObject
### Data Members
-|||
+|Name|Description|
|-|-|
|`m_aButtons`|The array of command button controls for the `CTaskDialog`.|
|`m_aRadioButtons`|The array of radio button controls for the `CTaskDialog`.|
@@ -1167,7 +1167,7 @@ This method clears all the current options for the `CTaskDialog`. To preserve th
The following table lists all the valid options.
-|||
+|Name|Description|
|-|-|
|TDF_ENABLE_HYPERLINKS|Enables hyperlinks in the `CTaskDialog`.|
|TDF_USE_HICON_MAIN|Configures the `CTaskDialog` to use a `HICON` for the main icon. The alternative is to use a `LPCWSTR`.|
@@ -1290,7 +1290,7 @@ This method throws an exception with the [ENSURE](diagnostic-services.md#ensure)
The following table lists the possible values for *nState*. In all these cases, the progress bar will fill with the regular color until it reaches the designated stop position. At that point it will change color based on the state.
-|||
+|Name|Description|
|-|-|
|PBST_NORMAL|After the progress bar fills, the `CTaskDialog` does not change the color of the bar. By default, the regular color is green.|
|PBST_ERROR|After the progress bar fills, the `CTaskDialog` changes the color of the bar to the error color. By default, this is red.|
diff --git a/docs/mfc/reference/ctreectrl-class.md b/docs/mfc/reference/ctreectrl-class.md
index f9929e2b8e3..c33e192e37c 100644
--- a/docs/mfc/reference/ctreectrl-class.md
+++ b/docs/mfc/reference/ctreectrl-class.md
@@ -1200,9 +1200,8 @@ The handle of the tree view item that occupies the specified point or NULL if no
When this function is called, the *pt* parameter specifies the coordinates of the point to test. The function returns the handle of the item at the specified point or NULL if no item occupies the point. In addition, the *pFlags* parameter contains a value that indicates the location of the specified point. Possible values are:
-|||
+|Value|Description|
|-|-|
-|Value|Meaning|
|TVHT_ABOVE|Above the client area.|
|TVHT_BELOW|Below the client area.|
|TVHT_NOWHERE|In the client area, but below the last item.|
@@ -1215,7 +1214,6 @@ When this function is called, the *pt* parameter specifies the coordinates of th
|TVHT_ONITEMSTATEICON|On the state icon for a tree-view item that is in a user-defined state.|
|TVHT_TOLEFT|To the left of the client area.|
|TVHT_TORIGHT|To the right of the client area.|
-|||
### Example
diff --git a/docs/mfc/reference/cwinapp-class.md b/docs/mfc/reference/cwinapp-class.md
index 4ded563f598..4b316b9eb3f 100644
--- a/docs/mfc/reference/cwinapp-class.md
+++ b/docs/mfc/reference/cwinapp-class.md
@@ -1109,9 +1109,8 @@ DWORD m_dwRestartManagerSupportFlags;
To enable the restart manager, set `m_dwRestartManagerSupportFlags` to the behavior that you want. The following table shows the flags that are available.
-|||
-|-|-|
|Flag|Description|
+|-|-|
|AFX_RESTART_MANAGER_SUPPORT_RESTART|The application is registered by using [CWinApp::RegisterWithRestartManager](#registerwithrestartmanager). The restart manager is responsible for restarting the application if it unexpectedly exits.|
|- AFX_RESTART_MANAGER_SUPPORT_RECOVERY|The application is registered with the restart manager and the restart manager calls the recovery callback function when it restarts the application. The default recovery callback function is [CWinApp::ApplicationRecoveryCallback](#applicationrecoverycallback).|
|- AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART|Autosave is enabled and the restart manager autosaves any open documents when the application restarts.|
diff --git a/docs/mfc/reference/cwnd-class.md b/docs/mfc/reference/cwnd-class.md
index 3213cba5bed..66a4b90a7e3 100644
--- a/docs/mfc/reference/cwnd-class.md
+++ b/docs/mfc/reference/cwnd-class.md
@@ -4860,7 +4860,7 @@ Use the global function [AfxMessageBox](../../mfc/reference/cstring-formatting-a
The following shows the various system icons that can be used in a message box:
-|||
+|Icon|Macro|
|-|-|
| icon")|MB_ICONHAND, MB_ICONSTOP, and MB_ICONERROR|
| icon")|MB_ICONQUESTION|
diff --git a/docs/mfc/reference/dao-database-engine-initialization-and-termination.md b/docs/mfc/reference/dao-database-engine-initialization-and-termination.md
index 1ff0fbbb6f2..e9c287af6bb 100644
--- a/docs/mfc/reference/dao-database-engine-initialization-and-termination.md
+++ b/docs/mfc/reference/dao-database-engine-initialization-and-termination.md
@@ -10,7 +10,7 @@ DAO is used with Access databases and is supported through Office 2013. DAO 3.6
### DAO Database Engine Initialization and Termination
-|||
+|Name|Description|
|-|-|
|[AfxDaoInit](#afxdaoinit)|Initializes the DAO database engine.|
|[AfxDaoTerm](#afxdaoterm)|Terminates the DAO database engine.|
diff --git a/docs/mfc/reference/database-macros-and-globals.md b/docs/mfc/reference/database-macros-and-globals.md
index a090600ce4e..0f565d229b9 100644
--- a/docs/mfc/reference/database-macros-and-globals.md
+++ b/docs/mfc/reference/database-macros-and-globals.md
@@ -13,7 +13,7 @@ Before MFC 4.2, the macros `AFX_SQL_ASYNC` and `AFX_SQL_SYNC` gave asynchronous
### Database Macros
-|||
+|Name|Description|
|-|-|
|[AFX_ODBC_CALL](#afx_odbc_call)|Calls an ODBC API function that returns `SQL_STILL_EXECUTING`. `AFX_ODBC_CALL` will repeatedly call the function until it no longer returns `SQL_STILL_EXECUTING`.|
|[AFX_SQL_ASYNC](#afx_sql_async)|Calls `AFX_ODBC_CALL`.|
@@ -21,7 +21,7 @@ Before MFC 4.2, the macros `AFX_SQL_ASYNC` and `AFX_SQL_SYNC` gave asynchronous
### Database Globals
-|||
+|Name|Description|
|-|-|
|[AfxDbInitModule](#afxdbinitmodule)|Adds database support for a regular MFC DLL that is dynamically linked to MFC.|
|[AfxGetHENV](#afxgethenv)|Retrieves a handle to the ODBC environment currently in use by MFC. You can use this handle in direct ODBC calls.|
diff --git a/docs/mfc/reference/ddx-dhtml-helper-macros.md b/docs/mfc/reference/ddx-dhtml-helper-macros.md
index 3c9aa253451..756660243a2 100644
--- a/docs/mfc/reference/ddx-dhtml-helper-macros.md
+++ b/docs/mfc/reference/ddx-dhtml-helper-macros.md
@@ -11,7 +11,7 @@ The DDX_DHtml helper macros allow easy access to the commonly used properties of
### Data Exchange Macros
-|||
+|Name|Description|
|-|-|
|[DDX_DHtml_ElementValue](#ddx_dhtml_elementvalue)|Sets or retrieves the Value property from the selected control.|
|[DDX_DHtml_ElementInnerText](#ddx_dhtml_elementinnertext)|Sets or retrieves the text between the start and end tags of the current element.|
diff --git a/docs/mfc/reference/delegate-and-interface-maps.md b/docs/mfc/reference/delegate-and-interface-maps.md
index d8928e13469..2382a703af2 100644
--- a/docs/mfc/reference/delegate-and-interface-maps.md
+++ b/docs/mfc/reference/delegate-and-interface-maps.md
@@ -8,7 +8,7 @@ ms.assetid: 3840e642-ff7d-4bdc-998b-c7d8fc50890e
MFC supports these macros for delegate and interface maps:
-|||
+|Name|Description|
|-|-|
|[BEGIN_DELEGATE_MAP](#begin_delegate_map)|Begins a delegate map.|
|[BEGIN_INTERFACE_MAP](#begin_interface_map)|Begins the definition of the interfaced map.|
diff --git a/docs/mfc/reference/dhtml-editing-command-maps.md b/docs/mfc/reference/dhtml-editing-command-maps.md
index 32a765a848e..07ace5b53dd 100644
--- a/docs/mfc/reference/dhtml-editing-command-maps.md
+++ b/docs/mfc/reference/dhtml-editing-command-maps.md
@@ -9,7 +9,7 @@ The following macros can be used to map DHTML editing commands in [CHtmlEditView
### DHTML Editing Command Map Macros
-|||
+|Name|Description|
|-|-|
|[DECLARE_DHTMLEDITING_CMDMAP](#declare_dhtmlediting_cmdmap)|Declares a DHTML editing command map in a class.|
|[BEGIN_DHTMLEDITING_CMDMAP](#begin_dhtmlediting_cmdmap)|Starts the definition of a DHTML editing command map within a class.|
diff --git a/docs/mfc/reference/dhtml-event-maps.md b/docs/mfc/reference/dhtml-event-maps.md
index 6a34a4ffbf5..1987b0415f9 100644
--- a/docs/mfc/reference/dhtml-event-maps.md
+++ b/docs/mfc/reference/dhtml-event-maps.md
@@ -13,7 +13,7 @@ The following macros can be used to handle DHTML events.
The following macros can be used to handle DHTML events in [CDHtmlDialog](../../mfc/reference/cdhtmldialog-class.md)-derived classes.
-|||
+|Name|Description|
|-|-|
|[BEGIN_DHTML_EVENT_MAP](#begin_dhtml_event_map)|Marks the start of the DHTML event map.|
|[BEGIN_DHTML_EVENT_MAP_INLINE](#begin_dhtml_event_map_inline)|Marks the start of the DHTML event map.|
@@ -56,7 +56,7 @@ The following macros can be used to handle DHTML events in [CDHtmlDialog](../../
The following macros can be used to handle DHTML events in [CMultiPageDHtmlDialog](../../mfc/reference/cmultipagedhtmldialog-class.md)-derived classes.
-|||
+|Name|Description|
|-|-|
|[BEGIN_DHTML_URL_EVENT_MAP](#begin_dhtml_url_event_map)|Marks the start of the multipage DHTML and URL event map.|
|[BEGIN_EMBED_DHTML_EVENT_MAP](#begin_embed_dhtml_event_map)|Marks the start of an embedded DHTML event map.|
diff --git a/docs/mfc/reference/diagnostic-services.md b/docs/mfc/reference/diagnostic-services.md
index 98ab834f11e..33bab79f02a 100644
--- a/docs/mfc/reference/diagnostic-services.md
+++ b/docs/mfc/reference/diagnostic-services.md
@@ -26,7 +26,7 @@ In addition, the C run-time library also supports a set of diagnostic functions
### MFC General Diagnostic Macros
-|||
+|Name|Description|
|-|-|
|[ASSERT](#assert)|Prints a message and then aborts the program if the specified expression evaluates to FALSE in the Debug version of the library.|
|[ASSERT_KINDOF](#assert_kindof)|Tests that an object is an object of the specified class or of a class derived from the specified class.|
@@ -40,7 +40,7 @@ In addition, the C run-time library also supports a set of diagnostic functions
### MFC General Diagnostic Variables and Functions
-|||
+|Name|Description|
|-|-|
|[afxDump](#afxdump)|Global variable that sends [CDumpContext](../../mfc/reference/cdumpcontext-class.md) information to the debugger output window or to the debug terminal.|
|[afxMemDF](#afxmemdf)|Global variable that controls the behavior of the debugging memory allocator.|
@@ -59,14 +59,14 @@ In addition, the C run-time library also supports a set of diagnostic functions
### MFC Object Diagnostic Functions
-|||
+|Name|Description|
|-|-|
|[AfxDoForAllClasses](#afxdoforallclasses)|Performs a specified function on all `CObject`-derived classes that support run-time type checking.|
|[AfxDoForAllObjects](#afxdoforallobjects)|Performs a specified function on all `CObject`-derived objects that were allocated with **`new`**.|
### MFC Compilation Macros
-|||
+|Name|Description|
|-|-|
|[_AFX_SECURE_NO_WARNINGS](#afx_secure_no_warnings)|Suppresses compiler warnings for the use of deprecated MFC functions.|
diff --git a/docs/mfc/reference/dialog-data-exchange-functions-for-crecordview-and-cdaorecordview.md b/docs/mfc/reference/dialog-data-exchange-functions-for-crecordview-and-cdaorecordview.md
index feeda819ad4..6f5a6747660 100644
--- a/docs/mfc/reference/dialog-data-exchange-functions-for-crecordview-and-cdaorecordview.md
+++ b/docs/mfc/reference/dialog-data-exchange-functions-for-crecordview-and-cdaorecordview.md
@@ -14,7 +14,7 @@ This topic lists the DDX_Field functions used to exchange data between a [CRecor
### DDX_Field Functions
-|||
+|Name|Description|
|-|-|
|[DDX_FieldCBIndex](#ddx_fieldcbindex)|Transfers integer data between a recordset field data member and the index of the current selection in a combo box in a [CRecordView](../../mfc/reference/crecordview-class.md) or [CDaoRecordView](../../mfc/reference/cdaorecordview-class.md).|
|[DDX_FieldCBString](#ddx_fieldcbstring)|Transfers `CString` data between a recordset field data member and the edit control of a combo box in a `CRecordView` or `CDaoRecordView`. When moving data from the recordset to the control, this function selects the item in the combo box that begins with the characters in the specified string.|
diff --git a/docs/mfc/reference/dialog-data-exchange-functions-for-ole-controls.md b/docs/mfc/reference/dialog-data-exchange-functions-for-ole-controls.md
index 7a372fd7e30..abe71b210b8 100644
--- a/docs/mfc/reference/dialog-data-exchange-functions-for-ole-controls.md
+++ b/docs/mfc/reference/dialog-data-exchange-functions-for-ole-controls.md
@@ -11,7 +11,7 @@ This topic lists the DDX_OC functions used to exchange data between a property o
### DDX_OC Functions
-|||
+|Name|Description|
|-|-|
|[DDX_OCBool](#ddx_ocbool)|Manages the transfer of **BOOL** data between a property of an OLE control and a **BOOL** data member.|
|[DDX_OCBoolRO](#ddx_ocboolro)|Manages the transfer of **BOOL** data between a read-only property of an OLE control and a **BOOL** data member.|
diff --git a/docs/mfc/reference/event-maps.md b/docs/mfc/reference/event-maps.md
index 771aa208319..0f08eadcd00 100644
--- a/docs/mfc/reference/event-maps.md
+++ b/docs/mfc/reference/event-maps.md
@@ -22,7 +22,7 @@ To support event maps, MFC provides the following macros:
### Event Map Declaration and Demarcation
-|||
+|Name|Description|
|-|-|
|[DECLARE_EVENT_MAP](#declare_event_map)|Declares that an event map will be used in a class to map events to event-firing functions (must be used in the class declaration).|
|[BEGIN_EVENT_MAP](#begin_event_map)|Begins the definition of an event map (must be used in the class implementation).|
@@ -30,14 +30,14 @@ To support event maps, MFC provides the following macros:
### Event Mapping Macros
-|||
+|Name|Description|
|-|-|
|[EVENT_CUSTOM](#event_custom)|Indicates which event-firing function will fire the specified event.|
|[EVENT_CUSTOM_ID](#event_custom_id)|Indicates which event-firing function will fire the specified event, with a designated dispatch ID.|
### Message Mapping Macros
-|||
+|Name|Description|
|-|-|
|[ON_OLEVERB](#on_oleverb)|Indicates a custom verb handled by the OLE control.|
|[ON_STDOLEVERB](#on_stdoleverb)|Overrides a standard verb mapping of the OLE control.|
diff --git a/docs/mfc/reference/event-sink-maps.md b/docs/mfc/reference/event-sink-maps.md
index c7c57ad566d..6bf3ead181e 100644
--- a/docs/mfc/reference/event-sink-maps.md
+++ b/docs/mfc/reference/event-sink-maps.md
@@ -10,7 +10,7 @@ When an embedded OLE control fires an event, the control's container receives th
### Event Sink Maps
-|||
+|Name|Description|
|-|-|
|[BEGIN_EVENTSINK_MAP](#begin_eventsink_map)|Starts the definition of an event sink map.|
|[DECLARE_EVENTSINK_MAP](#declare_eventsink_map)|Declares an event sink map.|
diff --git a/docs/mfc/reference/exception-processing.md b/docs/mfc/reference/exception-processing.md
index 214d7181422..da37c36d608 100644
--- a/docs/mfc/reference/exception-processing.md
+++ b/docs/mfc/reference/exception-processing.md
@@ -22,7 +22,7 @@ For examples and more details, see the article [Exceptions](../../mfc/exception-
### Exception Macros
-|||
+|Name|Description|
|-|-|
|[TRY](#try)|Designates a block of code for exception processing.|
|[CATCH](#catch)|Designates a block of code for catching an exception from the preceding **TRY** block.|
@@ -36,7 +36,7 @@ For examples and more details, see the article [Exceptions](../../mfc/exception-
### Exception-Throwing Functions
-|||
+|Name|Description|
|-|-|
|[AfxThrowArchiveException](#afxthrowarchiveexception)|Throws an archive exception.|
|[AfxThrowFileException](#afxthrowfileexception)|Throws a file exception.|
@@ -50,7 +50,7 @@ MFC provides two exception-throwing functions specifically for OLE exceptions:
### OLE Exception Functions
-|||
+|Name|Description|
|-|-|
|[AfxThrowOleDispatchException](#afxthrowoledispatchexception)|Throws an exception within an OLE automation function.|
|[AfxThrowOleException](#afxthrowoleexception)|Throws an OLE exception.|
@@ -59,7 +59,7 @@ To support database exceptions, the database classes provide two exception class
### DAO Exception Functions
-|||
+|Name|Description|
|-|-|
|[AfxThrowDAOException](#afxthrowdaoexception)|Throws a [CDaoException](../../mfc/reference/cdaoexception-class.md) from your own code.|
|[AfxThrowDBException](#afxthrowdbexception)|Throws a [CDBException](../../mfc/reference/cdbexception-class.md) from your own code.|
@@ -68,7 +68,7 @@ MFC provides the following termination function:
### Termination Functions
-|||
+|Name|Description|
|-|-|
|[AfxAbort](#afxabort)|Called to terminate an application when a fatal error occurs.|
diff --git a/docs/mfc/reference/extension-dll-macros.md b/docs/mfc/reference/extension-dll-macros.md
index b9cd69920f1..e720f7d9d86 100644
--- a/docs/mfc/reference/extension-dll-macros.md
+++ b/docs/mfc/reference/extension-dll-macros.md
@@ -6,7 +6,7 @@ ms.assetid: 303f4161-cb5e-4099-81ad-acdb11aa60fb
---
# Macros and Functions for Managing DLLs
-|||
+|Name|Description|
|-|-|
|[AFX_EXT_CLASS](#afx_ext_class)]|Exports classes.|
|[AFX_MANAGE_STATE](#afx_manage_state)|Protect an exported function in a DLL.|
diff --git a/docs/mfc/reference/gray-and-dithered-bitmap-functions.md b/docs/mfc/reference/gray-and-dithered-bitmap-functions.md
index 28f3d0e8941..0f350852eb6 100644
--- a/docs/mfc/reference/gray-and-dithered-bitmap-functions.md
+++ b/docs/mfc/reference/gray-and-dithered-bitmap-functions.md
@@ -13,7 +13,7 @@ MFC provides two functions for giving a bitmap the appearance of a disabled cont

-|||
+|Name|Description|
|-|-|
|[AfxDrawGrayBitmap](#afxdrawgraybitmap)|Draws a gray version of a bitmap.|
|[AfxGetGrayBitmap](#afxgetgraybitmap)|Copies a gray version of a bitmap.|
@@ -24,7 +24,7 @@ MFC also provides two functions for replacing a bitmap's background with a dithe

-|||
+|Name|Description|
|-|-|
|[AfxDrawDitheredBitmap](#afxdrawditheredbitmap)|Draws a bitmap with a dithered background.|
|[AfxGetDitheredBitmap](#afxgetditheredbitmap)|Copies a bitmap with a dithered background.|
diff --git a/docs/mfc/reference/internet-url-parsing-globals.md b/docs/mfc/reference/internet-url-parsing-globals.md
index 29266bc4c67..bca4c25f9ca 100644
--- a/docs/mfc/reference/internet-url-parsing-globals.md
+++ b/docs/mfc/reference/internet-url-parsing-globals.md
@@ -10,14 +10,14 @@ When a client sends a query to the Internet server, you can use one of the URL p
## Internet URL Parsing Globals
-|||
+|Name|Description|
|-|-|
|[AfxParseURL](#afxparseurl)|Parses a URL string and returns the type of service and its components.|
|[AfxParseURLEx](#afxparseurlex)|Parses a URL string and returns the type of service and its components, as well as providing the user name and password.|
## Other Internet Helpers
-|||
+|Name|Description|
|-|-|
|[AfxThrowInternetException](#afxthrowinternetexception)|Throws an exception related to the internet connection.|
|[AfxGetInternetHandleType](#afxgetinternethandletype)|Determines the type of an Internet handle.|
diff --git a/docs/mfc/reference/message-map-macros-mfc.md b/docs/mfc/reference/message-map-macros-mfc.md
index 317bc24eebc..cb49b9d1815 100644
--- a/docs/mfc/reference/message-map-macros-mfc.md
+++ b/docs/mfc/reference/message-map-macros-mfc.md
@@ -11,7 +11,7 @@ To support message maps, MFC supplies the following macros:
### Message-Map Declaration and Demarcation Macros
-|||
+|Name|Description|
|-|-|
|[DECLARE_MESSAGE_MAP](#declare_message_map)|Declares that a message map will be used in a class to map messages to functions (must be used in the class declaration).|
|[BEGIN_MESSAGE_MAP](#begin_message_map)|Begins the definition of a message map (must be used in the class implementation).|
@@ -20,7 +20,7 @@ To support message maps, MFC supplies the following macros:
### Message-Mapping Macros
-|||
+|Name|Description|
|-|-|
|[ON_COMMAND](#on_command)|Indicates which function will handle a specified command message.|
|[ON_COMMAND_EX](#on_command_ex)|Indicates which function will handle a specified command message.|
@@ -34,7 +34,7 @@ To support message maps, MFC supplies the following macros:
### Message-Map Range Macros
-|||
+|Name|Description|
|-|-|
|[ON_COMMAND_RANGE](#on_command_range)|Indicates which function will handle the range of command IDs specified in the first two parameters to the macro.|
|[ON_UPDATE_COMMAND_UI_RANGE](#on_update_command_ui_range)|Indicates which update handler will handle the range of command IDs specified in the first two parameters to the macro.|
diff --git a/docs/mfc/reference/ole-initialization.md b/docs/mfc/reference/ole-initialization.md
index e1a8271ff22..fd8c7e08112 100644
--- a/docs/mfc/reference/ole-initialization.md
+++ b/docs/mfc/reference/ole-initialization.md
@@ -11,7 +11,7 @@ Before an application can use OLE system services, it must initialize the OLE sy
### OLE Initialization
-|||
+|Name|Description|
|-|-|
|[AfxOleInit](#afxoleinit)|Initializes the OLE libraries.|
|[AfxEnableControlContainer](#afxenablecontrolcontainer)|Call this function in your application object's `InitInstance` function to enable support for containment of OLE controls.|
diff --git a/docs/mfc/reference/persistence-of-ole-controls.md b/docs/mfc/reference/persistence-of-ole-controls.md
index a4fc210ed37..3fc86b66f57 100644
--- a/docs/mfc/reference/persistence-of-ole-controls.md
+++ b/docs/mfc/reference/persistence-of-ole-controls.md
@@ -10,7 +10,7 @@ One capability of OLE controls is property persistence (or serialization), which
### Persistence of OLE Controls
-|||
+|Name|Description|
|-|-|
|[PX_Blob](#px_blob)|Exchanges a control property that stores binary large object (BLOB) data.|
|[PX_Bool](#px_bool)|Exchanges a control property of type **BOOL**.|
diff --git a/docs/mfc/reference/property-pages-mfc.md b/docs/mfc/reference/property-pages-mfc.md
index 4b95c634a7a..785b0bcab9a 100644
--- a/docs/mfc/reference/property-pages-mfc.md
+++ b/docs/mfc/reference/property-pages-mfc.md
@@ -12,7 +12,7 @@ This data-mapping mechanism maps property page controls to the individual proper
### Property Page Data Transfer
-|||
+|Name|Description|
|-|-|
|[DDP_CBIndex](#ddp_cbindex)|Links the selected string's index in a combo box with a control's property.|
|[DDP_CBString](#ddp_cbstring)|Links the selected string in a combo box with a control's property. The selected string can begin with the same letters as the property's value but does not need to match it fully.|
@@ -31,7 +31,7 @@ The following is a list of macros used to create and manage property pages for a
### Property Pages
-|||
+|Name|Description|
|-|-|
|[BEGIN_PROPPAGEIDS](#begin_proppageids)|Begins the list of property page IDs.|
|[END_PROPPAGEIDS](#end_proppageids)|Ends the list of property page IDs.|
diff --git a/docs/mfc/reference/record-field-exchange-functions.md b/docs/mfc/reference/record-field-exchange-functions.md
index 434ca612656..7172b36b1ba 100644
--- a/docs/mfc/reference/record-field-exchange-functions.md
+++ b/docs/mfc/reference/record-field-exchange-functions.md
@@ -23,7 +23,7 @@ For an example of RFX and Bulk RFX functions as they appear in the `DoFieldExcha
### RFX Functions (ODBC)
-|||
+|Name|Description|
|-|-|
|[RFX_Binary](#rfx_binary)|Transfers arrays of bytes of type [CByteArray](cbytearray-class.md).|
|[RFX_Bool](#rfx_bool)|Transfers Boolean data.|
@@ -38,7 +38,7 @@ For an example of RFX and Bulk RFX functions as they appear in the `DoFieldExcha
### Bulk RFX Functions (ODBC)
-|||
+|Name|Description|
|-|-|
|[RFX_Binary_Bulk](#rfx_binary_bulk)|Transfers arrays of byte data.|
|[RFX_Bool_Bulk](#rfx_bool_bulk)|Transfers arrays of Boolean data.|
@@ -52,7 +52,7 @@ For an example of RFX and Bulk RFX functions as they appear in the `DoFieldExcha
### DFX Functions (DAO)
-|||
+|Name|Description|
|-|-|
|[DFX_Binary](#dfx_binary)|Transfers arrays of bytes of type [CByteArray](cbytearray-class.md).|
|[DFX_Bool](#dfx_bool)|Transfers Boolean data.|
diff --git a/docs/mfc/reference/registering-ole-controls.md b/docs/mfc/reference/registering-ole-controls.md
index 7a74461ebf4..07d6a6cf09a 100644
--- a/docs/mfc/reference/registering-ole-controls.md
+++ b/docs/mfc/reference/registering-ole-controls.md
@@ -12,7 +12,7 @@ The following functions allow you to add and remove the control's class, propert
### Registering OLE Controls
-|||
+|Name|Description|
|-|-|
|[AfxOleRegisterControlClass](#afxoleregistercontrolclass)|Adds the control's class to the registration database.|
|[AfxOleRegisterPropertyPageClass](#afxoleregisterpropertypageclass)|Adds a control property page to the registration database.|
diff --git a/docs/mfc/reference/run-time-object-model-services.md b/docs/mfc/reference/run-time-object-model-services.md
index b1c6375e204..722e0d4f139 100644
--- a/docs/mfc/reference/run-time-object-model-services.md
+++ b/docs/mfc/reference/run-time-object-model-services.md
@@ -20,7 +20,7 @@ For more information on these run-time object services and serialization, see th
### Run-Time Object Model Services Macros
-|||
+|Name|Description|
|-|-|
|[DECLARE_DYNAMIC](#declare_dynamic)|Enables access to run-time class information (must be used in the class declaration).|
|[DECLARE_DYNCREATE](#declare_dyncreate)|Enables dynamic creation and access to run-time class information (must be used in the class declaration).|
@@ -36,7 +36,7 @@ The Microsoft Foundation Class Library provides two macros specific to OLE.
### Dynamic Creation of OLE Objects
-|||
+|Name|Description|
|-|-|
|[AFX_COMCTL32_IF_EXISTS](#afx_comctl32_if_exists)|Determines whether the Common Controls library implements the specified API.|
|[AFX_COMCTL32_IF_EXISTS2](#afx_comctl32_if_exists2)|Determines whether the Common Controls library implements the specified API.|
diff --git a/docs/mfc/reference/standard-dialog-data-exchange-routines.md b/docs/mfc/reference/standard-dialog-data-exchange-routines.md
index 3e9b2dc6c32..0c3fa8071cc 100644
--- a/docs/mfc/reference/standard-dialog-data-exchange-routines.md
+++ b/docs/mfc/reference/standard-dialog-data-exchange-routines.md
@@ -13,7 +13,7 @@ This topic lists the standard dialog data exchange (DDX) routines used for commo
### DDX Functions
-|||
+|Name|Description|
|-|-|
|[DDX_CBIndex](#ddx_cbindex)|Initializes or retrieves the index of the current selection of a combo box control.|
|[DDX_CBString](#ddx_cbstring)|Initializes or retrieves the current contents of the edit field of a combo box control.|
diff --git a/docs/mfc/reference/standard-dialog-data-validation-routines.md b/docs/mfc/reference/standard-dialog-data-validation-routines.md
index 3d93ef13184..f95e0b5772e 100644
--- a/docs/mfc/reference/standard-dialog-data-validation-routines.md
+++ b/docs/mfc/reference/standard-dialog-data-validation-routines.md
@@ -13,7 +13,7 @@ This topic lists the standard dialog data validation (DDV) routines used for com
### DDV Functions
-|||
+|Name|Description|
|-|-|
|[DDV_MaxChars](#ddv_maxchars)|Verifies the number of characters in a given control value does not exceed a given maximum.|
|[DDV_MinMaxByte](#ddv_minmaxbyte)|Verifies a given control value does not exceed a given **BYTE** range.|
diff --git a/docs/mfc/reference/structures-used-by-mfc.md b/docs/mfc/reference/structures-used-by-mfc.md
index f2602d0aff8..a5c87061545 100644
--- a/docs/mfc/reference/structures-used-by-mfc.md
+++ b/docs/mfc/reference/structures-used-by-mfc.md
@@ -8,33 +8,56 @@ ms.assetid: 2168fcc6-e800-4814-aabf-0bca86ff790d
The following table lists structures that are called from various member functions. For further information on individual structure usage, refer to the classes and member functions noted in the See Also list for each structure.
-|||
-|-|-|
-|[ABC Structure](/windows/win32/api/wingdi/ns-wingdi-abc)|[HSE_VERSION_INFO Structure](../../mfc/reference/hse-version-info-structure.md)|
-|[ABCFLOAT Structure](/windows/win32/api/wingdi/ns-wingdi-abcfloat)|[LINGER Structure](/windows/win32/api/winsock/ns-winsock-linger)|
-|[AFX_EXTENSION_MODULE Structure](../../mfc/reference/afx-extension-module-structure.md)|[LOGBRUSH Structure](/windows/win32/api/wingdi/ns-wingdi-logbrush)|
-|[BITMAP Structure](/windows/win32/api/wingdi/ns-wingdi-bitmap)|[LOGPEN Structure](/windows/win32/api/Wingdi/ns-wingdi-logpen)|
-|[BITMAPINFO Structure](/windows/win32/api/wingdi/ns-wingdi-bitmapinfo)|[MEASUREITEMSTRUCT Structure](/windows/win32/api/winuser/ns-winuser-measureitemstruct)|
-|[CDaoDatabaseInfo Structure](../../mfc/reference/cdaodatabaseinfo-structure.md)|[MINMAXINFO Structure](/windows/win32/api/winuser/ns-winuser-minmaxinfo)|
-|[CDaoErrorInfo Structure](../../mfc/reference/cdaoerrorinfo-structure.md)|[MSG Structure](/windows/win32/api/winuser/ns-winuser-msg)|
-|[CDaoFieldInfo Structure](../../mfc/reference/cdaofieldinfo-structure.md)|[NCCALCSIZE_PARAMS Structure](/windows/win32/api/winuser/ns-winuser-nccalcsize_params)|
-|[CDaoIndexFieldInfo Structure](../../mfc/reference/cdaoindexfieldinfo-structure.md)|[PAINTSTRUCT Structure](/windows/win32/api/winuser/ns-winuser-paintstruct)|
-|[CDaoIndexInfo Structure](../../mfc/reference/cdaoindexinfo-structure.md)|[POINT Structure](/windows/win32/api/windef/ns-windef-point)|
-|[CDaoParameterInfo Structure](../../mfc/reference/cdaoparameterinfo-structure.md)|[RECT Structure](/windows/win32/api/windef/ns-windef-rect)|
-|[CDaoQueryDefInfo Structure](../../mfc/reference/cdaoquerydefinfo-structure.md)|[RGNDATA Structure](/windows/win32/api/wingdi/ns-wingdi-rgndata)|
-|[CDaoRelationFieldInfo Structure](../../mfc/reference/cdaorelationfieldinfo-structure.md)|[SOCKADDR Structure](/windows/win32/winsock/sockaddr-2)|
-|[CDaoRelationInfo Structure](../../mfc/reference/cdaorelationinfo-structure.md)|[SOCKADDR_IN Structure](/windows/win32/winsock/sockaddr-2)|
-|[CDaoTableDefInfo Structure](../../mfc/reference/cdaotabledefinfo-structure.md)|[SYSTEMTIME Structure](/windows/win32/api/minwinbase/ns-minwinbase-systemtime)
-|[CDaoWorkspaceInfo Structure](../../mfc/reference/cdaoworkspaceinfo-structure.md)|[WINDOWPLACEMENT Structure](/windows/win32/api/winuser/ns-winuser-windowplacement)|
-|[CODBCFieldInfo Structure](../../mfc/reference/codbcfieldinfo-structure.md)|[WINDOWPOS Structure](/windows/win32/api/winuser/ns-winuser-windowpos)
-|[COLORADJUSTMENT Structure](/windows/win32/api/wingdi/ns-wingdi-coloradjustment)|[WSADATA Structure](/windows/win32/api/winsock2/ns-winsock2-wsadata)|
-|[COMPAREITEMSTRUCT Structure](/windows/win32/api/winuser/ns-winuser-compareitemstruct)|[XFORM Structure](/windows/win32/api/wingdi/ns-wingdi-xform)|
-|[CREATESTRUCT Structure](/windows/win32/api/winuser/ns-winuser-createstructw)||
-|[DELETEITEMSTRUCT Structure](/windows/win32/api/winuser/ns-winuser-deleteitemstruct)||
-|[DEVNAMES Structure](/windows/win32/api/commdlg/ns-commdlg-devnames)||
-|[DHtmlUrlEventMapEntry Structure](../../mfc/reference/dhtmlurleventmapentry-structure.md)||
-|[DRAWITEMSTRUCT Structure](/windows/win32/api/winuser/ns-winuser-drawitemstruct)||
-|[FILETIME Structure](/windows/win32/api/minwinbase/ns-minwinbase-filetime)||
+:::row:::
+ :::column:::
+ [ABC Structure](/windows/win32/api/wingdi/ns-wingdi-abc)\
+ [HSE_VERSION_INFO Structure](../../mfc/reference/hse-version-info-structure.md)\
+ [ABCFLOAT Structure](/windows/win32/api/wingdi/ns-wingdi-abcfloat)\
+ [LINGER Structure](/windows/win32/api/winsock/ns-winsock-linger)\
+ [AFX_EXTENSION_MODULE Structure](../../mfc/reference/afx-extension-module-structure.md)\
+ [LOGBRUSH Structure](/windows/win32/api/wingdi/ns-wingdi-logbrush)\
+ [BITMAP Structure](/windows/win32/api/wingdi/ns-wingdi-bitmap)\
+ [LOGPEN Structure](/windows/win32/api/Wingdi/ns-wingdi-logpen)\
+ [BITMAPINFO Structure](/windows/win32/api/wingdi/ns-wingdi-bitmapinfo)\
+ [MEASUREITEMSTRUCT Structure](/windows/win32/api/winuser/ns-winuser-measureitemstruct)\
+ [CDaoDatabaseInfo Structure](../../mfc/reference/cdaodatabaseinfo-structure.md)\
+ [MINMAXINFO Structure](/windows/win32/api/winuser/ns-winuser-minmaxinfo)\
+ [CDaoErrorInfo Structure](../../mfc/reference/cdaoerrorinfo-structure.md)\
+ [MSG Structure](/windows/win32/api/winuser/ns-winuser-msg)\
+ [CDaoFieldInfo Structure](../../mfc/reference/cdaofieldinfo-structure.md)\
+ [NCCALCSIZE_PARAMS Structure](/windows/win32/api/winuser/ns-winuser-nccalcsize_params)\
+ [CDaoIndexFieldInfo Structure](../../mfc/reference/cdaoindexfieldinfo-structure.md)\
+ [PAINTSTRUCT Structure](/windows/win32/api/winuser/ns-winuser-paintstruct)\
+ [CDaoIndexInfo Structure](../../mfc/reference/cdaoindexinfo-structure.md)\
+ [POINT Structure](/windows/win32/api/windef/ns-windef-point)\
+ [CDaoParameterInfo Structure](../../mfc/reference/cdaoparameterinfo-structure.md)\
+ [RECT Structure](/windows/win32/api/windef/ns-windef-rect)
+ :::column-end:::
+ :::column:::
+ [CDaoQueryDefInfo Structure](../../mfc/reference/cdaoquerydefinfo-structure.md)\
+ [RGNDATA Structure](/windows/win32/api/wingdi/ns-wingdi-rgndata)\
+ [CDaoRelationFieldInfo Structure](../../mfc/reference/cdaorelationfieldinfo-structure.md)\
+ [SOCKADDR Structure](/windows/win32/winsock/sockaddr-2)\
+ [CDaoRelationInfo Structure](../../mfc/reference/cdaorelationinfo-structure.md)\
+ [SOCKADDR_IN Structure](/windows/win32/winsock/sockaddr-2)\
+ [CDaoTableDefInfo Structure](../../mfc/reference/cdaotabledefinfo-structure.md)\
+ [SYSTEMTIME Structure](/windows/win32/api/minwinbase/ns-minwinbase-systemtime)\
+ [CDaoWorkspaceInfo Structure](../../mfc/reference/cdaoworkspaceinfo-structure.md)\
+ [WINDOWPLACEMENT Structure](/windows/win32/api/winuser/ns-winuser-windowplacement)\
+ [CODBCFieldInfo Structure](../../mfc/reference/codbcfieldinfo-structure.md)\
+ [WINDOWPOS Structure](/windows/win32/api/winuser/ns-winuser-windowpos)\
+ [COLORADJUSTMENT Structure](/windows/win32/api/wingdi/ns-wingdi-coloradjustment)\
+ [WSADATA Structure](/windows/win32/api/winsock2/ns-winsock2-wsadata)\
+ [COMPAREITEMSTRUCT Structure](/windows/win32/api/winuser/ns-winuser-compareitemstruct)\
+ [XFORM Structure](/windows/win32/api/wingdi/ns-wingdi-xform)\
+ [CREATESTRUCT Structure](/windows/win32/api/winuser/ns-winuser-createstructw)\
+ [DELETEITEMSTRUCT Structure](/windows/win32/api/winuser/ns-winuser-deleteitemstruct)\
+ [DEVNAMES Structure](/windows/win32/api/commdlg/ns-commdlg-devnames)\
+ [DHtmlUrlEventMapEntry Structure](../../mfc/reference/dhtmlurleventmapentry-structure.md)\
+ [DRAWITEMSTRUCT Structure](/windows/win32/api/winuser/ns-winuser-drawitemstruct)\
+ [FILETIME Structure](/windows/win32/api/minwinbase/ns-minwinbase-filetime)
+ :::column-end:::
+:::row-end:::
## See also
diff --git a/docs/mfc/reference/toolbar-control-styles.md b/docs/mfc/reference/toolbar-control-styles.md
index e41e0b312fa..bfde5ff51fd 100644
--- a/docs/mfc/reference/toolbar-control-styles.md
+++ b/docs/mfc/reference/toolbar-control-styles.md
@@ -12,7 +12,7 @@ ms.assetid: 0f717eb9-fa32-4263-b852-809238863feb
The following values determine the type of button that the control represents:
-|||
+|Name|Description|
|-|-|
|TBBS_BUTTON|Standard pushbutton (default). |
|TBBS_CHECKBOX|Check box. |
@@ -22,7 +22,7 @@ The following values determine the type of button that the control represents:
The following values represent the current status of the control:
-|||
+|Name|Description|
|-|-|
|TBBS_CHECKED|Check box is checked. |
|TBBS_DISABLED|Control is disabled. |
@@ -31,7 +31,7 @@ The following values represent the current status of the control:
The following value changes the layout of the button in the toolbar:
-|||
+|Name|Description|
|-|-|
|TBBS_BREAK|Places the item on a new line or in a new column without separating columns. |
diff --git a/docs/mfc/reference/type-casting-of-mfc-class-objects.md b/docs/mfc/reference/type-casting-of-mfc-class-objects.md
index 321386abc33..41bb2c618e3 100644
--- a/docs/mfc/reference/type-casting-of-mfc-class-objects.md
+++ b/docs/mfc/reference/type-casting-of-mfc-class-objects.md
@@ -12,7 +12,7 @@ The following table lists the MFC type casting macros.
### Macros That Cast Pointers to MFC Class Objects
-|||
+|Name|Description|
|-|-|
|[DYNAMIC_DOWNCAST](#dynamic_downcast)|Casts a pointer to a pointer to a class object while checking to see if the cast is legal.|
|[STATIC_DOWNCAST](#static_downcast)|Casts a pointer to an object from one class to a pointer of a related type. In a debug build, causes an ASSERT if the object is not a "kind of" the target type.|
diff --git a/docs/mfc/reference/type-library-access.md b/docs/mfc/reference/type-library-access.md
index 81bd7a92cf3..13248d3c4fb 100644
--- a/docs/mfc/reference/type-library-access.md
+++ b/docs/mfc/reference/type-library-access.md
@@ -12,7 +12,7 @@ The following macros allow an OLE control to provide access to its own type libr
### Type Library Access
-|||
+|Name|Description|
|-|-|
|[DECLARE_OLETYPELIB](#declare_oletypelib)|Declares a `GetTypeLib` member function of an OLE control (must be used in the class declaration).|
|[IMPLEMENT_OLETYPELIB](#implement_oletypelib)|Implements a `GetTypeLib` member function of an OLE control (must be used in the class implementation).|
diff --git a/docs/mfc/tn024-mfc-defined-messages-and-resources.md b/docs/mfc/tn024-mfc-defined-messages-and-resources.md
index 80bd59827b5..c140c7aff4e 100644
--- a/docs/mfc/tn024-mfc-defined-messages-and-resources.md
+++ b/docs/mfc/tn024-mfc-defined-messages-and-resources.md
@@ -31,7 +31,7 @@ In the rare case of needing to handle one of these messages, you should use the
This message is sent to a window that is being created. This is sent very early in the creation process as a method of determining if the WndProc is **AfxWndProc. AfxWndProc** returns 1.
-|||
+| Parameters and return value | Description |
|-|-|
|wParam|Not used|
|lParam|Not used|
@@ -41,7 +41,7 @@ This message is sent to a window that is being created. This is sent very early
This message is sent by a frame window to its immediate children during resizing (`CFrameWnd::OnSize` calls `CFrameWnd::RecalcLayout` which calls `CWnd::RepositionBars`) to reposition the control bars around the side of the frame. The AFX_SIZEPARENTPARAMS structure contains the current available client rectangle of the parent and a HDWP (which may be NULL) with which to call `DeferWindowPos` to minimize repainting.
-|||
+| Parameters and return value | Description |
|-|-|
|wParam|Not used|
|lParam|Address of an AFX_SIZEPARENTPARAMS structure|
@@ -53,7 +53,7 @@ Ignoring the message indicates that the window doesn't take part in the layout.
This message is sent to a frame window to ask it to update the message line in the status bar. Either a string ID or a LPCSTR can be specified (but not both).
-|||
+| Parameters and return value | Description |
|-|-|
|wParam|String ID (or zero)|
|lParam|LPCSTR for the string (or NULL)|
@@ -63,7 +63,7 @@ This message is sent to a frame window to ask it to update the message line in t
This message is sent in idle time to implement the idle-time update of update-command UI handlers. If the window (usually a control bar) handles the message, it creates a `CCmdUI` object (or an object of a derived class) and call `CCmdUI::DoUpdate` for each of the "items" in the window. This will in turn check for an ON_UPDATE_COMMAND_UI handler for the objects in the command-handler chain.
-|||
+| Parameters and return value | Description |
|-|-|
|wParam|BOOL bDisableIfNoHandler|
|lParam|Not used (0)|
@@ -75,7 +75,7 @@ This message is sent in idle time to implement the idle-time update of update-co
This message is posted to a `CFrameWnd` that to exit context sensitive help mode. The receipt of this message terminates the modal loop started by `CFrameWnd::OnContextHelp`.
-|||
+| Parameter and return value | Description |
|-|-|
|wParam|Not used (0)|
|lParam|Not used (0)|
@@ -85,7 +85,7 @@ This message is posted to a `CFrameWnd` that to exit context sensitive help mode
This message is sent by the document template to all descendants of a frame window when it is safe for them to do their initial update. It maps to a call to `CView::OnInitialUpdate` but can be used in other `CWnd`-derived classes for other one-shot updating.
-|||
+| Parameters and return value | Description |
|-|-|
|wParam|Not used (0)|
|lParam|Not used (0)|
@@ -97,7 +97,7 @@ This message is sent by a view to its parent window (obtained via `GetParent`) t
If the parent window processes this message it should return TRUE and fill the RECT passed in lParam with the new size of the client area. This is used in `CScrollView` to properly handle scrollbars (place then on the outside of the window when they are added) when a server object is in-place activated.
-|||
+| Parameters and return value | Description |
|-|-|
|wParam|Not used (0)|
|lParam|LPRECT rectClient, may be NULL|
@@ -109,7 +109,7 @@ This message is sent by `COleResizeBar` to its owner window (via `GetOwner`) whe
The new rectangle, given in client coordinates relative to the frame window which contains the resize bar, is pointed at by lParam.
-|||
+| Parameters and return value | Description |
|-|-|
|wParam|Not used (0)|
|lParam|LPRECT rectNew|
@@ -121,7 +121,7 @@ This message is sent to all pop-up windows owned by a frame window that is being
You can use this to perform special processing in your pop-up window when the frame enters a modal state or to keep certain pop-up windows from getting disabled. Tooltips use this message to destroy themselves when the frame window goes into a modal state, for example.
-|||
+| Parameters and return value | Description |
|-|-|
|wParam|Not used (0)|
|lParam|Not used (0)|
@@ -131,7 +131,7 @@ You can use this to perform special processing in your pop-up window when the fr
This message is sent to all pop-up windows owned by a frame window when the frame is either activated or deactivated by another top-level frame window. This is used by the implementation of MFS_SYNCACTIVE in `CMiniFrameWnd`, to keep the activation of these pop-up windows in sync with the activation of the top level frame window.
-|||
+| Parameters | Description |
|-|-|
|wParam|Is one of the following values:
FS_SHOW
FS_HIDE
FS_ACTIVATE
FS_DEACTIVATE
FS_ENABLEFS_DISABLE
FS_SYNCACTIVE|
|lParam|Not used (0)|
diff --git a/docs/mfc/using-the-carchive-output-and-input-operators.md b/docs/mfc/using-the-carchive-output-and-input-operators.md
index 4ee5feadedf..feaf3d3a8bf 100644
--- a/docs/mfc/using-the-carchive-output-and-input-operators.md
+++ b/docs/mfc/using-the-carchive-output-and-input-operators.md
@@ -30,21 +30,40 @@ The above code template is exactly the same as the one AppWizard creates for the
[!code-cpp[NVC_MFCSerialization#10](../mfc/codesnippet/cpp/using-the-carchive-output-and-input-operators_4.cpp)]
-The library defines **<\<** and **>>** operators for `CArchive` as the first operand and the following data types and class types as the second operand:
-
-||||
-|-|-|-|
-|`CObject*`|**SIZE** and `CSize`|**`float`**|
-|**WORD**|`CString`|**POINT** and `CPoint`|
-|`DWORD`|**BYTE**|`RECT` and `CRect`|
-|**Double**|**LONG**|`CTime` and `CTimeSpan`|
-|`Int`|**COleCurrency**|`COleVariant`|
-|`COleDateTime`|`COleDateTimeSpan`||
+The library defines **`<<`** and **`>>`** operators for `CArchive` as the first operand and the following data types and class types as the second operand:
+
+:::row:::
+ :::column span="":::
+ `BYTE`\
+ `CObject*`\
+ `COleCurrency`\
+ `COleDateTime`\
+ `COleDateTimeSpan`
+ :::column-end:::
+ :::column span="":::
+ `COleVariant`\
+ `CString`\
+ `CTime` and `CTimeSpan`\
+ `Double`
+ :::column-end:::
+ :::column span="":::
+ `DWORD`\
+ `Float`\
+ `Int`\
+ `LONG`
+ :::column-end:::
+ :::column span="":::
+ `POINT` and `CPoint`\
+ `RECT` and `CRect`\
+ `SIZE` and `CSize`\
+ `WORD`
+ :::column-end:::
+:::row-end:::
> [!NOTE]
> Storing and loading `CObject`s via an archive requires extra consideration. For more information, see [Storing and Loading CObjects via an Archive](../mfc/storing-and-loading-cobjects-via-an-archive.md).
-The **CArchive <\<** and **>>** operators always return a reference to the `CArchive` object, which is the first operand. This enables you to chain the operators, as illustrated below:
+The `CArchive` **`<<`** and **`>>`** operators always return a reference to the `CArchive` object, which is the first operand. This enables you to chain the operators, as illustrated below:
[!code-cpp[NVC_MFCSerialization#11](../mfc/codesnippet/cpp/using-the-carchive-output-and-input-operators_5.cpp)]
diff --git a/docs/overview/visual-cpp-tools-and-features-in-visual-studio-editions.md b/docs/overview/visual-cpp-tools-and-features-in-visual-studio-editions.md
index 27f1713e1e8..ce3dbff9ea9 100644
--- a/docs/overview/visual-cpp-tools-and-features-in-visual-studio-editions.md
+++ b/docs/overview/visual-cpp-tools-and-features-in-visual-studio-editions.md
@@ -308,9 +308,8 @@ The following tables show Visual C++ features that are available in Visual Studi
## Platforms
-||||||
-|-|-|-|-|-|
|Platform|Visual Studio Express for Windows 10|Visual Studio Express for Windows Desktop|Visual Studio Community/Professional|Visual Studio Enterprise|
+|-|-|-|-|-|
|Windows Desktop||X|X|X|
|Universal Windows Platform ((phone, tablet, PC, Xbox, IoT, and HoloLens))|X||X|X|
|Linux|X|X|
@@ -450,9 +449,8 @@ The following tables show Visual C++ features that are available in Visual Studi
## Application Lifecycle Management Tools
-||||||
-|-|-|-|-|-|
|Tool|Visual Studio Express for Windows|Visual Studio Express for Windows Desktop|Visual Studio Professional / Community|Visual Studio Enterprise|
+|-|-|-|-|-|
|Unit Testing (native framework)|X|X|X|X|
|Unit Testing (managed framework)||X|X|X|
|Code coverage||||X|
diff --git a/docs/parallel/amp/reference/concurrency-direct3d-namespace-functions-amp.md b/docs/parallel/amp/reference/concurrency-direct3d-namespace-functions-amp.md
index f6331dc95f5..dc3711913ab 100644
--- a/docs/parallel/amp/reference/concurrency-direct3d-namespace-functions-amp.md
+++ b/docs/parallel/amp/reference/concurrency-direct3d-namespace-functions-amp.md
@@ -6,17 +6,42 @@ ms.assetid: 28943b62-52c9-42dc-baf1-ca7b095c1a19
---
# Concurrency::direct3d namespace functions (AMP)
-||||
-|-|-|-|
-|[abs](#abs)|[clamp](#clamp)|[countbits](#countbits)|
-|[create_accelerator_view](#create_accelerator_view)|[d3d_access_lock](#d3d_access_lock)||
-|[d3d_access_try_lock](#d3d_access_try_lock)|[d3d_access_unlock](#d3d_access_unlock)|[firstbithigh](#firstbithigh)|
-|[firstbitlow](#firstbitlow)|[get_buffer](#get_buffer)|[get_device](#get_device)|
-|[imax](#imax)|[imin](#imin)|[is_timeout_disabled](#is_timeout_disabled)|
-|[mad](#mad)|[make_array](#make_array)|[noise](#noise)|
-|[radians](#radians)|[rcp](#rcp)|[reversebits](#reversebits)|
-|[saturate](#saturate)|[sign](#sign)|[smoothstep](#smoothstep)|
-|[step](#step)|[umax](#umax)|[umin](#umin)|
+:::row:::
+ :::column span="":::
+ [abs](#abs)\
+ [clamp](#clamp)\
+ [countbits](#countbits)\
+ [create_accelerator_view](#create_accelerator_view)\
+ [d3d_access_lock](#d3d_access_lock)\
+ [d3d_access_try_lock](#d3d_access_try_lock)\
+ [d3d_access_unlock](#d3d_access_unlock)
+ :::column-end:::
+ :::column span="":::
+ [firstbithigh](#firstbithigh)\
+ [firstbitlow](#firstbitlow)\
+ [get_buffer](#get_buffer)\
+ [get_device](#get_device)\
+ [imax](#imax)\
+ [imin](#imin)\
+ [is_timeout_disabled](#is_timeout_disabled)
+ :::column-end:::
+ :::column span="":::
+ [mad](#mad)\
+ [make_array](#make_array)\
+ [noise](#noise)\
+ [radians](#radians)\
+ [rcp](#rcp)\
+ [reversebits](#reversebits)
+ :::column-end:::
+ :::column span="":::
+ [saturate](#saturate)\
+ [sign](#sign)\
+ [smoothstep](#smoothstep)\
+ [step](#step)\
+ [umax](#umax)\
+ [umin](#umin)
+ :::column-end:::
+:::row-end:::
## Requirements
diff --git a/docs/parallel/amp/reference/concurrency-fast-math-namespace-functions.md b/docs/parallel/amp/reference/concurrency-fast-math-namespace-functions.md
index f4074204c01..99312cd27e4 100644
--- a/docs/parallel/amp/reference/concurrency-fast-math-namespace-functions.md
+++ b/docs/parallel/amp/reference/concurrency-fast-math-namespace-functions.md
@@ -6,30 +6,81 @@ ms.assetid: f5763d62-795b-4de6-a7a5-c7115f158708
---
# Concurrency::fast_math namespace functions
-||||
-|-|-|-|
-|[acos](#acos)|[acosf](#acosf)|[asin](#asin)|
-|[asinf](#asinf)|[atan](#atan)|[atan2](#atan2)|
-|[atan2f](#atan2f)|[atanf](#atanf)|[ceil](#ceil)|
-|[ceilf](#ceilf)|[cos](#cos)|[cosf](#cosf)|
-|[cosh](#cosh)|[coshf](#coshf)|[exp](#exp)|
-|[exp2](#exp2)|[exp2f](#exp2f)|[expf](#expf)|
-|[fabs](#fabs)|[fabsf](#fabsf)|[floor](#floor)|
-|[floorf](#floorf)|[fmax](#fmax)|[fmaxf](#fmaxf)|
-|[fmin](#fmin)|[fminf](#fminf)|[fmod](#fmod)|
-|[fmodf](#fmodf)|[frexp](#frexp)|[frexpf](#frexpf)|
-|[isfinite](#isfinite)|[isinf](#isinf)|[isnan](#isnan)|
-|[ldexp](#ldexp)|[ldexpf](#ldexpf)|[log](#log)|
-|[log10](#log10)|[log10f](#log10f)|[log2](#log2)|
-|[log2f](#log2f)|[logf](#logf)|[modf](#modf)|
-|[modff](#modff)|[pow](#pow)|[powf](#powf)|
-|[round](#round)|[roundf](#roundf)|[rsqrt](#rsqrt)|
-|[rsqrtf](#rsqrtf)|[signbit](#signbit)|[signbitf](#signbitf)|
-|[sin](#sin)|[sincos](#sincos)|[sincosf](#sincosf)|
-|[sinf](#sinf)|[sinh](#sinh)|[sinhf](#sinhf)|
-|[sqrt](#sqrt)|[sqrtf](#sqrtf)|[tan](#tan)|
-|[tanf](#tanf)|[tanh](#tanh)|[tanhf](#tanhf)|
-|[trunc](#trunc)|[truncf](#truncf)|
+:::row:::
+ :::column span="":::
+ [`acos`](#acos)\
+ [`acosf`](#acosf)\
+ [`asin`](#asin)\
+ [`asinf`](#asinf)\
+ [`atan`](#atan)\
+ [`atan2`](#atan2)\
+ [`atan2f`](#atan2f)\
+ [`atanf`](#atanf)\
+ [`ceil`](#ceil)\
+ [`ceilf`](#ceilf)\
+ [`cos`](#cos)\
+ [`cosf`](#cosf)\
+ [`cosh`](#cosh)\
+ [`coshf`](#coshf)\
+ [`exp`](#exp)\
+ [`exp2`](#exp2)\
+ [`exp2f`](#exp2f)
+ :::column-end:::
+ :::column span="":::
+ [`expf`](#expf)\
+ [`fabs`](#fabs)\
+ [`fabsf`](#fabsf)\
+ [`floor`](#floor)\
+ [`floorf`](#floorf)\
+ [`fmax`](#fmax)\
+ [`fmaxf`](#fmaxf)\
+ [`fmin`](#fmin)\
+ [`fminf`](#fminf)\
+ [`fmod`](#fmod)\
+ [`fmodf`](#fmodf)\
+ [`frexp`](#frexp)\
+ [`frexpf`](#frexpf)\
+ [`isfinite`](#isfinite)\
+ [`isinf`](#isinf)\
+ [`isnan`](#isnan)
+ :::column-end:::
+ :::column span="":::
+ [`ldexp`](#ldexp)\
+ [`ldexpf`](#ldexpf)\
+ [`log`](#log)\
+ [`log10`](#log10)\
+ [`log10f`](#log10f)\
+ [`log2`](#log2)\
+ [`log2f`](#log2f)\
+ [`logf`](#logf)\
+ [`modf`](#modf)\
+ [`modff`](#modff)\
+ [`pow`](#pow)\
+ [`powf`](#powf)\
+ [`round`](#round)\
+ [`roundf`](#roundf)\
+ [`rsqrt`](#rsqrt)\
+ [`rsqrtf`](#rsqrtf)
+ :::column-end:::
+ :::column span="":::
+ [`signbit`](#signbit)\
+ [`signbitf`](#signbitf)\
+ [`sin`](#sin)\
+ [`sincos`](#sincos)\
+ [`sincosf`](#sincosf)\
+ [`sinf`](#sinf)\
+ [`sinh`](#sinh)\
+ [`sinhf`](#sinhf)\
+ [`sqrt`](#sqrt)\
+ [`sqrtf`](#sqrtf)\
+ [`tan`](#tan)\
+ [`tanf`](#tanf)\
+ [`tanh`](#tanh)\
+ [`tanhf`](#tanhf)\
+ [`trunc`](#trunc)\
+ [`truncf`](#truncf)
+ :::column-end:::
+:::row-end:::
## acos
diff --git a/docs/parallel/amp/reference/concurrency-graphics-direct3d-namespace-functions.md b/docs/parallel/amp/reference/concurrency-graphics-direct3d-namespace-functions.md
index d57af7ddcbc..fffbba4f96e 100644
--- a/docs/parallel/amp/reference/concurrency-graphics-direct3d-namespace-functions.md
+++ b/docs/parallel/amp/reference/concurrency-graphics-direct3d-namespace-functions.md
@@ -6,10 +6,21 @@ ms.assetid: 11ee1d42-333e-4ae9-95ac-4cf68c06d13d
---
# Concurrency::graphics::direct3d namespace functions
-||||
-|-|-|-|
-|[get_sampler](#get_sampler)|[get_texture](#get_texture)|[make_sampler](#make_sampler)|
-|[make_texture](#make_texture)|[msad4](#msad4)|
+:::row:::
+ :::column span="":::
+ [`get_sampler`](#get_sampler)\
+ [`get_texture`](#get_texture)
+ :::column-end:::
+ :::column span="":::
+ [`make_sampler`](#make_sampler)
+ :::column-end:::
+ :::column span="":::
+ [`make_texture`](#make_texture)
+ :::column-end:::
+ :::column span="":::
+ [`msad4`](#msad4)
+ :::column-end:::
+:::row-end:::
## get_sampler
diff --git a/docs/parallel/amp/reference/concurrency-graphics-namespace-enums.md b/docs/parallel/amp/reference/concurrency-graphics-namespace-enums.md
index d69cd2f8afa..f504e4898b9 100644
--- a/docs/parallel/amp/reference/concurrency-graphics-namespace-enums.md
+++ b/docs/parallel/amp/reference/concurrency-graphics-namespace-enums.md
@@ -6,7 +6,7 @@ ms.assetid: 1d2e1859-a3d7-4d3d-8e03-1a877a86b3e0
---
# Concurrency::graphics namespace enums
-|||
+|Name|Description|
|-|-|
|[_mode Enumeration](#address_mode)|[filter_mode Enumeration](#filter_mode)|
diff --git a/docs/parallel/amp/reference/concurrency-graphics-namespace-functions.md b/docs/parallel/amp/reference/concurrency-graphics-namespace-functions.md
index 7cbcdf92641..84b4d4a6f2b 100644
--- a/docs/parallel/amp/reference/concurrency-graphics-namespace-functions.md
+++ b/docs/parallel/amp/reference/concurrency-graphics-namespace-functions.md
@@ -6,9 +6,8 @@ ms.assetid: ace01cd5-29d3-4356-930e-c81a61c5f934
---
# Concurrency::graphics namespace functions
-|||
-|-|-|
-|[copy](#copy)|[copy_async](#copy_async)|
+[copy](#copy)\
+[copy_async](#copy_async)
## copy Function (Concurrency::graphics Namespace)
diff --git a/docs/parallel/amp/reference/concurrency-namespace-constants-amp.md b/docs/parallel/amp/reference/concurrency-namespace-constants-amp.md
index 1dc8352aa80..7648b617527 100644
--- a/docs/parallel/amp/reference/concurrency-namespace-constants-amp.md
+++ b/docs/parallel/amp/reference/concurrency-namespace-constants-amp.md
@@ -6,9 +6,8 @@ ms.assetid: 13a8e8cd-2eec-4e60-a91d-5d271072747b
---
# Concurrency namespace constants (AMP)
-|||
-|-|-|
-|[HLSL_MAX_NUM_BUFFERS](#hlsl_max_num_buffers)|[MODULENAME_MAX_LENGTH](#modulename_max_length)|
+[HLSL_MAX_NUM_BUFFERS](#hlsl_max_num_buffers)\
+[MODULENAME_MAX_LENGTH](#modulename_max_length)
## HLSL_MAX_NUM_BUFFERS Constant
diff --git a/docs/parallel/amp/reference/concurrency-namespace-enums-amp.md b/docs/parallel/amp/reference/concurrency-namespace-enums-amp.md
index 9b4ea578640..41ac32ae909 100644
--- a/docs/parallel/amp/reference/concurrency-namespace-enums-amp.md
+++ b/docs/parallel/amp/reference/concurrency-namespace-enums-amp.md
@@ -6,9 +6,8 @@ ms.assetid: 4c87457e-184f-4992-81ab-ca75e7d524ab
---
# Concurrency namespace enums (AMP)
-|||
-|-|-|
-|[access_type Enumeration](#access_type)|[queuing_mode Enumeration](#queuing_mode)|
+[access_type Enumeration](#access_type)\
+[queuing_mode Enumeration](#queuing_mode)
## access_type Enumeration
diff --git a/docs/parallel/amp/reference/concurrency-namespace-functions-amp.md b/docs/parallel/amp/reference/concurrency-namespace-functions-amp.md
index 95c8a0789d3..22cf8d0de13 100644
--- a/docs/parallel/amp/reference/concurrency-namespace-functions-amp.md
+++ b/docs/parallel/amp/reference/concurrency-namespace-functions-amp.md
@@ -6,15 +6,37 @@ ms.assetid: 2bef0985-cb90-4ece-90b9-66529aec73c9
---
# Concurrency namespace functions (AMP)
-||||
-|-|-|-|
-|[all_memory_fence](#all_memory_fence)|[amp_uninitialize](#amp_uninitialize)|[atomic_compare_exchange](#atomic_compare_exchange)|
-|[atomic_exchange Function (C++ AMP)](#atomic_exchange)|[atomic_fetch_add Function (C++ AMP)](#atomic_fetch_add)|[atomic_fetch_and Function (C++ AMP)](#atomic_fetch_and)|
-|[atomic_fetch_dec](#atomic_fetch_dec)|[atomic_fetch_inc](#atomic_fetch_inc)|[atomic_fetch_max](#atomic_fetch_max)|
-|[atomic_fetch_min](#atomic_fetch_min)|[atomic_fetch_or Function (C++ AMP)](#atomic_fetch_or)|[atomic_fetch_sub Function (C++ AMP)](#atomic_fetch_sub)|
-|[atomic_fetch_xor Function (C++ AMP)](#atomic_fetch_xor)|[copy](#copy)|[copy_async](#copy_async)|
-|[direct3d_abort](#direct3d_abort)|[direct3d_errorf](#direct3d_errorf)|[direct3d_printf](#direct3d_printf)|
-|[global_memory_fence](#global_memory_fence)|[parallel_for_each Function (C++ AMP)](#parallel_for_each)|[tile_static_memory_fence](#tile_static_memory_fence)|
+:::row:::
+ :::column span="":::
+ [`all_memory_fence`](#all_memory_fence)\
+ [`amp_uninitialize`](#amp_uninitialize)\
+ [`atomic_compare_exchange`](#atomic_compare_exchange)\
+ [`atomic_exchange`](#atomic_exchange)\
+ [`atomic_fetch_add`](#atomic_fetch_add)\
+ [`atomic_fetch_and`](#atomic_fetch_and)
+ :::column-end:::
+ :::column span="":::
+ [`atomic_fetch_dec`](#atomic_fetch_dec)\
+ [`atomic_fetch_inc`](#atomic_fetch_inc)\
+ [`atomic_fetch_max`](#atomic_fetch_max)\
+ [`atomic_fetch_min`](#atomic_fetch_min)\
+ [`atomic_fetch_or`](#atomic_fetch_or)
+ :::column-end:::
+ :::column span="":::
+ [`atomic_fetch_sub`](#atomic_fetch_sub)\
+ [`atomic_fetch_xor`](#atomic_fetch_xor)\
+ [`copy`](#copy)\
+ [`copy_async`](#copy_async)\
+ [`direct3d_abort`](#direct3d_abort)
+ :::column-end:::
+ :::column span="":::
+ [`direct3d_errorf`](#direct3d_errorf)\
+ [`direct3d_printf`](#direct3d_printf)\
+ [`global_memory_fence`](#global_memory_fence)\
+ [`parallel_for_each`](#parallel_for_each)\
+ [`tile_static_memory_fence`](#tile_static_memory_fence)
+ :::column-end:::
+:::row-end:::
## all_memory_fence
diff --git a/docs/parallel/amp/reference/concurrency-namespace-operators-amp.md b/docs/parallel/amp/reference/concurrency-namespace-operators-amp.md
index 6b815064e0d..25a147f948b 100644
--- a/docs/parallel/amp/reference/concurrency-namespace-operators-amp.md
+++ b/docs/parallel/amp/reference/concurrency-namespace-operators-amp.md
@@ -5,11 +5,23 @@ ms.assetid: 77f1ae17-1eb2-480d-8fe5-66d4c24bb91e
---
# Concurrency namespace operators (AMP)
-||||
-|-|-|-|
-|[operator!=](#operator_neq)|[operator%](#operator_mod)|[operator*](#operator_star)|
-|[operator+](#operator_add)|[operator-](#operator-)|[operator/](#operator_div)|
-|[operator==](#operator_eq_eq)|
+:::row:::
+ :::column span="":::
+ [`operator==`](#operator_eq_eq)\
+ [`operator!=`](#operator_neq)
+ :::column-end:::
+ :::column span="":::
+ [`operator+`](#operator_add)\
+ [`operator-`](#operator-)
+ :::column-end:::
+ :::column span="":::
+ [`operator*`](#operator_star)\
+ [`operator/`](#operator_div)
+ :::column-end:::
+ :::column span="":::
+ [`operator%`](#operator_mod)
+ :::column-end:::
+:::row-end:::
## operator==
diff --git a/docs/parallel/amp/reference/concurrency-precise-math-namespace-functions.md b/docs/parallel/amp/reference/concurrency-precise-math-namespace-functions.md
index f7fd634b72a..8b1e1930582 100644
--- a/docs/parallel/amp/reference/concurrency-precise-math-namespace-functions.md
+++ b/docs/parallel/amp/reference/concurrency-precise-math-namespace-functions.md
@@ -6,53 +6,147 @@ ms.assetid: fae53ab4-d1c5-45bb-a6a0-a74258e9aea3
---
# Concurrency::precise_math namespace functions
-||||
-|-|-|-|
-|[acos](#acos)|[acosf](#acosf)|[acosh](#acosh)|
-|[acoshf](#acoshf)|[asin](#asin)|[asinf](#asinf)|
-|[asinh](#asinh)|[asinhf](#asinhf)|[atan](#atan)|
-|[atan2](#atan2)|[atan2f](#atan2f)|[atanf](#atanf)|
-|[atanh](#atanh)|[atanhf](#atanhf)|[cbrt](#cbrt)|
-|[cbrtf](#cbrtf)|[ceil](#ceil)|[ceilf](#ceilf)|
-|[copysign](#copysign)|[copysignf](#copysignf)|[cos](#cos)|
-|[cosf](#cosf)|[cosh](#cosh)|[coshf](#coshf)|
-|[cospi](#cospi)|[cospif](#cospif)|[erf](#erf)|
-|[erfc](#erfc)|[erfcf](#erfcf)|[erfcinv](#erfcinv)|
-|[erfcinvf](#erfcinvf)|[erff](#erff)|[erfinv](#erfinv)|
-|[erfinvf](#erfinvf)|[exp](#exp)|[exp10](#exp10)|
-|[exp10f](#exp10f)|[exp2](#exp2)|[exp2f](#exp2f)|
-|[expf](#expf)|[expm1](#expm1)|[expm1f](#expm1f)|
-|[fabs](#fabs)|[fabsf](#fabsf)|[floor](#floor)|
-|[fdim](#fdim)|[fdimf](#fdimf)||
-|[floorf](#floorf)|[fma](#fma)|[fmaf](#fmaf)|
-[fmax](#fmax)|[fmaxf](#fmaxf)||
-|[fmin](#fmin)|[fminf](#fminf)|[fmod](#fmod)|
-|[fmodf](#fmodf)|[fpclassify](#fpclassify)|[frexp](#frexp)|
-|[frexpf](#frexpf)|[hypot](#hypot)|[hypotf](#hypotf)|
-|[ilogb](#ilogb)|[ilogbf](#ilogbf)|[isfinite](#isfinite)|
-|[isinf](#isinf)|[isnan](#isnan)|[isnormal](#isnormal)|
-|[ldexp](#ldexp)|[ldexpf](#ldexpf)|[lgamma](#lgamma)|
-|[lgammaf](#lgammaf)|[log](#log)|[log10](#log10)|
-|[log10f](#log10f)|[log1p](#log1p)|[log1pf](#log1pf)|
-|[log2](#log2)|[log2f](#log2f)|[logb](#logb)|
-|[logbf](#logbf)|[logf](#logf)|[modf](#modf)|
-|[modff](#modff)|[nan](#nan)|[nanf](#nanf)|
-|[nearbyint](#nearbyint)|[nearbyintf](#nearbyintf)|[nextafter](#nextafter)|
-|[nextafterf](#nextafterf)|[phi](#phi)|[phif](#phif)|
-|[pow](#pow)|[powf](#powf)|[probit](#probit)|
-|[probitf](#probitf)|[rcbrt](#rcbrt)|[rcbrtf](#rcbrtf)|
-|[remainder](#remainder)|[remainderf](#remainderf)|[remquo](#remquo)|
-|[remquof](#remquof)|[round](#round)|[roundf](#roundf)|
-|[rsqrt](#rsqrt)|[rsqrtf](#rsqrtf)|[scalb](#scalb)|
-|[scalbf](#scalbf)|[scalbn](#scalbn)|[scalbnf](#scalbnf)|
-|[signbit](#signbit)|[signbitf](#signbitf)|[sin](#sin)|
-|[sincos](#sincos)|[sincosf](#sincosf)|[sinf](#sinf)|
-|[sinh](#sinh)|[sinhf](#sinhf)|[sinpi](#sinpi)|
-|[sinpif](#sinpif)|[sqrt](#sqrt)|[sqrtf](#sqrtf)|
-|[tan](#tan)|[tanf](#tanf)|[tanh](#tanh)|
-|[tanhf](#tanhf)|[tanpi](#tanpi)|[tanpif](#tanpif)|
-|[tgamma](#tgamma)|[tgammaf](#tgammaf)|[trunc](#trunc)|
-|[truncf](#truncf)|
+:::row:::
+ :::column span="":::
+ [`acos`](#acos)\
+ [`acosf`](#acosf)\
+ [`acosh`](#acosh)\
+ [`acoshf`](#acoshf)\
+ [`asin`](#asin)\
+ [`asinf`](#asinf)\
+ [`asinh`](#asinh)\
+ [`asinhf`](#asinhf)\
+ [`atan`](#atan)\
+ [`atan2`](#atan2)\
+ [`atan2f`](#atan2f)\
+ [`atanf`](#atanf)\
+ [`atanh`](#atanh)\
+ [`atanhf`](#atanhf)\
+ [`cbrt`](#cbrt)\
+ [`cbrtf`](#cbrtf)\
+ [`ceil`](#ceil)\
+ [`ceilf`](#ceilf)\
+ [`copysign`](#copysign)\
+ [`copysignf`](#copysignf)\
+ [`cos`](#cos)\
+ [`cosf`](#cosf)\
+ [`cosh`](#cosh)\
+ [`coshf`](#coshf)\
+ [`cospi`](#cospi)\
+ [`cospif`](#cospif)\
+ [`erf`](#erf)\
+ [`erfc`](#erfc)\
+ [`erfcf`](#erfcf)\
+ [`erfcinv`](#erfcinv)\
+ [`erfcinvf`](#erfcinvf)\
+ [`erff`](#erff)\
+ [`erfinv`](#erfinv)
+ :::column-end:::
+ :::column span="":::
+ [`erfinvf`](#erfinvf)\
+ [`exp`](#exp)\
+ [`exp10`](#exp10)\
+ [`exp10f`](#exp10f)\
+ [`exp2`](#exp2)\
+ [`exp2f`](#exp2f)\
+ [`expf`](#expf)\
+ [`expm1`](#expm1)\
+ [`expm1f`](#expm1f)\
+ [`fabs`](#fabs)\
+ [`fabsf`](#fabsf)\
+ [`floor`](#floor)\
+ [`fdim`](#fdim)\
+ [`fdimf`](#fdimf)|\
+ [`floorf`](#floorf)\
+ [`fma`](#fma)\
+ [`fmaf`](#fmaf)\
+ [`fmax`](#fmax)\
+ [`fmaxf`](#fmaxf)\
+ [`fmin`](#fmin)\
+ [`fminf`](#fminf)\
+ [`fmod`](#fmod)\
+ [`fmodf`](#fmodf)\
+ [`fpclassify`](#fpclassify)\
+ [`frexp`](#frexp)\
+ [`frexpf`](#frexpf)\
+ [`hypot`](#hypot)\
+ [`hypotf`](#hypotf)\
+ [`ilogb`](#ilogb)\
+ [`ilogbf`](#ilogbf)\
+ [`isfinite`](#isfinite)\
+ [`isinf`](#isinf)\
+ [`isnan`](#isnan)
+ :::column-end:::
+ :::column span="":::
+ [`isnormal`](#isnormal)\
+ [`ldexp`](#ldexp)\
+ [`ldexpf`](#ldexpf)\
+ [`lgamma`](#lgamma)\
+ [`lgammaf`](#lgammaf)\
+ [`log`](#log)\
+ [`log10`](#log10)\
+ [`log10f`](#log10f)\
+ [`log1p`](#log1p)\
+ [`log1pf`](#log1pf)\
+ [`log2`](#log2)\
+ [`log2f`](#log2f)\
+ [`logb`](#logb)\
+ [`logbf`](#logbf)\
+ [`logf`](#logf)\
+ [`modf`](#modf)\
+ [`modff`](#modff)\
+ [`nan`](#nan)\
+ [`nanf`](#nanf)\
+ [`nearbyint`](#nearbyint)\
+ [`nearbyintf`](#nearbyintf)\
+ [`nextafter`](#nextafter)\
+ [`nextafterf`](#nextafterf)\
+ [`phi`](#phi)\
+ [`phif`](#phif)\
+ [`pow`](#pow)\
+ [`powf`](#powf)\
+ [`probit`](#probit)\
+ [`probitf`](#probitf)\
+ [`rcbrt`](#rcbrt)\
+ [`rcbrtf`](#rcbrtf)\
+ [`remainder`](#remainder)\
+ [`remainderf`](#remainderf)
+ :::column-end:::
+ :::column span="":::
+ [`remquo`](#remquo)\
+ [`remquof`](#remquof)\
+ [`round`](#round)\
+ [`roundf`](#roundf)\
+ [`rsqrt`](#rsqrt)\
+ [`rsqrtf`](#rsqrtf)\
+ [`scalb`](#scalb)\
+ [`scalbf`](#scalbf)\
+ [`scalbn`](#scalbn)\
+ [`scalbnf`](#scalbnf)\
+ [`signbit`](#signbit)\
+ [`signbitf`](#signbitf)\
+ [`sin`](#sin)\
+ [`sincos`](#sincos)\
+ [`sincosf`](#sincosf)\
+ [`sinf`](#sinf)\
+ [`sinh`](#sinh)\
+ [`sinhf`](#sinhf)\
+ [`sinpi`](#sinpi)\
+ [`sinpif`](#sinpif)\
+ [`sqrt`](#sqrt)\
+ [`sqrtf`](#sqrtf)\
+ [`tan`](#tan)\
+ [`tanf`](#tanf)\
+ [`tanh`](#tanh)\
+ [`tanhf`](#tanhf)\
+ [`tanpi`](#tanpi)\
+ [`tanpif`](#tanpif)\
+ [`tgamma`](#tgamma)\
+ [`tgammaf`](#tgammaf)\
+ [`trunc`](#trunc)\
+ [`truncf`](#truncf)
+ :::column-end:::
+:::row-end:::
## acos
diff --git a/docs/parallel/amp/reference/tiled-index-class.md b/docs/parallel/amp/reference/tiled-index-class.md
index 24d8e178f1f..f01dfceb3ad 100644
--- a/docs/parallel/amp/reference/tiled-index-class.md
+++ b/docs/parallel/amp/reference/tiled-index-class.md
@@ -61,7 +61,6 @@ The length of the least significant dimension.
|Name|Description|
|----------|-----------------|
|[barrier Constant](#tiled_index__barrier)|Stores a [tile_barrier](tile-barrier-class.md) object that represents a barrier in the current tile of threads.|
-|||
|[global Constant](#tiled_index__global)|Stores an [index](index-class.md) object of rank 1, 2, or 3 that represents the global index in a grid object.|
|[local Constant](#tiled_index__local)|Stores an `index` object of rank 1, 2, or 3 that represents the relative index in the current tile of a [tiled_extent](tiled-extent-class.md) object.|
|[rank Constant](#tiled_index__rank)|Stores the rank of the `tiled_index` object.|
@@ -129,9 +128,8 @@ The `tile_index` object to be copied to the constructed `tiled_index`.
### Overloads
-|||
-|-|-|
|Name|Description|
+|-|-|
|`tiled_index(const index& _Global, const index& _Local, const index& _Tile, const index& _Tile_origin, const tile_barrier& _Barrier restrict(amp,cpu);`|Initializes a new instance of the `tile_index` class from the index of the tile in global coordinates and the relative position in the tile in local coordinates. The `_Global` and `_Tile_origin` parameters are computed.|
|`tiled_index( const tiled_index& _Other) restrict(amp,cpu);`|Initializes a new instance of the `tile_index` class by copying the specified `tiled_index` object.|
diff --git a/docs/parallel/concrt/concurrency-runtime.md b/docs/parallel/concrt/concurrency-runtime.md
index 981abda9ad6..0f48fb11518 100644
--- a/docs/parallel/concrt/concurrency-runtime.md
+++ b/docs/parallel/concrt/concurrency-runtime.md
@@ -15,7 +15,7 @@ For reference documentation, see [Reference](../../parallel/concrt/reference/ref
## Choosing Concurrency Runtime Features
-|||
+|Article|Description|
|-|-|
|[Overview](../../parallel/concrt/overview-of-the-concurrency-runtime.md)|Teaches why the Concurrency Runtime is important and describes its key features.|
|[Comparing to Other Concurrency Models](../../parallel/concrt/comparing-the-concurrency-runtime-to-other-concurrency-models.md)|Shows how the Concurrency Runtime compares to other concurrency models, such as the Windows thread pool and OpenMP, so that you can use the concurrency model that best fits your application requirements.|
@@ -26,7 +26,7 @@ For reference documentation, see [Reference](../../parallel/concrt/reference/ref
## Task Parallelism in the PPL
-|||
+|Article|Description|
|-|-|
|[Task Parallelism](../../parallel/concrt/task-parallelism-concurrency-runtime.md)
[How to: Use parallel_invoke to Write a Parallel Sort Routine](../../parallel/concrt/how-to-use-parallel-invoke-to-write-a-parallel-sort-routine.md)
[How to: Use parallel_invoke to Execute Parallel Operations](../../parallel/concrt/how-to-use-parallel-invoke-to-execute-parallel-operations.md)
[How to: Create a Task that Completes After a Delay](../../parallel/concrt/how-to-create-a-task-that-completes-after-a-delay.md)|Describes tasks and task groups, which can help you to write asynchronous code and decompose parallel work into smaller pieces.|
|[Walkthrough: Implementing Futures](../../parallel/concrt/walkthrough-implementing-futures.md)|Demonstrates how to combine Concurrency Runtime features to do something more.|
@@ -35,7 +35,7 @@ For reference documentation, see [Reference](../../parallel/concrt/reference/ref
## Data Parallelism in the PPL
-|||
+|Article|Description|
|-|-|
|[Parallel Algorithms](../../parallel/concrt/parallel-algorithms.md)
[How to: Write a parallel_for Loop](../../parallel/concrt/how-to-write-a-parallel-for-loop.md)
[How to: Write a parallel_for_each Loop](../../parallel/concrt/how-to-write-a-parallel-for-each-loop.md)
[How to: Perform Map and Reduce Operations in Parallel](../../parallel/concrt/how-to-perform-map-and-reduce-operations-in-parallel.md)|Describes `parallel_for`, `parallel_for_each`, `parallel_invoke`, and other parallel algorithms. Use parallel algorithms to solve *data parallel* problems that involve collections of data.|
|[Parallel Containers and Objects](../../parallel/concrt/parallel-containers-and-objects.md)
[How to: Use Parallel Containers to Increase Efficiency](../../parallel/concrt/how-to-use-parallel-containers-to-increase-efficiency.md)
[How to: Use combinable to Improve Performance](../../parallel/concrt/how-to-use-combinable-to-improve-performance.md)
[How to: Use combinable to Combine Sets](../../parallel/concrt/how-to-use-combinable-to-combine-sets.md)|Describes the `combinable` class, as well as `concurrent_vector`, `concurrent_queue`, `concurrent_unordered_map`, and other parallel containers. Use parallel containers and objects when you require containers that provide thread-safe access to their elements.|
@@ -43,14 +43,14 @@ For reference documentation, see [Reference](../../parallel/concrt/reference/ref
## Canceling Tasks and Parallel Algorithms
-|||
+|Article|Description|
|-|-|
|[Cancellation in the PPL](cancellation-in-the-ppl.md)|Describes the role of cancellation in the PPL, including how to initiate and respond to cancellation requests.|
|[How to: Use Cancellation to Break from a Parallel Loop](../../parallel/concrt/how-to-use-cancellation-to-break-from-a-parallel-loop.md)
[How to: Use Exception Handling to Break from a Parallel Loop](../../parallel/concrt/how-to-use-exception-handling-to-break-from-a-parallel-loop.md)|Demonstrates two ways to cancel data-parallel work.|
## Universal Windows Platform apps
-|||
+|Article|Description|
|-|-|
|[Creating Asynchronous Operations in C++ for UWP Apps](../../parallel/concrt/creating-asynchronous-operations-in-cpp-for-windows-store-apps.md)|Describes some of the key points to keep in mind when you use the Concurrency Runtime to produce asynchronous operations in a UWP app.|
|[Walkthrough: Connecting Using Tasks and XML HTTP Requests](../../parallel/concrt/walkthrough-connecting-using-tasks-and-xml-http-requests.md)|Shows how to combine PPL tasks with the `IXMLHTTPRequest2` and `IXMLHTTPRequest2Callback` interfaces to send HTTP GET and POST requests to a web service in a UWP app.|
@@ -58,7 +58,7 @@ For reference documentation, see [Reference](../../parallel/concrt/reference/ref
## Dataflow Programming in the Asynchronous Agents Library
-|||
+|Article|Description|
|-|-|
|[Asynchronous Agents](../../parallel/concrt/asynchronous-agents.md)
[Asynchronous Message Blocks](../../parallel/concrt/asynchronous-message-blocks.md)
[Message Passing Functions](../../parallel/concrt/message-passing-functions.md)
[How to: Implement Various Producer-Consumer Patterns](../../parallel/concrt/how-to-implement-various-producer-consumer-patterns.md)
[How to: Provide Work Functions to the call and transformer Classes](../../parallel/concrt/how-to-provide-work-functions-to-the-call-and-transformer-classes.md)
[How to: Use transformer in a Data Pipeline](../../parallel/concrt/how-to-use-transformer-in-a-data-pipeline.md)
[How to: Select Among Completed Tasks](../../parallel/concrt/how-to-select-among-completed-tasks.md)
[How to: Send a Message at a Regular Interval](../../parallel/concrt/how-to-send-a-message-at-a-regular-interval.md)
[How to: Use a Message Block Filter](../../parallel/concrt/how-to-use-a-message-block-filter.md)|Describes asynchronous agents, message blocks, and message-passing functions, which are the building blocks for performing dataflow operations in the Concurrency Runtime.|
|[Walkthrough: Creating an Agent-Based Application](../../parallel/concrt/walkthrough-creating-an-agent-based-application.md)
[Walkthrough: Creating a Dataflow Agent](../../parallel/concrt/walkthrough-creating-a-dataflow-agent.md)|Shows how to create basic agent-based applications.|
@@ -69,14 +69,14 @@ For reference documentation, see [Reference](../../parallel/concrt/reference/ref
## Exception Handling and Debugging
-|||
+|Article|Description|
|-|-|
|[Exception Handling](../../parallel/concrt/exception-handling-in-the-concurrency-runtime.md)|Describes how to work with exceptions in the Concurrency Runtime.|
|[Parallel Diagnostic Tools](../../parallel/concrt/parallel-diagnostic-tools-concurrency-runtime.md)|Teaches you how to fine-tune your applications and make the most effective use of the Concurrency Runtime.|
## Tuning Performance
-|||
+|Article|Description|
|-|-|
|[Parallel Diagnostic Tools](../../parallel/concrt/parallel-diagnostic-tools-concurrency-runtime.md)|Teaches you how to fine-tune your applications and make the most effective use of the Concurrency Runtime.|
|[Scheduler Instances](../../parallel/concrt/scheduler-instances.md)
[How to: Manage a Scheduler Instance](../../parallel/concrt/how-to-manage-a-scheduler-instance.md)
[Scheduler Policies](../../parallel/concrt/scheduler-policies.md)
[How to: Specify Specific Scheduler Policies](../../parallel/concrt/how-to-specify-specific-scheduler-policies.md)
[How to: Create Agents that Use Specific Scheduler Policies](../../parallel/concrt/how-to-create-agents-that-use-specific-scheduler-policies.md)|Shows how to work with manage scheduler instances and scheduler policies. For desktop apps, scheduler policies enable you to associate specific rules with specific types of workloads. For example, you can create one scheduler instance to run some tasks at an elevated thread priority and use the default scheduler to run other tasks at the normal thread priority.|
@@ -87,7 +87,7 @@ For reference documentation, see [Reference](../../parallel/concrt/reference/ref
## Additional Resources
-|||
+|Article|Description|
|-|-|
|[Async programming patterns and tips in Hilo (Windows Store apps using C++ and XAML)](/previous-versions/windows/apps/jj160321(v=win.10))|Learn how we used the Concurrency Runtime to implement asynchronous operations in Hilo, a Windows Runtime app using C++ and XAML.|
|[Parallel Programming in Native Code blog](/archive/blogs/nativeconcurrency)|Provides additional in-depth blog articles about parallel programming in the Concurrency Runtime.|
diff --git a/docs/parallel/concrt/parallel-containers-and-objects.md b/docs/parallel/concrt/parallel-containers-and-objects.md
index 801cd9b4ea5..9705f08db59 100644
--- a/docs/parallel/concrt/parallel-containers-and-objects.md
+++ b/docs/parallel/concrt/parallel-containers-and-objects.md
@@ -84,21 +84,50 @@ All methods that append to or increase the size of a `concurrent_vector` object,
The following table shows the common `concurrent_vector` methods and operators that are concurrency-safe.
-||||
-|-|-|-|
-|[at](reference/concurrent-vector-class.md#at)|[end](reference/concurrent-vector-class.md#end)|[operator[]](reference/concurrent-vector-class.md#operator_at)|
-|[begin](reference/concurrent-vector-class.md#begin)|[front](reference/concurrent-vector-class.md#front)|[push_back](reference/concurrent-vector-class.md#push_back)|
-|[back](reference/concurrent-vector-class.md#back)|[grow_by](reference/concurrent-vector-class.md#grow_by)|[rbegin](reference/concurrent-vector-class.md#rbegin)|
-|[capacity](reference/concurrent-vector-class.md#capacity)|[grow_to_at_least](reference/concurrent-vector-class.md#grow_to_at_least)|[rend](reference/concurrent-vector-class.md#rend)|
-|[empty](reference/concurrent-vector-class.md#empty)|[max_size](reference/concurrent-vector-class.md#max_size)|[size](reference/concurrent-vector-class.md#size)|
+:::row:::
+ :::column span="":::
+ [`at`](reference/concurrent-vector-class.md#at)\
+ [`back`](reference/concurrent-vector-class.md#back)\
+ [`begin`](reference/concurrent-vector-class.md#begin)\
+ [`capacity`](reference/concurrent-vector-class.md#capacity)
+ :::column-end:::
+ :::column span="":::
+ [`empty`](reference/concurrent-vector-class.md#empty)\
+ [`end`](reference/concurrent-vector-class.md#end)\
+ [`front`](reference/concurrent-vector-class.md#front)\
+ [`grow_by`](reference/concurrent-vector-class.md#grow_by)
+ :::column-end:::
+ :::column span="":::
+ [`grow_to_at_least`](reference/concurrent-vector-class.md#grow_to_at_least)\
+ [`max_size`](reference/concurrent-vector-class.md#max_size)\
+ [`operator[]`](reference/concurrent-vector-class.md#operator_at)\
+ [`push_back`](reference/concurrent-vector-class.md#push_back)
+ :::column-end:::
+ :::column span="":::
+ [`rbegin`](reference/concurrent-vector-class.md#rbegin)\
+ [`rend`](reference/concurrent-vector-class.md#rend)\
+ [`size`](reference/concurrent-vector-class.md#size)
+ :::column-end:::
+:::row-end:::
Operations that the runtime provides for compatibility with the C++ Standard Library, for example, `reserve`, are not concurrency-safe. The following table shows the common methods and operators that are not concurrency-safe.
-|||
-|-|-|
-|[assign](reference/concurrent-vector-class.md#assign)|[reserve](reference/concurrent-vector-class.md#reserve)|
-|[clear](reference/concurrent-vector-class.md#clear)|[resize](reference/concurrent-vector-class.md#resize)|
-|[operator=](reference/concurrent-vector-class.md#operator_eq)|[shrink_to_fit](reference/concurrent-vector-class.md#shrink_to_fit)|
+:::row:::
+ :::column span="":::
+ [`assign`](reference/concurrent-vector-class.md#assign)\
+ [`clear`](reference/concurrent-vector-class.md#clear)
+ :::column-end:::
+ :::column span="":::
+ [`operator=`](reference/concurrent-vector-class.md#operator_eq)\
+ [`reserve`](reference/concurrent-vector-class.md#reserve)
+ :::column-end:::
+ :::column span="":::
+ [`resize`](reference/concurrent-vector-class.md#resize)
+ :::column-end:::
+ :::column span="":::
+ [`shrink_to_fit`](reference/concurrent-vector-class.md#shrink_to_fit)
+ :::column-end:::
+:::row-end:::
Operations that modify the value of existing elements are not concurrency-safe. Use a synchronization object such as a [reader_writer_lock](../../parallel/concrt/reference/reader-writer-lock-class.md) object to synchronize concurrent read and write operations to the same data element. For more information about synchronization objects, see [Synchronization Data Structures](../../parallel/concrt/synchronization-data-structures.md).
@@ -144,19 +173,39 @@ All methods that enqueue to or dequeue from a `concurrent_queue` object are conc
The following table shows the common `concurrent_queue` methods and operators that are concurrency-safe.
-|||
-|-|-|
-|[empty](reference/concurrent-queue-class.md#empty)|[push](reference/concurrent-queue-class.md#push)|
-|[get_allocator](reference/concurrent-queue-class.md#get_allocator)|[try_pop](reference/concurrent-queue-class.md#try_pop)|
+:::row:::
+ :::column span="":::
+ [`empty`](reference/concurrent-queue-class.md#empty)
+ :::column-end:::
+ :::column span="":::
+ [`get_allocator`](reference/concurrent-queue-class.md#get_allocator)
+ :::column-end:::
+ :::column span="":::
+ [`push`](reference/concurrent-queue-class.md#push)
+ :::column-end:::
+ :::column span="":::
+ [`try_pop`](reference/concurrent-queue-class.md#try_pop)
+ :::column-end:::
+:::row-end:::
Although the `empty` method is concurrency-safe, a concurrent operation may cause the queue to grow or shrink before the `empty` method returns.
The following table shows the common methods and operators that are not concurrency-safe.
-|||
-|-|-|
-|[clear](reference/concurrent-queue-class.md#clear)|[unsafe_end](reference/concurrent-queue-class.md#unsafe_end)|
-|[unsafe_begin](reference/concurrent-queue-class.md#unsafe_begin)|[unsafe_size](reference/concurrent-queue-class.md#unsafe_size)|
+:::row:::
+ :::column span="":::
+ [`clear`](reference/concurrent-queue-class.md#clear)
+ :::column-end:::
+ :::column span="":::
+ [`unsafe_begin`](reference/concurrent-queue-class.md#unsafe_begin)
+ :::column-end:::
+ :::column span="":::
+ [`unsafe_end`](reference/concurrent-queue-class.md#unsafe_end)
+ :::column-end:::
+ :::column span="":::
+ [`unsafe_size`](reference/concurrent-queue-class.md#unsafe_size)
+ :::column-end:::
+:::row-end:::
### Iterator Support
@@ -170,7 +219,7 @@ A `concurrent_queue` iterator traverses elements in the forward direction only.
|`operator*`|Retrieves a reference to the current item.|
|`operator->`|Retrieves a pointer to the current item.|
-[[Top](#top)]
+\[[Top](#top)]
## concurrent_unordered_map Class
@@ -200,21 +249,52 @@ To help avoid deadlock, no method of `concurrent_unordered_map` holds a lock whe
The `concurrent_unordered_map` class enables concurrency-safe insert and element-access operations. Insert operations do not invalidate existing pointers or iterators. Iterator access and traversal operations are also concurrency-safe. Here, concurrency-safe means pointers or iterators are always valid. It's not a guarantee of element initialization, or of a particular traversal order. The following table shows the commonly used `concurrent_unordered_map` methods and operators that are concurrency-safe.
-|||||
-|-|-|-|-|
-|[at](reference/concurrent-unordered-map-class.md#at)|`count`|`find`|[key_eq](reference/concurrent-unordered-map-class.md#key_eq)|
-|`begin`|`empty`|`get_allocator`|`max_size`|
-|`cbegin`|`end`|`hash_function`|[operator[]](reference/concurrent-unordered-map-class.md#operator_at)|
-|`cend`|`equal_range`|[insert](reference/concurrent-unordered-map-class.md#insert)|`size`|
+:::row:::
+ :::column span="":::
+ [`at`](reference/concurrent-unordered-map-class.md#at)\
+ [`begin`](reference/concurrent-unordered-map-class.md#begin)\
+ [`cbegin`](reference/concurrent-unordered-map-class.md#cbegin)\
+ [`cend`](reference/concurrent-unordered-map-class.md#cend)
+ :::column-end:::
+ :::column span="":::
+ [`count`](reference/concurrent-unordered-map-class.md#count)\
+ [`empty`](reference/concurrent-unordered-map-class.md#empty)\
+ [`end`](reference/concurrent-unordered-map-class.md#cend)\
+ [`equal_range`](reference/concurrent-unordered-map-class.md#equal_range)
+ :::column-end:::
+ :::column span="":::
+ [`find`](reference/concurrent-unordered-map-class.md#find)\
+ [`get_allocator`](reference/concurrent-unordered-map-class.md#get_allocator)\
+ [`hash_function`](reference/concurrent-unordered-map-class.md#hash_function)\
+ [`insert`](reference/concurrent-unordered-map-class.md#insert)
+ :::column-end:::
+ :::column span="":::
+ [`key_eq`](reference/concurrent-unordered-map-class.md#key_eq)\
+ [`max_size`](reference/concurrent-unordered-map-class.md#max_size)\
+ [`operator[]`](./reference/concurrent-unordered-map-class.md#operator_at)\
+ [`size`](reference/concurrent-unordered-map-class.md#size)
+ :::column-end:::
+:::row-end:::
Although the `count` method can be called safely from concurrently running threads, different threads can receive different results if a new value is simultaneously inserted into the container.
The following table shows the commonly used methods and operators that are not concurrency-safe.
-||||
-|-|-|-|
-|`clear`|`max_load_factor`|`rehash`|
-|`load_factor`|[operator=](reference/concurrent-unordered-map-class.md#operator_eq)
+:::row:::
+ :::column span="":::
+ [`clear`](reference/concurrent-unordered-map-class.md#clear)\
+ [`load_factor`](reference/concurrent-unordered-map-class.md#load_factor)
+ :::column-end:::
+ :::column span="":::
+ [`max_load_factor`](reference/concurrent-unordered-map-class.md#max_load_factor)
+ :::column-end:::
+ :::column span="":::
+ [`operator=`](reference/concurrent-unordered-map-class.md#operator_eq)
+ :::column-end:::
+ :::column span="":::
+ [`rehash`](reference/concurrent-unordered-map-class.md#rehash)
+ :::column-end:::
+:::row-end:::
In addition to these methods, any method that begins with `unsafe_` is also not concurrency-safe.
diff --git a/docs/parallel/concrt/reference/concurrency-namespace-constants1.md b/docs/parallel/concrt/reference/concurrency-namespace-constants1.md
index a491870f3ac..97367b6db63 100644
--- a/docs/parallel/concrt/reference/concurrency-namespace-constants1.md
+++ b/docs/parallel/concrt/reference/concurrency-namespace-constants1.md
@@ -6,14 +6,32 @@ ms.assetid: 6f81fc4c-b10c-479e-8717-9c292360d5a0
---
# concurrency namespace constants
-||||
-|-|-|-|
-|[AgentEventGuid](#agenteventguid)|[CONCRT_RM_VERSION_1](#concrt_rm_version_1)|[COOPERATIVE_TIMEOUT_INFINITE](#cooperative_timeout_infinite)|
-|[COOPERATIVE_WAIT_TIMEOUT](#cooperative_wait_timeout)|[ChoreEventGuid](#choreeventguid)|[ConcRTEventGuid](#concrteventguid)|
-|[ConcRT_ProviderGuid](#concrt_providerguid)|[ContextEventGuid](#contexteventguid)|[INHERIT_THREAD_PRIORITY](#inherit_thread_priority)|
-|[LockEventGuid](#lockeventguid)|[MaxExecutionResources](#maxexecutionresources)|[PPLParallelForEventGuid](#pplparallelforeventguid)|
-|[PPLParallelForeachEventGuid](#pplparallelforeacheventguid)|[PPLParallelInvokeEventGuid](#pplparallelinvokeeventguid)|[ResourceManagerEventGuid](#resourcemanagereventguid)|
-|[ScheduleGroupEventGuid](#schedulegroupeventguid)|[SchedulerEventGuid](#schedulereventguid)|[VirtualProcessorEventGuid](#virtualprocessoreventguid)|
+:::row:::
+ :::column span="":::
+ [`AgentEventGuid`](#agenteventguid)\
+ [`CONCRT_RM_VERSION_1`](#concrt_rm_version_1)\
+ [`COOPERATIVE_TIMEOUT_INFINITE`](#cooperative_timeout_infinite)\
+ [`COOPERATIVE_WAIT_TIMEOUT`](#cooperative_wait_timeout)\
+ [`ChoreEventGuid`](#choreeventguid)\
+ [`ConcRTEventGuid`](#concrteventguid)
+ :::column-end:::
+ :::column span="":::
+ [`ConcRT_ProviderGuid`](#concrt_providerguid)\
+ [`ContextEventGuid`](#contexteventguid)\
+ [`INHERIT_THREAD_PRIORITY`](#inherit_thread_priority)\
+ [`LockEventGuid`](#lockeventguid)\
+ [`MaxExecutionResources`](#maxexecutionresources)\
+ [`PPLParallelForEventGuid`](#pplparallelforeventguid)
+ :::column-end:::
+ :::column span="":::
+ [`PPLParallelForeachEventGuid`](#pplparallelforeacheventguid)\
+ [`PPLParallelInvokeEventGuid`](#pplparallelinvokeeventguid)\
+ [`ResourceManagerEventGuid`](#resourcemanagereventguid)\
+ [`ScheduleGroupEventGuid`](#schedulegroupeventguid)\
+ [`SchedulerEventGuid`](#schedulereventguid)\
+ [`VirtualProcessorEventGuid`](#virtualprocessoreventguid)
+ :::column-end:::
+:::row-end:::
## AgentEventGuid
diff --git a/docs/parallel/concrt/reference/concurrency-namespace-enums.md b/docs/parallel/concrt/reference/concurrency-namespace-enums.md
index 178b1eb0b0d..c766f0af55e 100644
--- a/docs/parallel/concrt/reference/concurrency-namespace-enums.md
+++ b/docs/parallel/concrt/reference/concurrency-namespace-enums.md
@@ -6,13 +6,28 @@ ms.assetid: a40e3b2d-ad21-4229-9880-2cfa84f7ab8f
---
# concurrency namespace enums
-||||
-|-|-|-|
-|[Agents_EventType](#agents_eventtype)|[ConcRT_EventType](#concrt_eventtype)|[Concrt_TraceFlags](#concrt_traceflags)|
-|[CriticalRegionType](#criticalregiontype)|[DynamicProgressFeedbackType](#dynamicprogressfeedbacktype)|[PolicyElementKey](#policyelementkey)|
-|[SchedulerType](#schedulertype)|[SchedulingProtocolType](#schedulingprotocoltype)|[SwitchingProxyState](#switchingproxystate)|
-|[WinRTInitializationType](#winrtinitializationtype)|[agent_status](#agent_status)|[join_type](#join_type)|
-|[message_status](#message_status)|[task_group_status](#task_group_status)|
+:::row:::
+ :::column span="":::
+ [`agent_status`](#agent_status)\
+ [`Agents_EventType`](#agents_eventtype)\
+ [`ConcRT_EventType`](#concrt_eventtype)\
+ [`Concrt_TraceFlags`](#concrt_traceflags)\
+ [`CriticalRegionType`](#criticalregiontype)
+ :::column-end:::
+ :::column span="":::
+ [`DynamicProgressFeedbackType`](#dynamicprogressfeedbacktype)\
+ [`join_type`](#join_type)\
+ [`message_status`](#message_status)\
+ [`PolicyElementKey`](#policyelementkey)\
+ [`SchedulerType`](#schedulertype)
+ :::column-end:::
+ :::column span="":::
+ [`SchedulingProtocolType`](#schedulingprotocoltype)\
+ [`SwitchingProxyState`](#switchingproxystate)\
+ [`task_group_status`](#task_group_status)\
+ [`WinRTInitializationType`](#winrtinitializationtype)
+ :::column-end:::
+:::row-end:::
## agent_status Enumeration
diff --git a/docs/parallel/concrt/reference/concurrency-namespace-functions.md b/docs/parallel/concrt/reference/concurrency-namespace-functions.md
index 3f4530cb97d..51aa64e36fd 100644
--- a/docs/parallel/concrt/reference/concurrency-namespace-functions.md
+++ b/docs/parallel/concrt/reference/concurrency-namespace-functions.md
@@ -6,23 +6,58 @@ ms.assetid: 520a6dff-9324-4df2-990d-302e3050af6a
---
# concurrency namespace functions
-||||
-|-|-|-|
-|[Alloc](#alloc)|[CreateResourceManager](#createresourcemanager)|[DisableTracing](#disabletracing)|
-|[EnableTracing](#enabletracing)|[Free](#free)|[GetExecutionContextId](#getexecutioncontextid)|
-|[GetOSVersion](#getosversion)|[GetProcessorCount](#getprocessorcount)|[GetProcessorNodeCount](#getprocessornodecount)|
-|[GetSchedulerId](#getschedulerid)|[Trace_agents_register_name](#trace_agents_register_name)|[asend](#asend)|
-|[cancel_current_task](#cancel_current_task)|[clear](#clear)|[create_async](#create_async)|
-|[create_task](#create_task)|[get_ambient_scheduler](#get_ambient_scheduler)|[internal_assign_iterators](#internal_assign_iterators)|
-|[interruption_point](#interruption_point)|[is_current_task_group_canceling](#is_current_task_group_canceling)|[make_choice](#make_choice)|
-|[make_greedy_join](#make_greedy_join)|[make_join](#make_join)|[make_task](#make_task)|
-|[parallel_buffered_sort](#parallel_buffered_sort)|[parallel_for](#parallel_for)|[parallel_for_each](#parallel_for_each)|
-|[parallel_invoke](#parallel_invoke)|[parallel_radixsort](#parallel_radixsort)|[parallel_reduce](#parallel_reduce)|
-|[parallel_sort](#parallel_sort)|[parallel_transform](#parallel_transform)|[receive](#receive)|
-|[run_with_cancellation_token](#run_with_cancellation_token)|[send](#send)|[set_ambient_scheduler](#set_ambient_scheduler)|
-|[set_task_execution_resources](#set_task_execution_resources)|[swap](#swap)|[task_from_exception](#task_from_exception)|
-|[task_from_result](#task_from_result)|[try_receive](#try_receive)|[wait](#wait)|
-|[when_all](#when_all)|[when_any](#when_any)|
+:::row:::
+ :::column span="":::
+ [`Alloc`](#alloc)\
+ [`asend`](#asend)\
+ [`cancel_current_task`](#cancel_current_task)\
+ [`clear`](#clear)\
+ [`create_async`](#create_async)\
+ [`create_task`](#create_task)\
+ [`CreateResourceManager`](#createresourcemanager)\
+ [`DisableTracing`](#disabletracing)\
+ [`EnableTracing`](#enabletracing)\
+ [`Free`](#free)\
+ [`get_ambient_scheduler`](#get_ambient_scheduler)\
+ [`GetExecutionContextId`](#getexecutioncontextid)\
+ [`GetOSVersion`](#getosversion)\
+ [`GetProcessorCount`](#getprocessorcount)\
+ [`GetProcessorNodeCount`](#getprocessornodecount)
+ :::column-end:::
+ :::column span="":::
+ [`GetSchedulerId`](#getschedulerid)\
+ [`internal_assign_iterators`](#internal_assign_iterators)\
+ [`interruption_point`](#interruption_point)\
+ [`is_current_task_group_canceling`](#is_current_task_group_canceling)\
+ [`make_choice`](#make_choice)\
+ [`make_greedy_join`](#make_greedy_join)\
+ [`make_join`](#make_join)\
+ [`make_task`](#make_task)\
+ [`parallel_buffered_sort`](#parallel_buffered_sort)\
+ [`parallel_for_each`](#parallel_for_each)\
+ [`parallel_for`](#parallel_for)\
+ [`parallel_invoke`](#parallel_invoke)\
+ [`parallel_radixsort`](#parallel_radixsort)\
+ [`parallel_reduce`](#parallel_reduce)\
+ [`parallel_sort`](#parallel_sort)
+ :::column-end:::
+ :::column span="":::
+ [`parallel_transform`](#parallel_transform)\
+ [`receive`](#receive)\
+ [`run_with_cancellation_token`](#run_with_cancellation_token)\
+ [`send`](#send)\
+ [`set_ambient_scheduler`](#set_ambient_scheduler)\
+ [`set_task_execution_resources`](#set_task_execution_resources)\
+ [`swap`](#swap)\
+ [`task_from_exception`](#task_from_exception)\
+ [`task_from_result`](#task_from_result)\
+ [`Trace_agents_register_name`](#trace_agents_register_name)\
+ [`try_receive`](#try_receive)\
+ [`wait`](#wait)\
+ [`when_all`](#when_all)\
+ [`when_any`](#when_any)
+ :::column-end:::
+:::row-end:::
## Alloc
diff --git a/docs/parallel/concrt/reference/concurrency-namespace-operators.md b/docs/parallel/concrt/reference/concurrency-namespace-operators.md
index 6cbc9990316..fd911363b39 100644
--- a/docs/parallel/concrt/reference/concurrency-namespace-operators.md
+++ b/docs/parallel/concrt/reference/concurrency-namespace-operators.md
@@ -6,11 +6,24 @@ ms.assetid: 8e373f23-fc8e-49f7-82e6-ba0c57b822f8
---
# concurrency namespace Operators
-||||
-|-|-|-|
-|[operator!=](#operator_neq)|[operator&&](#operator_amp_amp)|[operator>](#operator_gt)|
-|[operator>=](#operator_gt_eq)|[operator<](#operator_lt)|[operator<=](#operator_lt_eq)|
-|[operator==](#operator_eq_eq)|[operator||](#operator_lor)| |
+:::row:::
+ :::column span="":::
+ [`operator||`](#operator_lor)\
+ [`operator&&`](#operator_amp_amp)
+ :::column-end:::
+ :::column span="":::
+ [`operator==`](#operator_eq_eq)\
+ [`operator!=`](#operator_neq)
+ :::column-end:::
+ :::column span="":::
+ [`operator<`](#operator_lt)\
+ [`operator<=`](#operator_lt_eq)
+ :::column-end:::
+ :::column span="":::
+ [`operator>`](#operator_gt)\
+ [`operator>=`](#operator_gt_eq)
+ :::column-end:::
+:::row-end:::
## operator|| Operator
diff --git a/docs/parallel/openmp/2-directives.md b/docs/parallel/openmp/2-directives.md
index 4d465e8a7f1..df9041c1f15 100644
--- a/docs/parallel/openmp/2-directives.md
+++ b/docs/parallel/openmp/2-directives.md
@@ -185,7 +185,7 @@ The `schedule` clause specifies how iterations of the `for` loop are divided amo
Table 2-1: `schedule` clause *kind* values
-|||
+|Value|Description|
|-|-|
|static|When `schedule(static,` *chunk_size* `)` is specified, iterations are divided into chunks of a size specified by *chunk_size*. The chunks are statically assigned to threads in the team in a round-robin fashion in the order of the thread number. When no *chunk_size* is specified, the iteration space is divided into chunks that are approximately equal in size, with one chunk assigned to each thread.|
|dynamic|When `schedule(dynamic,` *chunk_size* `)` is specified, the iterations are divided into a series of chunks, each containing *chunk_size* iterations. Each chunk is assigned to a thread that's waiting for an assignment. The thread executes the chunk of iterations and then waits for its next assignment, until no chunks remain to be assigned. The last chunk to be assigned may have a smaller number of iterations. When no *chunk_size* is specified, it defaults to 1.|
diff --git a/docs/porting/overview-of-potential-upgrade-issues-visual-cpp.md b/docs/porting/overview-of-potential-upgrade-issues-visual-cpp.md
index be2d04a47c0..4e1215f2b98 100644
--- a/docs/porting/overview-of-potential-upgrade-issues-visual-cpp.md
+++ b/docs/porting/overview-of-potential-upgrade-issues-visual-cpp.md
@@ -92,9 +92,8 @@ Projects that use this option present a problem when upgrading, because the cont
The following table shows the libraries whose contents changed starting with Visual Studio 2015. To upgrade, you need to add the new library names in the second column to the libraries in the first column. Some of these libraries are import libraries, but that shouldn't matter.
-|||
-|-|-|
|If you were using:|You need to use these libraries:|
+|-|-|
|libcmt.lib|libcmt.lib, libucrt.lib, libvcruntime.lib|
|libcmtd.lib|libcmtd.lib, libucrtd.lib, libvcruntimed.lib|
|msvcrt.lib|msvcrt.lib, ucrt.lib, vcruntime.lib|
diff --git a/docs/preprocessor/compiler-warnings-that-are-off-by-default.md b/docs/preprocessor/compiler-warnings-that-are-off-by-default.md
index da8aa8d0793..34ca8fb58d2 100644
--- a/docs/preprocessor/compiler-warnings-that-are-off-by-default.md
+++ b/docs/preprocessor/compiler-warnings-that-are-off-by-default.md
@@ -32,7 +32,7 @@ You can enable warnings that are normally off by default by using one of the fol
The following warnings are turned off by default in Visual Studio 2015 and later versions:
-|||
+|Warning|Message|
|-|-|
|[C4061](../error-messages/compiler-warnings/compiler-warning-level-4-c4061.md) (level 4)|enumerator '*identifier*' in a switch of enum '*enumeration*' is not explicitly handled by a case label|
|[C4062](../error-messages/compiler-warnings/compiler-warning-level-4-c4062.md) (level 4)|enumerator '*identifier*' in a switch of enum '*enumeration*' is not handled|
@@ -155,7 +155,7 @@ The following warnings are turned off by default in Visual Studio 2015 and later
These warnings were off by default in versions of the compiler before Visual Studio 2015:
-|||
+|Warning|Message|
|-|-|
|[C4302](../error-messages/compiler-warnings/compiler-warning-level-2-c4302.md) (level 2)|'*conversion*': truncation from '*type1*' to '*type2*'|
|[C4311](../error-messages/compiler-warnings/compiler-warning-level-1-c4311.md) (level 1)|'*variable*' : pointer truncation from '*type*' to '*type*'|
@@ -164,7 +164,7 @@ These warnings were off by default in versions of the compiler before Visual Stu
This warning was off by default in versions of the compiler before Visual Studio 2012:
-|||
+|Warning|Message|
|-|-|
|[C4431](../error-messages/compiler-warnings/compiler-warning-level-4-c4431.md) (level 4)|missing type specifier - int assumed. Note: C no longer supports default-int|
diff --git a/docs/preprocessor/pragma-directives-and-the-pragma-keyword.md b/docs/preprocessor/pragma-directives-and-the-pragma-keyword.md
index 1751d7f6261..4267fb35516 100644
--- a/docs/preprocessor/pragma-directives-and-the-pragma-keyword.md
+++ b/docs/preprocessor/pragma-directives-and-the-pragma-keyword.md
@@ -26,22 +26,57 @@ The compiler issues a warning when it finds a pragma that it doesn't recognize,
The Microsoft C and C++ compilers recognize the following pragmas:
-||||
-|-|-|-|
-|[alloc_text](../preprocessor/alloc-text.md)|[auto_inline](../preprocessor/auto-inline.md)|[bss_seg](../preprocessor/bss-seg.md)|
-|[check_stack](../preprocessor/check-stack.md)|[code_seg](../preprocessor/code-seg.md)|[comment](../preprocessor/comment-c-cpp.md)|
-|[component](../preprocessor/component.md)|[conform](../preprocessor/conform.md) 1|[const_seg](../preprocessor/const-seg.md)|
-|[data_seg](../preprocessor/data-seg.md)|[deprecated](../preprocessor/deprecated-c-cpp.md)|[detect_mismatch](../preprocessor/detect-mismatch.md)|
-|[fenv_access](../preprocessor/fenv-access.md)|[float_control](../preprocessor/float-control.md)|[fp_contract](../preprocessor/fp-contract.md)|
-|[function](../preprocessor/function-c-cpp.md)|[hdrstop](../preprocessor/hdrstop.md)|[include_alias](../preprocessor/include-alias.md)|
-|[init_seg](../preprocessor/init-seg.md) 1|[inline_depth](../preprocessor/inline-depth.md)|[inline_recursion](../preprocessor/inline-recursion.md)|
-|[intrinsic](../preprocessor/intrinsic.md)|[loop](../preprocessor/loop.md) 1|[make_public](../preprocessor/make-public.md)|
-|[managed](../preprocessor/managed-unmanaged.md)|[message](../preprocessor/message.md)|[omp](../preprocessor/omp.md)|
-|[once](../preprocessor/once.md)|[optimize](../preprocessor/optimize.md)|[pack](../preprocessor/pack.md)|
-|[pointers_to_members](../preprocessor/pointers-to-members.md) 1|[pop_macro](../preprocessor/pop-macro.md)|[push_macro](../preprocessor/push-macro.md)|
-|[region, endregion](../preprocessor/region-endregion.md)|[runtime_checks](../preprocessor/runtime-checks.md)|[section](../preprocessor/section.md)|
-|[setlocale](../preprocessor/setlocale.md)|[strict_gs_check](../preprocessor/strict-gs-check.md)|[unmanaged](../preprocessor/managed-unmanaged.md)|
-|[vtordisp](../preprocessor/vtordisp.md) 1|[warning](../preprocessor/warning.md)||
+:::row:::
+ :::column span="":::
+ [`alloc_text`](../preprocessor/alloc-text.md)\
+ [`auto_inline`](../preprocessor/auto-inline.md)\
+ [`bss_seg`](../preprocessor/bss-seg.md)\
+ [`check_stack`](../preprocessor/check-stack.md)\
+ [`code_seg`](../preprocessor/code-seg.md)\
+ [`comment`](../preprocessor/comment-c-cpp.md)\
+ [`component`](../preprocessor/component.md)\
+ [`conform`](../preprocessor/conform.md) 1\
+ [`const_seg`](../preprocessor/const-seg.md)\
+ [`data_seg`](../preprocessor/data-seg.md)\
+ [`deprecated`](../preprocessor/deprecated-c-cpp.md)
+ :::column-end:::
+ :::column span="":::
+ [`detect_mismatch`](../preprocessor/detect-mismatch.md)\
+ [`fenv_access`](../preprocessor/fenv-access.md)\
+ [`float_control`](../preprocessor/float-control.md)\
+ [`fp_contract`](../preprocessor/fp-contract.md)\
+ [`function`](../preprocessor/function-c-cpp.md)\
+ [`hdrstop`](../preprocessor/hdrstop.md)\
+ [`include_alias`](../preprocessor/include-alias.md)\
+ [`init_seg`](../preprocessor/init-seg.md) 1\
+ [`inline_depth`](../preprocessor/inline-depth.md)\
+ [`inline_recursion`](../preprocessor/inline-recursion.md)
+ :::column-end:::
+ :::column span="":::
+ [`intrinsic`](../preprocessor/intrinsic.md)\
+ [`loop`](../preprocessor/loop.md) 1\
+ [`make_public`](../preprocessor/make-public.md)\
+ [`managed`](../preprocessor/managed-unmanaged.md)\
+ [`message`](../preprocessor/message.md)\
+ [`omp`](../preprocessor/omp.md)\
+ [`once`](../preprocessor/once.md)\
+ [`optimize`](../preprocessor/optimize.md)\
+ [`pack`](../preprocessor/pack.md)\
+ [`pointers_to_members`](../preprocessor/pointers-to-members.md) 1
+ :::column-end:::
+ :::column span="":::
+ [`pop_macro`](../preprocessor/pop-macro.md)\
+ [`push_macro`](../preprocessor/push-macro.md)\
+ [`region`, endregion](../preprocessor/region-endregion.md)\
+ [`runtime_checks`](../preprocessor/runtime-checks.md)\
+ [`section`](../preprocessor/section.md)\
+ [`setlocale`](../preprocessor/setlocale.md)\
+ [`strict_gs_check`](../preprocessor/strict-gs-check.md)\
+ [`unmanaged`](../preprocessor/managed-unmanaged.md)\
+ [`vtordisp`](../preprocessor/vtordisp.md) 1\
+ [`warning`](../preprocessor/warning.md)
+ :::column-end:::
+:::row-end:::
1 Supported only by the C++ compiler.
diff --git a/docs/preprocessor/preprocessor-directives.md b/docs/preprocessor/preprocessor-directives.md
index 382e3280190..22a301bc58b 100644
--- a/docs/preprocessor/preprocessor-directives.md
+++ b/docs/preprocessor/preprocessor-directives.md
@@ -12,12 +12,30 @@ Preprocessor statements use the same character set as source file statements, wi
The preprocessor recognizes the following directives:
-|||||
-|-|-|-|-|
-|[#define](../preprocessor/hash-define-directive-c-cpp.md)|[#error](../preprocessor/hash-error-directive-c-cpp.md)|[#import](../preprocessor/hash-import-directive-cpp.md)|[#undef](../preprocessor/hash-undef-directive-c-cpp.md)|
-|[#elif](../preprocessor/hash-if-hash-elif-hash-else-and-hash-endif-directives-c-cpp.md)|[#if](../preprocessor/hash-if-hash-elif-hash-else-and-hash-endif-directives-c-cpp.md)|[#include](../preprocessor/hash-include-directive-c-cpp.md)|[#using](../preprocessor/hash-using-directive-cpp.md)|
-|[#else](../preprocessor/hash-if-hash-elif-hash-else-and-hash-endif-directives-c-cpp.md)|[#ifdef](../preprocessor/hash-ifdef-and-hash-ifndef-directives-c-cpp.md)|[#line](../preprocessor/hash-line-directive-c-cpp.md)|[#endif](../preprocessor/hash-if-hash-elif-hash-else-and-hash-endif-directives-c-cpp.md)|
-|[#ifndef](../preprocessor/hash-ifdef-and-hash-ifndef-directives-c-cpp.md)|[#pragma](../preprocessor/pragma-directives-and-the-pragma-keyword.md)|||
+:::row:::
+ :::column span="":::
+ [`#define`](../preprocessor/hash-define-directive-c-cpp.md)\
+ [`#elif`](../preprocessor/hash-if-hash-elif-hash-else-and-hash-endif-directives-c-cpp.md)\
+ [`#else`](../preprocessor/hash-if-hash-elif-hash-else-and-hash-endif-directives-c-cpp.md)\
+ [`#endif`](../preprocessor/hash-if-hash-elif-hash-else-and-hash-endif-directives-c-cpp.md)
+ :::column-end:::
+ :::column span="":::
+ [`#error`](../preprocessor/hash-error-directive-c-cpp.md)\
+ [`#if`](../preprocessor/hash-if-hash-elif-hash-else-and-hash-endif-directives-c-cpp.md)\
+ [`#ifdef`](../preprocessor/hash-ifdef-and-hash-ifndef-directives-c-cpp.md)\
+ [`#ifndef`](../preprocessor/hash-ifdef-and-hash-ifndef-directives-c-cpp.md)
+ :::column-end:::
+ :::column span="":::
+ [`#import`](../preprocessor/hash-import-directive-cpp.md)\
+ [`#include`](../preprocessor/hash-include-directive-c-cpp.md)\
+ [`#line`](../preprocessor/hash-line-directive-c-cpp.md)
+ :::column-end:::
+ :::column span="":::
+ [`#pragma`](../preprocessor/pragma-directives-and-the-pragma-keyword.md)\
+ [`#undef`](../preprocessor/hash-undef-directive-c-cpp.md)\
+ [`#using`](../preprocessor/hash-using-directive-cpp.md)
+ :::column-end:::
+:::row-end:::
The number sign (`#`) must be the first nonwhite-space character on the line containing the directive. White-space characters can appear between the number sign and the first letter of the directive. Some directives include arguments or values. Any text that follows a directive (except an argument or value that is part of the directive) must be preceded by the single-line comment delimiter (`//`) or enclosed in comment delimiters (`/* */`). Lines containing preprocessor directives can be continued by immediately preceding the end-of-line marker with a backslash (`\`).
diff --git a/docs/standard-library/algorithm.md b/docs/standard-library/algorithm.md
index 199479719a0..6e9a8bd1a9b 100644
--- a/docs/standard-library/algorithm.md
+++ b/docs/standard-library/algorithm.md
@@ -36,7 +36,7 @@ The C++ Standard Library numeric algorithms that are provided for numerical proc
### Function templates
-|||
+|Name|Description|
|-|-|
|[adjacent_find](algorithm-functions.md#adjacent_find)|Searches for two adjacent elements that are either equal or satisfy a specified condition.|
|[all_of](algorithm-functions.md#all_of)|Returns **`true`** when a condition is present at each element in the given range.|
diff --git a/docs/standard-library/allocator-class.md b/docs/standard-library/allocator-class.md
index 8dd2b77fe20..b7789e2c53d 100644
--- a/docs/standard-library/allocator-class.md
+++ b/docs/standard-library/allocator-class.md
@@ -47,13 +47,13 @@ These `Type`s specify the form that pointers and references must take for alloca
### Constructors
-|||
+|Name|Description|
|-|-|
|[allocator](#allocator)|Constructors used to create `allocator` objects.|
### Typedefs
-|||
+|Name|Description|
|-|-|
|[const_pointer](#const_pointer)|A type that provides a constant pointer to the type of object managed by the allocator.|
|[const_reference](#const_reference)|A type that provides a constant reference to type of object managed by the allocator.|
@@ -65,7 +65,7 @@ These `Type`s specify the form that pointers and references must take for alloca
### Functions
-|||
+|Name|Description|
|-|-|
|[address](#address)|Finds the address of an object whose value is specified.|
|[allocate](#allocate)|Allocates a block of memory large enough to store at least some specified number of elements.|
@@ -77,7 +77,7 @@ These `Type`s specify the form that pointers and references must take for alloca
### Operators
-|||
+|Name|Description|
|-|-|
|[operator=](#op_eq)|Assigns one `allocator` object to another `allocator` object.|
diff --git a/docs/standard-library/allocator-traits-class.md b/docs/standard-library/allocator-traits-class.md
index 41aac61b7cf..cf153e47f53 100644
--- a/docs/standard-library/allocator-traits-class.md
+++ b/docs/standard-library/allocator-traits-class.md
@@ -20,7 +20,7 @@ template
### Typedefs
-|||
+|Name|Description|
|-|-|
|`allocator_type`|This type is a synonym for the template parameter `Alloc`.|
|`const_pointer`|This type is `Alloc::const_pointer`, if that type is well-formed; otherwise, this type is `pointer_traits::rebind`.|
@@ -38,7 +38,7 @@ template
The following static methods call the corresponding method on a given allocator parameter.
-|||
+|Name|Description|
|-|-|
|[allocate](#allocate)|Static method that allocates memory by using the given allocator parameter.|
|[construct](#construct)|Static method that uses a specified allocator to construct an object.|
diff --git a/docs/standard-library/allocators-functions.md b/docs/standard-library/allocators-functions.md
index c381d2424ae..517d370f954 100644
--- a/docs/standard-library/allocators-functions.md
+++ b/docs/standard-library/allocators-functions.md
@@ -7,10 +7,21 @@ helpviewer_keywords: ["std::ALLOCATOR_DECL [C++]", "std::CACHE_CHUNKLIST [C++]",
---
# <allocators> macros
-||||
-|-|-|-|
-|[ALLOCATOR_DECL](#allocator_decl)|[CACHE_CHUNKLIST](#cache_chunklist)|[CACHE_FREELIST](#cache_freelist)|
-|[CACHE_SUBALLOC](#cache_suballoc)|[SYNC_DEFAULT](#sync_default)|
+:::row:::
+ :::column span="":::
+ [`ALLOCATOR_DECL`](#allocator_decl)\
+ [`CACHE_CHUNKLIST`](#cache_chunklist)
+ :::column-end:::
+ :::column span="":::
+ [`CACHE_FREELIST`](#cache_freelist)
+ :::column-end:::
+ :::column span="":::
+ [`CACHE_SUBALLOC`](#cache_suballoc)
+ :::column-end:::
+ :::column span="":::
+ [`SYNC_DEFAULT`](#sync_default)
+ :::column-end:::
+:::row-end:::
## ALLOCATOR_DECL
diff --git a/docs/standard-library/allocators-operators.md b/docs/standard-library/allocators-operators.md
index 6b0d82183cf..399e94b07b2 100644
--- a/docs/standard-library/allocators-operators.md
+++ b/docs/standard-library/allocators-operators.md
@@ -8,9 +8,8 @@ ms.assetid: b55d67cb-3c69-46bf-ad40-e845fb096c4e
These are the global template operator functions defined in <allocators>. For class member operator functions, see the class documentation.
-|||
-|-|-|
-|[operator!=](#op_neq)|[operator==](#op_eq_eq)|
+[operator!=](#op_neq)\
+[operator==](#op_eq_eq)
## operator!=
diff --git a/docs/standard-library/allocators.md b/docs/standard-library/allocators.md
index cd5269d0303..5bb43fd983c 100644
--- a/docs/standard-library/allocators.md
+++ b/docs/standard-library/allocators.md
@@ -93,23 +93,48 @@ void Mallocator::deallocate(T * const p, size_t) const noexcept
In C++03, any allocator used with C++ Standard Library containers must implement the following type definitions:
-|||
-|-|-|
-|`const_pointer`|`rebind`|
-|`const_reference`|`reference`|
-|`difference_type`|`size_type`|
-|`pointer`|`value_type`|
+:::row:::
+ :::column:::
+ `const_pointer`\
+ `const_reference`
+ :::column-end:::
+ :::column:::
+ `difference_type`\
+ `pointer`
+ :::column-end:::
+ :::column:::
+ `rebind`\
+ `reference`
+ :::column-end:::
+ :::column:::
+ `size_type`\
+ `value_type`
+ :::column-end:::
+:::row-end:::
In addition, any allocator used with C++ Standard Library containers must implement the following methods:
-|||
-|-|-|
-|Constructor|`deallocate`|
-|Copy constructor|`destroy`|
-|Destructor|`max_size`|
-|`address`|`operator==`|
-|`allocate`|`operator!=`|
-|`construct`||
+:::row:::
+ :::column:::
+ Constructor\
+ Copy constructor\
+ Destructor
+ :::column-end:::
+ :::column:::
+ `address`\
+ `allocate`\
+ `construct`
+ :::column-end:::
+ :::column:::
+ `deallocate`\
+ `destroy`\
+ `max_size`
+ :::column-end:::
+ :::column:::
+ `operator!=`\
+ `operator==`
+ :::column-end:::
+:::row-end:::
For more information on these type definitions and methods, see [allocator Class](allocator-class.md).
diff --git a/docs/standard-library/any-class.md b/docs/standard-library/any-class.md
index 02c02618a8b..0b2e73ff8d0 100644
--- a/docs/standard-library/any-class.md
+++ b/docs/standard-library/any-class.md
@@ -20,13 +20,13 @@ class any
### Constructors
-|||
+|Name|Description|
|-|-|
|[any](#any)|Constructs an object of type `any`.|
### Functions
-|||
+|Name|Description|
|-|-|
|[emplace](#emplace)|Sets an any value.|
|[has_value](#has_value)|Returns **`true`** if any has a value.|
@@ -36,7 +36,7 @@ class any
### Operators
-|||
+|Name|Description|
|-|-|
|[operator=](#op_eq)|Replaces the any with a copy of another any.|
diff --git a/docs/standard-library/any.md b/docs/standard-library/any.md
index bcb6b87e49c..9c0fbdf583c 100644
--- a/docs/standard-library/any.md
+++ b/docs/standard-library/any.md
@@ -18,7 +18,7 @@ Defines the class any and several supporting functions and classes.
### Functions
-|||
+|Name|Description|
|-|-|
|[any_cast](../standard-library/any-functions.md#any_cast)|Makes an object into an any.|
|[make_any](../standard-library/any-functions.md#make_any)|Takes values and creates an any object.|
@@ -26,7 +26,7 @@ Defines the class any and several supporting functions and classes.
### Classes
-|||
+|Name|Description|
|-|-|
|[any](../standard-library/any-class.md)|Stores any type that satisfies the constructor requirements or has no value.|
|[bad_any_cast](../standard-library/bad-any-cast-class.md)|Objects thrown by a failed `any_cast`.|
diff --git a/docs/standard-library/array-functions.md b/docs/standard-library/array-functions.md
index f2f6e36bce4..ce640e6a443 100644
--- a/docs/standard-library/array-functions.md
+++ b/docs/standard-library/array-functions.md
@@ -9,9 +9,8 @@ helpviewer_keywords: ["std::array [C++], get", "std::get [C++]", "std::swap [C++
The \ header includes two non-member functions, `get` and `swap`, that operate on **array** objects.
-|||
-|-|-|
-|[get](#get)|[swap](#swap)|
+[get](#get)\
+[swap](#swap)
## get
diff --git a/docs/standard-library/array-operators.md b/docs/standard-library/array-operators.md
index 6ae58020a18..3deea39ef66 100644
--- a/docs/standard-library/array-operators.md
+++ b/docs/standard-library/array-operators.md
@@ -8,10 +8,12 @@ ms.assetid: c8f46282-f179-4909-9a01-639cb8e18c27
The \ header includes these **array** non-member comparison template functions.
-||||
-|-|-|-|
-|[operator!=](#op_neq)|[operator>](#op_gt)|[operator>=](#op_gt_eq)|
-|[operator<](#op_lt)|[operator<=](#op_lt_eq)|[operator==](#op_eq_eq)|
+[operator!=](#op_neq)\
+[operator>](#op_gt)\
+[operator>=](#op_gt_eq)\
+[operator<](#op_lt)\
+[operator<=](#op_lt_eq)\
+[operator==](#op_eq_eq)
## operator!=
diff --git a/docs/standard-library/array.md b/docs/standard-library/array.md
index d75fdcf8a86..76fe31fa415 100644
--- a/docs/standard-library/array.md
+++ b/docs/standard-library/array.md
@@ -22,7 +22,7 @@ Defines the container class template **array** and several supporting templates.
### Classes
-|||
+|Name|Description|
|-|-|
|[array](../standard-library/array-class-stl.md)|Stores a fixed-length sequence of elements.|
|[tuple_element](../standard-library/tuple-element-class-tuple.md)|Wraps the type of an array element.|
@@ -30,7 +30,7 @@ Defines the container class template **array** and several supporting templates.
### Operators
-|||
+|Name|Description|
|-|-|
|[operator==](../standard-library/array-operators.md#op_eq_eq)|array comparison, equal|
|[operator!=](../standard-library/array-operators.md#op_neq)|array comparison, not equal|
@@ -41,7 +41,7 @@ Defines the container class template **array** and several supporting templates.
### Functions
-|||
+|Name|Description|
|-|-|
|[get](../standard-library/array-functions.md#get)|Get specified array element.|
|[swap](../standard-library/array-functions.md#swap)|Exchanges the contents of one array with the contents of another array.|
diff --git a/docs/standard-library/atomic-enums.md b/docs/standard-library/atomic-enums.md
index 316b42d26f2..02e30311e16 100644
--- a/docs/standard-library/atomic-enums.md
+++ b/docs/standard-library/atomic-enums.md
@@ -24,7 +24,7 @@ typedef enum memory_order {
### Enumeration members
-|||
+|Name|Description|
|-|-|
|`memory_order_relaxed`|No ordering required.|
|`memory_order_consume`|A load operation acts as a consume operation on the memory location.|
diff --git a/docs/standard-library/atomic-functions.md b/docs/standard-library/atomic-functions.md
index 9b02fd3a63e..273fbf32bf7 100644
--- a/docs/standard-library/atomic-functions.md
+++ b/docs/standard-library/atomic-functions.md
@@ -7,18 +7,35 @@ helpviewer_keywords: ["std::atomic_compare_exchange_strong [C++]", "std::atomic_
---
# <atomic> functions
-||||
-|-|-|-|
-|[atomic_compare_exchange_strong](#atomic_compare_exchange_strong)|[atomic_compare_exchange_strong_explicit](#atomic_compare_exchange_strong_explicit)|[atomic_compare_exchange_weak](#atomic_compare_exchange_weak)|
-|[atomic_compare_exchange_weak_explicit](#atomic_compare_exchange_weak_explicit)|[atomic_exchange](#atomic_exchange)|[atomic_exchange_explicit](#atomic_exchange_explicit)|
-|[atomic_fetch_add](#atomic_fetch_add)|[atomic_fetch_add_explicit](#atomic_fetch_add_explicit)|[atomic_fetch_and](#atomic_fetch_and)|
-|[atomic_fetch_and_explicit](#atomic_fetch_and_explicit)|[atomic_fetch_or](#atomic_fetch_or)|[atomic_fetch_or_explicit](#atomic_fetch_or_explicit)|
-|[atomic_fetch_sub](#atomic_fetch_sub)|[atomic_fetch_sub_explicit](#atomic_fetch_sub_explicit)|[atomic_fetch_xor](#atomic_fetch_xor)|
-|[atomic_fetch_xor_explicit](#atomic_fetch_xor_explicit)|[atomic_flag_clear](#atomic_flag_clear)|[atomic_flag_clear_explicit](#atomic_flag_clear_explicit)|
-|[atomic_flag_test_and_set](#atomic_flag_test_and_set)|[atomic_flag_test_and_set_explicit](#atomic_flag_test_and_set_explicit)|[atomic_init](#atomic_init)|
-|[atomic_is_lock_free](#atomic_is_lock_free)|[atomic_load](#atomic_load)|[atomic_load_explicit](#atomic_load_explicit)|
-|[atomic_signal_fence](#atomic_signal_fence)|[atomic_store](#atomic_store)|[atomic_store_explicit](#atomic_store_explicit)|
-|[atomic_thread_fence](#atomic_thread_fence)|[kill_dependency](#kill_dependency)|
+[atomic_compare_exchange_strong](#atomic_compare_exchange_strong)\
+[atomic_compare_exchange_strong_explicit](#atomic_compare_exchange_strong_explicit)\
+[atomic_compare_exchange_weak](#atomic_compare_exchange_weak)\
+[atomic_compare_exchange_weak_explicit](#atomic_compare_exchange_weak_explicit)\
+[atomic_exchange](#atomic_exchange)\
+[atomic_exchange_explicit](#atomic_exchange_explicit)\
+[atomic_fetch_add](#atomic_fetch_add)\
+[atomic_fetch_add_explicit](#atomic_fetch_add_explicit)\
+[atomic_fetch_and](#atomic_fetch_and)\
+[atomic_fetch_and_explicit](#atomic_fetch_and_explicit)\
+[atomic_fetch_or](#atomic_fetch_or)\
+[atomic_fetch_or_explicit](#atomic_fetch_or_explicit)\
+[atomic_fetch_sub](#atomic_fetch_sub)\
+[atomic_fetch_sub_explicit](#atomic_fetch_sub_explicit)\
+[atomic_fetch_xor](#atomic_fetch_xor)\
+[atomic_fetch_xor_explicit](#atomic_fetch_xor_explicit)\
+[atomic_flag_clear](#atomic_flag_clear)\
+[atomic_flag_clear_explicit](#atomic_flag_clear_explicit)\
+[atomic_flag_test_and_set](#atomic_flag_test_and_set)\
+[atomic_flag_test_and_set_explicit](#atomic_flag_test_and_set_explicit)\
+[atomic_init](#atomic_init)\
+[atomic_is_lock_free](#atomic_is_lock_free)\
+[atomic_load](#atomic_load)\
+[atomic_load_explicit](#atomic_load_explicit)\
+[atomic_signal_fence](#atomic_signal_fence)\
+[atomic_store](#atomic_store)\
+[atomic_store_explicit](#atomic_store_explicit)\
+[atomic_thread_fence](#atomic_thread_fence)\
+[kill_dependency](#kill_dependency)
## atomic_compare_exchange_strong
@@ -804,7 +821,7 @@ A memory ordering constraint that determines fence type.
The *Order* argument determines fence type.
-|||
+|Value|Description|
|-|-|
|`memory_order_relaxed`|The fence has no effect.|
|`memory_order_consume`|The fence is an acquire fence.|
@@ -886,7 +903,7 @@ A memory ordering constraint that determines fence type.
The *Order* argument determines fence type.
-|||
+|Value|Description|
|-|-|
|`memory_order_relaxed`|The fence has no effect.|
|`memory_order_consume`|The fence is an acquire fence.|
diff --git a/docs/standard-library/atomic-structure.md b/docs/standard-library/atomic-structure.md
index 3eba5fe3e48..e23324fa6a0 100644
--- a/docs/standard-library/atomic-structure.md
+++ b/docs/standard-library/atomic-structure.md
@@ -47,19 +47,32 @@ struct atomic;
The type *Ty* must be *trivially copyable*. That is, using [memcpy](../c-runtime-library/reference/memcpy-wmemcpy.md) to copy its bytes must produce a valid *Ty* object that compares equal to the original object. The [compare_exchange_weak](#compare_exchange_weak) and [compare_exchange_strong](#compare_exchange_strong) member functions use [memcmp](../c-runtime-library/reference/memcmp-wmemcmp.md) to determine whether two *Ty* values are equal. These functions will not use a *Ty*-defined `operator==`. The member functions of `atomic` use `memcpy` to copy values of type *Ty*.
-A partial specialization, **atomic\**, exists for all pointer types. The specialization enables the addition of an offset to the managed pointer value or the subtraction of an offset from it. The arithmetic operations take an argument of type `ptrdiff_t` and adjust that argument according to the size of *Ty* to be consistent with ordinary address arithmetic.
+A partial specialization, `atomic`, exists for all pointer types. The specialization enables the addition of an offset to the managed pointer value or the subtraction of an offset from it. The arithmetic operations take an argument of type `ptrdiff_t` and adjust that argument according to the size of *Ty* to be consistent with ordinary address arithmetic.
A specialization exists for every integral type except **`bool`**. Each specialization provides a rich set of methods for atomic arithmetic and logical operations.
-||||
-|-|-|-|
-|**atomic\**|**atomic\**|**atomic\**|
-|**atomic\**|**atomic\**|**atomic\**|
-|**atomic\**|**atomic\**|**atomic\**|
-|**atomic\**|**atomic\**|**atomic\**|
-|**atomic\**|**atomic\**|
-
-Integral specializations are derived from corresponding `atomic_integral` types. For example, **atomic\** is derived from `atomic_uint`.
+:::row:::
+ :::column:::
+ `atomic`\
+ `atomic`\
+ `atomic`\
+ `atomic`\
+ `atomic`\
+ `atomic`\
+ `atomic`
+ :::column-end:::
+ :::column:::
+ `atomic`\
+ `atomic`\
+ `atomic`\
+ `atomic`\
+ `atomic`\
+ `atomic`\
+ `atomic`
+ :::column-end:::
+:::row-end:::
+
+Integral specializations are derived from corresponding `atomic_integral` types. For example, `atomic` is derived from `atomic_uint`.
## Requirements
diff --git a/docs/standard-library/auto-ptr-class.md b/docs/standard-library/auto-ptr-class.md
index 436da992ce7..4b3835ba42e 100644
--- a/docs/standard-library/auto-ptr-class.md
+++ b/docs/standard-library/auto-ptr-class.md
@@ -55,19 +55,19 @@ You can pass an `auto_ptr` object by value as an argument to a function ca
### Constructors
-|||
+|Name|Description|
|-|-|
|[auto_ptr](#auto_ptr)|The constructor for objects of type `auto_ptr`.|
### Typedefs
-|||
+|Name|Description|
|-|-|
|[element_type](#element_type)|The type is a synonym for the template parameter `Type`.|
### Functions
-|||
+|Name|Description|
|-|-|
|[get](#get)|The member function returns the stored pointer `myptr`.|
|[release](#release)|The member replaces the stored pointer `myptr` with a null pointer and returns the previously stored pointer.|
@@ -75,7 +75,7 @@ You can pass an `auto_ptr` object by value as an argument to a function ca
### Operators
-|||
+|Name|Description|
|-|-|
|[operator=](#op_eq)|An assignment operator that transfers ownership from one `auto_ptr` object to another.|
|[operator*](#op_star)|The dereferencing operator for objects of type `auto_ptr`.|
diff --git a/docs/standard-library/bad-any-cast-class.md b/docs/standard-library/bad-any-cast-class.md
index 6eb092c4a28..cc0441d402a 100644
--- a/docs/standard-library/bad-any-cast-class.md
+++ b/docs/standard-library/bad-any-cast-class.md
@@ -16,7 +16,7 @@ class bad_any_cast
### Member functions
-|||
+|Name|Description|
|-|-|
|[what](#what)|Returns the type.|
diff --git a/docs/standard-library/bernoulli-distribution-class.md b/docs/standard-library/bernoulli-distribution-class.md
index 74f75220ce7..e38b9b31079 100644
--- a/docs/standard-library/bernoulli-distribution-class.md
+++ b/docs/standard-library/bernoulli-distribution-class.md
@@ -48,10 +48,8 @@ The uniform random number generator engine. For possible types, see [\](
The class describes a distribution that produces values of type **`bool`**, distributed according to the Bernoulli distribution discrete probability function. The following table links to articles about individual members.
-||||
-|-|-|-|
-|[bernoulli_distribution](#bernoulli_distribution)|`bernoulli_distribution::p`|`bernoulli_distribution::param`|
-|`bernoulli_distribution::operator()`||[param_type](#param_type)|
+[bernoulli_distribution](#bernoulli_distribution)\
+[param_type](#param_type)
The property member `p()` returns the currently stored distribution parameter value `p`.
diff --git a/docs/standard-library/binomial-distribution-class.md b/docs/standard-library/binomial-distribution-class.md
index 2322e0ae261..438569c7bac 100644
--- a/docs/standard-library/binomial-distribution-class.md
+++ b/docs/standard-library/binomial-distribution-class.md
@@ -53,10 +53,8 @@ The uniform random number generator engine. For possible types, see [\](
The class template describes a distribution that produces values of a user-specified integral type, or type **`int`** if none is provided, distributed according to the Binomial Distribution discrete probability function. The following table links to articles about individual members.
-||||
-|-|-|-|
-|[binomial_distribution](#binomial_distribution)|`binomial_distribution::t`|`binomial_distribution::param`|
-|`binomial_distribution::operator()`|`binomial_distribution::p`|[param_type](#param_type)|
+[binomial_distribution](#binomial_distribution)\
+[param_type](#param_type)
The property members `t()` and `p()` return the currently stored distribution parameter values *t* and *p* respectively.
diff --git a/docs/standard-library/bitset-class.md b/docs/standard-library/bitset-class.md
index 635bea13692..3d133d09946 100644
--- a/docs/standard-library/bitset-class.md
+++ b/docs/standard-library/bitset-class.md
@@ -31,19 +31,19 @@ A bit is set if its value is 1 and reset if its value is 0. To flip or invert a
### Constructors
-|||
+|Name|Description|
|-|-|
|[bitset](#bitset)|Constructs an object of class `bitset\` and initializes the bits to zero, to some specified value, or to values obtained from characters in a string.|
### Typedefs
-|||
+|Name|Description|
|-|-|
|[element_type](#element_type)|A type that is a synonym for the data type **`bool`** and can be used to reference element bits in a `bitset`.|
### Functions
-|||
+|Name|Description|
|-|-|
|[all](#all)|Tests all of the bits in this `bitset` to determine whether they are all set to **`true`**.|
|[any](#any)|The member function tests whether any bit in the sequence is set to 1.|
@@ -60,13 +60,13 @@ A bit is set if its value is 1 and reset if its value is 0. To flip or invert a
### Classes
-|||
+|Name|Description|
|-|-|
|[reference](#reference)|A proxy class that provides references to bits contained in a `bitset` that is used to access and manipulate the individual bits as a helper class for the `operator[]` of class `bitset`.|
### Operators
-|||
+|Name|Description|
|-|-|
|[operator!=](#op_neq)|Tests a target `bitset` for inequality with a specified `bitset`.|
|[operator&=](#op_and_eq)|Performs a bitwise combination of bitsets with the logical `AND` operation.|
@@ -82,7 +82,7 @@ A bit is set if its value is 1 and reset if its value is 0. To flip or invert a
### Structures
-|||
+|Name|Description|
|-|-|
|[hash](#hash)||
diff --git a/docs/standard-library/bitset.md b/docs/standard-library/bitset.md
index 1647dbeee83..f3921f6a720 100644
--- a/docs/standard-library/bitset.md
+++ b/docs/standard-library/bitset.md
@@ -19,7 +19,7 @@ Defines the class template bitset and two supporting template functions for repr
### Operators
-|||
+|Name|Description|
|-|-|
|[operator&](../standard-library/bitset-operators.md#op_amp)|Performs a bitwise AND between two bitsets.|
|[operator<\<](../standard-library/bitset-operators.md#op_lt_lt)|Inserts a text representation of the bit sequence into the standard output stream.|
@@ -29,7 +29,7 @@ Defines the class template bitset and two supporting template functions for repr
### Classes
-|||
+|Name|Description|
|-|-|
|[bitset](../standard-library/bitset-class.md)|The class template describes a type of object that stores a sequence consisting of a fixed number of bits that provide a compact way of keeping flags for a set of items or conditions.|
diff --git a/docs/standard-library/cauchy-distribution-class.md b/docs/standard-library/cauchy-distribution-class.md
index 1e0dd5ecc28..6e5779a7803 100644
--- a/docs/standard-library/cauchy-distribution-class.md
+++ b/docs/standard-library/cauchy-distribution-class.md
@@ -52,10 +52,8 @@ The uniform random number generator engine. For possible types, see [\](
The class template describes a distribution that produces values of a user-specified floating-point type, or type **`double`** if none is provided, distributed according to the Cauchy Distribution. The following table links to articles about individual members.
-||||
-|-|-|-|
-|[cauchy_distribution](#cauchy_distribution)|`cauchy_distribution::a`|`cauchy_distribution::param`|
-|`cauchy_distribution::operator()`|`cauchy_distribution::b`|[param_type](#param_type)|
+[cauchy_distribution](#cauchy_distribution)\
+[param_type](#param_type)
The property functions `a()` and `b()` return their respective values for stored distribution parameters `a` and `b`.
diff --git a/docs/standard-library/checked-iterators.md b/docs/standard-library/checked-iterators.md
index 00ac6c8cfb3..e3344abc294 100644
--- a/docs/standard-library/checked-iterators.md
+++ b/docs/standard-library/checked-iterators.md
@@ -28,11 +28,26 @@ When _ITERATOR_DEBUG_LEVEL is defined as 1 or 2, these iterator checks are perfo
- The following functions generate a runtime error if there is an access that is outside the bounds of the container:
-|||||
-|-|-|-|-|
-|[basic_string::operator\[\]](../standard-library/basic-string-class.md#op_at)|[bitset::operator\[\]](../standard-library/bitset-class.md#op_at)|[back](../standard-library/deque-class.md#back)|[front](../standard-library/deque-class.md#front)|
-|[deque::operator\[\]](../standard-library/deque-class.md#op_at)|[back](../standard-library/list-class.md#back)|[front](../standard-library/list-class.md#front)|[back](../standard-library/queue-class.md#back)|
-|[front](../standard-library/queue-class.md#front)|[vector::operator\[\]](../standard-library/vector-class.md#op_at)|[back](../standard-library/vector-class.md#back)|[front](../standard-library/vector-class.md#front)|
+:::row:::
+ :::column span="":::
+ [`basic_string::operator[]`](../standard-library/basic-string-class.md#op_at)\
+ [`bitset::operator[]`](../standard-library/bitset-class.md#op_at)\
+ [`deque::back`](../standard-library/deque-class.md#back)\
+ [`deque::front`](../standard-library/deque-class.md#front)
+ :::column-end:::
+ :::column span="":::
+ [`deque::operator[]`](../standard-library/deque-class.md#op_at)\
+ [`list::back`](../standard-library/list-class.md#back)\
+ [`list::front`](../standard-library/list-class.md#front)\
+ [`queue::back`](../standard-library/queue-class.md#back)
+ :::column-end:::
+ :::column span="":::
+ [`queue::front`](../standard-library/queue-class.md#front)\
+ [`vector::back`](../standard-library/vector-class.md#back)\
+ [`vector::front`](../standard-library/vector-class.md#front)\
+ [`vector::operator[]`](../standard-library/vector-class.md#op_at)
+ :::column-end:::
+:::row-end:::
When _ITERATOR_DEBUG_LEVEL is defined as 0:
diff --git a/docs/standard-library/chi-squared-distribution-class.md b/docs/standard-library/chi-squared-distribution-class.md
index 29e8a4a0a21..a52548c7860 100644
--- a/docs/standard-library/chi-squared-distribution-class.md
+++ b/docs/standard-library/chi-squared-distribution-class.md
@@ -51,10 +51,8 @@ The uniform random number generator engine. For possible types, see [\](
The class template describes a distribution that produces values of a user-specified floating-point type, or type **`double`** if none is provided, distributed according to the Chi-Squared Distribution. The following table links to articles about individual members.
-||||
-|-|-|-|
-|[chi_squared_distribution](../standard-library/chi-squared-distribution-class.md)|`chi_squared_distribution::n`|`chi_squared_distribution::param`|
-|`chi_squared_distribution::operator()`||[param_type](#param_type)|
+[chi_squared_distribution](../standard-library/chi-squared-distribution-class.md)\
+[param_type](#param_type)
The property function `n()` returns the value for the stored distribution parameter `n`.
diff --git a/docs/standard-library/chrono.md b/docs/standard-library/chrono.md
index 3e1d046e519..8b5770f418d 100644
--- a/docs/standard-library/chrono.md
+++ b/docs/standard-library/chrono.md
@@ -20,14 +20,14 @@ Beginning in Visual Studio 2015, the implementation of `steady_clock` has change
### Classes
-|||
+|Name|Description|
|-|-|
|[duration Class](../standard-library/duration-class.md)|Describes a type that holds a time interval.|
|[time_point Class](../standard-library/time-point-class.md)|Describes a type that represents a point in time.|
### Structs
-|||
+|Name|Description|
|-|-|
|[common_type Structure](../standard-library/common-type-structure.md)|Describes specializations of class template [common_type](../standard-library/common-type-class.md) for instantiations of `duration` and `time_point`.|
|[duration_values Structure](../standard-library/duration-values-structure.md)|Provides specific values for the `duration` template parameter `Rep`.|
@@ -38,14 +38,14 @@ Beginning in Visual Studio 2015, the implementation of `steady_clock` has change
### Functions
-|||
+|Name|Description|
|-|-|
|[duration_cast](../standard-library/chrono-functions.md#duration_cast)|Casts a `duration` object to a specified type.|
|[time_point_cast](../standard-library/chrono-functions.md#time_point_cast)|Casts a `time_point` object to a specified type.|
### Operators
-|||
+|Name|Description|
|-|-|
|[operator-](../standard-library/chrono-operators.md#operator-)|Operator for subtraction or negation of `duration` and `time_point` objects.|
|[operator!=](../standard-library/chrono-operators.md#op_neq)|Inequality operator that is used with `duration` or `time_point` objects.|
@@ -63,7 +63,7 @@ Beginning in Visual Studio 2015, the implementation of `steady_clock` has change
For more information about ratio types that are used in the following typedefs, see [\](../standard-library/ratio.md).
-|||
+|Name|Description|
|-|-|
|`typedef duration nanoseconds;`|Synonym for a `duration` type that has a tick period of 1 nanosecond.|
|`typedef duration microseconds;`|Synonym for a `duration` type that has a tick period of 1 microsecond.|
@@ -76,20 +76,20 @@ For more information about ratio types that are used in the following typedefs,
**(C++11)** The \ header defines the following [user-defined literals](../cpp/user-defined-literals-cpp.md) that you can use for greater convenience, type-safety, and maintainability of your code. These literals are defined in the `literals::chrono_literals` inline namespace and are in scope when std::chrono is in scope.
-|||
+|Declaration|Description|
|-|-|
-|hours operator "" h(unsigned long long Val)|Specifies hours as an integral value.|
-|duration\ > operator "" h(long double Val)|Specifies hours as a floating-point value.|
-|minutes (operator "" min)(unsigned long long Val)|Specifies minutes as an integral value.|
-|duration\ > (operator "" min)( long double Val)|Specifies minutes as a floating-point value.|
-|seconds operator "" s(unsigned long long Val)|Specifies minutes as an integral value.|
-|duration\ operator "" s(long double Val)|Specifies seconds as a floating-point value.|
-|milliseconds operator "" ms(unsigned long long Val)|Specifies milliseconds as an integral value.|
-|duration\ operator "" ms(long double Val)|Specifies milliseconds as a floating-point value.|
-|microseconds operator "" us(unsigned long long Val)|Specifies microseconds as an integral value.|
-|duration\ operator "" us(long double Val)|Specifies microseconds as a floating-point value.|
-|nanoseconds operator "" ns(unsigned long long Val)|Specifies nanoseconds as an integral value.|
-|duration\ operator "" ns(long double Val)|Specifies nanoseconds as a floating-point value.|
+|`hours operator "" h(unsigned long long Val)`|Specifies hours as an integral value.|
+|`duration > operator "" h(long double Val)`|Specifies hours as a floating-point value.|
+|`minutes (operator "" min)(unsigned long long Val)`|Specifies minutes as an integral value.|
+|`duration > (operator "" min)( long double Val)`|Specifies minutes as a floating-point value.|
+|`seconds operator "" s(unsigned long long Val)`|Specifies minutes as an integral value.|
+|`duration operator "" s(long double Val)`|Specifies seconds as a floating-point value.|
+|`milliseconds operator "" ms(unsigned long long Val)`|Specifies milliseconds as an integral value.|
+|`duration operator "" ms(long double Val)`|Specifies milliseconds as a floating-point value.|
+|`microseconds operator "" us(unsigned long long Val)`|Specifies microseconds as an integral value.|
+|`duration operator "" us(long double Val)`|Specifies microseconds as a floating-point value.|
+|`nanoseconds operator "" ns(unsigned long long Val)`|Specifies nanoseconds as an integral value.|
+|`duration operator "" ns(long double Val)`|Specifies nanoseconds as a floating-point value.|
The following examples show how to use the chrono literals.
diff --git a/docs/standard-library/codecvt.md b/docs/standard-library/codecvt.md
index 3517d791da9..438307597d6 100644
--- a/docs/standard-library/codecvt.md
+++ b/docs/standard-library/codecvt.md
@@ -35,7 +35,7 @@ For byte streams (stored in a file, transmitted as a byte sequence, or stored wi
### Enumerations
-|||
+|Name|Description|
|-|-|
|[codecvt_mode](../standard-library/codecvt-enums.md#codecvt_mode)|Specifies configuration information for locale facets.|
diff --git a/docs/standard-library/complex-class.md b/docs/standard-library/complex-class.md
index 93ee2784205..d327108cca5 100644
--- a/docs/standard-library/complex-class.md
+++ b/docs/standard-library/complex-class.md
@@ -34,26 +34,26 @@ Explicit specializations of class template complex exist for the three floating-
### Constructors
-|||
+|Name|Description|
|-|-|
|[complex](#complex)|Constructs a complex number with specified real and imaginary parts or as a copy of some other complex number.|
### Typedefs
-|||
+|Name|Description|
|-|-|
|[value_type](#value_type)|A type that represents the data type used to represent the real and imaginary parts of a complex number.|
### Functions
-|||
+|Name|Description|
|-|-|
|[imag](#imag)|Extracts the imaginary component of a complex number.|
|[real](#real)|Extracts the real component of a complex number.|
### Operators
-|||
+|Name|Description|
|-|-|
|[operator*=](#op_star_eq)|Multiplies a target complex number by a factor, which may be complex or be the same type as are the real and imaginary parts of the complex number.|
|[operator+=](#op_add_eq)|Adds a number to a target complex number, where the number added may be complex or of the same type as are the real and imaginary parts of the complex number to which it is added.|
diff --git a/docs/standard-library/complex.md b/docs/standard-library/complex.md
index fc6e59fce5f..6f63968db30 100644
--- a/docs/standard-library/complex.md
+++ b/docs/standard-library/complex.md
@@ -67,7 +67,7 @@ Unless otherwise specified, functions that can return multiple values are requir
### Functions
-|||
+|Name|Description|
|-|-|
|[abs](../standard-library/complex-functions.md#abs)|Calculates the modulus of a complex number.|
|[acos](../standard-library/complex-functions.md#acos)||
@@ -97,7 +97,7 @@ Unless otherwise specified, functions that can return multiple values are requir
### Operators
-|||
+|Name|Description|
|-|-|
|[operator!=](../standard-library/complex-operators.md#op_neq)|Tests for inequality between two complex numbers, one or both of which may belong to the subset of the type for the real and imaginary parts.|
|[operator*](../standard-library/complex-operators.md#op_star)|Multiplies two complex numbers, one or both of which may belong to the subset of the type for the real and imaginary parts.|
@@ -110,7 +110,7 @@ Unless otherwise specified, functions that can return multiple values are requir
### Classes
-|||
+|Name|Description|
|-|-|
|[complex\](../standard-library/complex-double.md)|The explicitly specialized class template describes an object that stores an ordered pair of objects, both of type **`double`**, where the first represents the real part of a complex number and the second represents the imaginary part.|
|[complex\](../standard-library/complex-float.md)|The explicitly specialized class template describes an object that stores an ordered pair of objects, both of type **`float`**, where the first represents the real part of a complex number and the second represents the imaginary part.|
@@ -121,7 +121,7 @@ Unless otherwise specified, functions that can return multiple values are requir
The \ header defines the following [user-defined literals](../cpp/user-defined-literals-cpp.md) which create a complex number with the real part being zero and the imaginary part being the value of the input parameter.
-|||
+|Declaration|Description|
|-|-|
|`constexpr complex operator""il(long double d)`
`constexpr complex operator""il(unsigned long long d)`|Returns: `complex{0.0L, static_cast(d)}`|
|`constexpr complex operator""i(long double d)`
`constexpr complex operator""i(unsigned long long d)`|Returns: `complex{0.0, static_cast(d)}`.|
diff --git a/docs/standard-library/condition-variable-any-class.md b/docs/standard-library/condition-variable-any-class.md
index a9294260cdc..ed450b8ac9d 100644
--- a/docs/standard-library/condition-variable-any-class.md
+++ b/docs/standard-library/condition-variable-any-class.md
@@ -19,13 +19,13 @@ class condition_variable_any;
### Constructors
-|||
+|Name|Description|
|-|-|
|[condition_variable_any](#condition_variable_any)|Constructs a `condition_variable_any` object.|
### Functions
-|||
+|Name|Description|
|-|-|
|[notify_all](#notify_all)|Unblocks all threads that are waiting for the `condition_variable_any` object.|
|[notify_one](#notify_one)|Unblocks one of the threads that are waiting for the `condition_variable_any` object.|
diff --git a/docs/standard-library/condition-variable-class.md b/docs/standard-library/condition-variable-class.md
index 9fc92406c19..705b06bac45 100644
--- a/docs/standard-library/condition-variable-class.md
+++ b/docs/standard-library/condition-variable-class.md
@@ -19,13 +19,13 @@ class condition_variable;
### Constructors
-|||
+|Name|Description|
|-|-|
|[condition_variable](#condition_variable)|Constructs a `condition_variable` object.|
### Functions
-|||
+|Name|Description|
|-|-|
|[native_handle](#native_handle)|Returns the implementation-specific type representing the condition_variable handle.|
|[notify_all](#notify_all)|Unblocks all threads that are waiting for the `condition_variable` object.|
diff --git a/docs/standard-library/cpp-standard-library-overview.md b/docs/standard-library/cpp-standard-library-overview.md
index 4c1918f070f..4519e62dfa8 100644
--- a/docs/standard-library/cpp-standard-library-overview.md
+++ b/docs/standard-library/cpp-standard-library-overview.md
@@ -10,11 +10,12 @@ All C++ library entities are declared or defined in one or more standard headers
A freestanding implementation of the C++ library provides only a subset of these headers:
-|||
-|-|-|
-|[\](../standard-library/cstddef.md)|[\](../standard-library/cstdlib.md) (declaring at least the functions `abort`, `atexit`, and `exit`)|
-|[\](../standard-library/exception.md)|[\](../standard-library/limits.md)|
-|[\](../standard-library/new.md)|[\](../standard-library/cstdarg.md)|
+[\](../standard-library/cstdarg.md)\
+[\](../standard-library/cstddef.md)\
+[\](../standard-library/cstdlib.md) (declaring at least the functions `abort`, `atexit`, and `exit`)\
+[\](../standard-library/exception.md)\
+[\](../standard-library/limits.md)\
+[\](../standard-library/new.md)
The C++ library headers have two broader subdivisions:
diff --git a/docs/standard-library/default-delete-struct.md b/docs/standard-library/default-delete-struct.md
index ba8ca611dad..1026b4451ad 100644
--- a/docs/standard-library/default-delete-struct.md
+++ b/docs/standard-library/default-delete-struct.md
@@ -25,13 +25,13 @@ template
### Constructors
-|||
+|Name|Description|
|-|-|
|[default_delete](#default_delete)|The constructor for objects of type `default_delete`.|
### Operators
-|||
+|Name|Description|
|-|-|
|[operator()](#op_paren)|A reference operator to access `default_delete`.|
diff --git a/docs/standard-library/deque-class.md b/docs/standard-library/deque-class.md
index e7a99bfca19..dbb208222df 100644
--- a/docs/standard-library/deque-class.md
+++ b/docs/standard-library/deque-class.md
@@ -46,13 +46,13 @@ Otherwise, inserting or erasing an element invalidates all iterators and referen
### Constructors
-|||
+|Name|Description|
|-|-|
|[deque](#deque)|Constructs a `deque`. Several constructors are provided to set up the contents of the new `deque` in different ways: empty; loaded with a specified number of empty elements; contents moved or copied from another `deque`; contents copied or moved by using an iterator; and one element copied into the `deque` `count` times. Some of the constructors enable using a custom `allocator` to create elements.|
### Typedefs
-|||
+|Name|Description|
|-|-|
|[allocator_type](#allocator_type)|A type that represents the `allocator` class for the `deque` object.|
|[const_iterator](#const_iterator)|A type that provides a random-access iterator that can access and read elements in the `deque` as **`const`**|
@@ -69,7 +69,7 @@ Otherwise, inserting or erasing an element invalidates all iterators and referen
### Functions
-|||
+|Name|Description|
|-|-|
|[assign](#assign)|Erases elements from a `deque` and copies a new sequence of elements to the target `deque`.|
|[at](#at)|Returns a reference to the element at a specified location in the `deque`.|
@@ -103,7 +103,7 @@ Otherwise, inserting or erasing an element invalidates all iterators and referen
### Operators
-|||
+|Name|Description|
|-|-|
|[operator[]](#op_at)|Returns a reference to the `deque` element at a specified position.|
|[operator=](#op_eq)|Replaces the elements of the `deque` with a copy of another `deque`.|
diff --git a/docs/standard-library/deque.md b/docs/standard-library/deque.md
index 9bf56945af6..94e47502bd4 100644
--- a/docs/standard-library/deque.md
+++ b/docs/standard-library/deque.md
@@ -20,7 +20,7 @@ Defines the container class template deque and several supporting templates.
### Operators
-|||
+|Name|Description|
|-|-|
|[operator!=](../standard-library/deque-operators.md#op_neq)|Tests if the deque object on the left side of the operator is not equal to the deque object on the right side.|
|[operator<](../standard-library/deque-operators.md#op_lt)|Tests if the deque object on the left side of the operator is less than the deque object on the right side.|
@@ -31,13 +31,13 @@ Defines the container class template deque and several supporting templates.
### Functions
-|||
+|Name|Description|
|-|-|
|[swap](../standard-library/deque-functions.md#swap)|Exchanges the elements of two deques.|
### Classes
-|||
+|Name|Description|
|-|-|
|[deque Class](../standard-library/deque-class.md)|A class template of sequence containers that arrange elements of a given type in a linear arrangement and, like vectors, allow fast random access to any element and efficient insertion and deletion at the back of the container.|
diff --git a/docs/standard-library/discard-block-engine-class.md b/docs/standard-library/discard-block-engine-class.md
index 72bcbae56b8..e93a249ed84 100644
--- a/docs/standard-library/discard-block-engine-class.md
+++ b/docs/standard-library/discard-block-engine-class.md
@@ -29,10 +29,12 @@ The base engine type.
## Members
-||||
-|-|-|-|
-|`discard_block_engine::discard_block_engine`|`discard_block_engine::base`|`discard_block_engine::discard`|
-|`discard_block_engine::operator()`|`discard_block_engine::base_type`|`discard_block_engine::seed`|
+`discard_block_engine::discard_block_engine`\
+`discard_block_engine::base`\
+`discard_block_engine::base_type`\
+`discard_block_engine::discard`\
+`discard_block_engine::operator()`\
+`discard_block_engine::seed`
For more information about engine members, see [\](../standard-library/random.md).
diff --git a/docs/standard-library/discrete-distribution-class.md b/docs/standard-library/discrete-distribution-class.md
index 309b1d953c3..afd3323dbfa 100644
--- a/docs/standard-library/discrete-distribution-class.md
+++ b/docs/standard-library/discrete-distribution-class.md
@@ -56,10 +56,8 @@ This sampling distribution has uniform-width intervals with uniform probability
The following table links to articles about individual members:
-|||
-|-|-|
-|[discrete_distribution](#discrete_distribution)|`discrete_distribution::param`|
-|`discrete_distribution::operator()`|[param_type](#param_type)|
+[discrete_distribution](#discrete_distribution)\
+[param_type](#param_type)
The property function `vector probabilities()` returns the individual probabilities for each integer generated.
diff --git a/docs/standard-library/error-category-class.md b/docs/standard-library/error-category-class.md
index 63c7cc5721b..7032d61506a 100644
--- a/docs/standard-library/error-category-class.md
+++ b/docs/standard-library/error-category-class.md
@@ -27,13 +27,13 @@ Two predefined objects implement `error_category`: [generic_category](../standar
### Typedefs
-|||
+|Name|Description|
|-|-|
|[value_type](#value_type)|A type that represents the stored error code value.|
### Functions
-|||
+|Name|Description|
|-|-|
|[default_error_condition](#default_error_condition)|Stores the error code value for an error condition object.|
|[equivalent](#equivalent)|Returns a value that specifies whether error objects are equivalent.|
@@ -44,9 +44,9 @@ Two predefined objects implement `error_category`: [generic_category](../standar
### Operators
-|||
+|Name|Description|
|-|-|
-|[operator=](#op_as)||
+|[operator=](#op_as)|Assignment operator.|
|[operator==](#op_eq_eq)|Tests for equality between `error_category` objects.|
|[operator!=](#op_neq)|Tests for inequality between `error_category` objects.|
|[operator<](#op_lt)|Tests if the [error_category](../standard-library/error-category-class.md) object is less than the `error_category` object passed in for comparison.|
diff --git a/docs/standard-library/error-code-class.md b/docs/standard-library/error-code-class.md
index f4bad9974f0..ac276950b5a 100644
--- a/docs/standard-library/error-code-class.md
+++ b/docs/standard-library/error-code-class.md
@@ -23,19 +23,19 @@ An object of type `error_code` class stores an error code value and a pointer to
### Constructors
-|||
+|Name|Description|
|-|-|
|[error_code](#error_code)|Constructs an object of type `error_code`.|
### Typedefs
-|||
+|Name|Description|
|-|-|
|[value_type](#value_type)|A type that represents the stored error code value.|
### Functions
-|||
+|Name|Description|
|-|-|
|[assign](#assign)|Assigns an error code value and category to an error code.|
|[category](#category)|Returns the error category.|
@@ -45,7 +45,7 @@ An object of type `error_code` class stores an error code value and a pointer to
### Operators
-|||
+|Name|Description|
|-|-|
|[operator==](#op_eq_eq)|Tests for equality between `error_code` objects.|
|[operator!=](#op_neq)|Tests for inequality between `error_code` objects.|
diff --git a/docs/standard-library/error-condition-class.md b/docs/standard-library/error-condition-class.md
index ef16b58c1dc..4906be917be 100644
--- a/docs/standard-library/error-condition-class.md
+++ b/docs/standard-library/error-condition-class.md
@@ -23,19 +23,19 @@ An object of type `error_condition` stores an error code value and a pointer to
### Constructors
-|||
+|Name|Description|
|-|-|
|[error_condition](#error_condition)|Constructs an object of type `error_condition`.|
### Typedefs
-|||
+|Name|Description|
|-|-|
|[value_type](#value_type)|A type that represents the stored error code value.|
### Functions
-|||
+|Name|Description|
|-|-|
|[assign](#assign)|Assigns an error code value and category to an error condition.|
|[category](#category)|Returns the error category.|
@@ -44,7 +44,7 @@ An object of type `error_condition` stores an error code value and a pointer to
### Operators
-|||
+|Name|Description|
|-|-|
|[operator==](#op_eq_eq)|Tests for equality between `error_condition` objects.|
|[operator!=](#op_neq)|Tests for inequality between `error_condition` objects.|
diff --git a/docs/standard-library/exception.md b/docs/standard-library/exception.md
index 3bfa4b57766..c0b8e757024 100644
--- a/docs/standard-library/exception.md
+++ b/docs/standard-library/exception.md
@@ -19,7 +19,7 @@ Defines several types and functions related to the handling of exceptions. Excep
### Typedefs
-|||
+|Name|Description|
|-|-|
|[exception_ptr](../standard-library/exception-typedefs.md#exception_ptr)|A type that describes a pointer to an exception.|
|[terminate_handler](../standard-library/exception-typedefs.md#terminate_handler)|A type that describes a pointer to a function suitable for use as a `terminate_handler`.|
@@ -27,7 +27,7 @@ Defines several types and functions related to the handling of exceptions. Excep
### Functions
-|||
+|Name|Description|
|-|-|
|[current_exception](../standard-library/exception-functions.md#current_exception)|Obtains a pointer to the current exception.|
|[get_terminate](../standard-library/exception-functions.md#get_terminate)|Obtains the current `terminate_handler` function.|
@@ -44,7 +44,7 @@ Defines several types and functions related to the handling of exceptions. Excep
### Classes
-|||
+|Name|Description|
|-|-|
|[bad_exception Class](../standard-library/bad-exception-class.md)|The class describes an exception that can be thrown from an `unexpected_handler`.|
|[exception Class](../standard-library/exception-class.md)|The class serves as the base class for all exceptions thrown by certain expressions and by the C++ Standard Library.|
diff --git a/docs/standard-library/execution.md b/docs/standard-library/execution.md
index 1d518653ad5..98ae74d4cc4 100644
--- a/docs/standard-library/execution.md
+++ b/docs/standard-library/execution.md
@@ -23,7 +23,7 @@ namespace std::execution {
### Classes and Structs
-|||
+|Name|Description|
|-|-|
|[is_execution_policy Struct](is-execution-policy-struct.md)|Detects execution policies for the purpose of excluding function signatures from otherwise ambiguous overload resolution participation.|
|[parallel_policy Class](parallel-policy-class.md)|Used as a unique type to disambiguate parallel algorithm overloading and indicate that a parallel algorithm’s execution may be parallelized.|
diff --git a/docs/standard-library/exponential-distribution-class.md b/docs/standard-library/exponential-distribution-class.md
index 015d478daad..ffdfb347914 100644
--- a/docs/standard-library/exponential-distribution-class.md
+++ b/docs/standard-library/exponential-distribution-class.md
@@ -52,10 +52,8 @@ The random number generator engine. For possible types, see [\](../stand
The class template describes a distribution that produces values of a user-specified integral type, or type **`double`** if none is provided, distributed according to the Exponential Distribution. The following table links to articles about individual members.
-||||
-|-|-|-|
-|[exponential_distribution](#exponential_distribution)|`exponential_distribution::lambda`|`exponential_distribution::param`|
-|`exponential_distribution::operator()`||[param_type](#param_type)|
+[exponential_distribution](#exponential_distribution)\
+[param_type](#param_type)
The property member function `lambda()` returns the value for the stored distribution parameter `lambda`.
diff --git a/docs/standard-library/extreme-value-distribution-class.md b/docs/standard-library/extreme-value-distribution-class.md
index 7f0dad01926..8946bd6e029 100644
--- a/docs/standard-library/extreme-value-distribution-class.md
+++ b/docs/standard-library/extreme-value-distribution-class.md
@@ -53,10 +53,8 @@ The random number generator engine. For possible types, see [\](../stand
The class template describes a distribution that produces values of a user-specified floating-point type, or type **`double`** if none is provided, distributed according to the Extreme Value Distribution. The following table links to articles about individual members.
-||||
-|-|-|-|
-|[extreme_value_distribution](#extreme_value_distribution)|`extreme_value_distribution::a`|`extreme_value_distribution::param`|
-|`extreme_value_distribution::operator()`|`extreme_value_distribution::b`|[param_type](#param_type)|
+[extreme_value_distribution](#extreme_value_distribution)\
+[param_type](#param_type)
The property functions `a()` and `b()` return their respective values for stored distribution parameters `a` and `b`.
diff --git a/docs/standard-library/filesystem-error-class.md b/docs/standard-library/filesystem-error-class.md
index ea7648f5d52..f6294155cfa 100644
--- a/docs/standard-library/filesystem-error-class.md
+++ b/docs/standard-library/filesystem-error-class.md
@@ -22,13 +22,13 @@ The class serves as the base class for all exceptions thrown to report an error
### Constructors
-|||
+|Name|Description|
|-|-|
|[filesystem_error](#filesystem_error)|Constructs a `filesystem_error` message.|
### Functions
-|||
+|Name|Description|
|-|-|
|[path1](#path1)|Returns `mypval1`|
|[path2](#path2)|Returns `mypval2`|
diff --git a/docs/standard-library/filesystem.md b/docs/standard-library/filesystem.md
index 0d805c8507e..420bd7fa282 100644
--- a/docs/standard-library/filesystem.md
+++ b/docs/standard-library/filesystem.md
@@ -84,7 +84,7 @@ For more information and code examples, see [File system navigation (C++)](../st
### Classes
-|||
+|Name|Description|
|-|-|
|[directory_entry class](../standard-library/directory-entry-class.md)|Describes an object that is returned by a `directory_iterator` or a `recursive_directory_iterator` and contains a `path`.|
|[directory_iterator class](../standard-library/directory-iterator-class.md)|Describes an input iterator that sequences through the file names in a file-system directory.|
@@ -95,7 +95,7 @@ For more information and code examples, see [File system navigation (C++)](../st
### Structs
-|||
+|Name|Description|
|-|-|
|[space_info structure](../standard-library/space-info-structure.md)|Holds information about a volume.|
@@ -109,7 +109,7 @@ For more information and code examples, see [File system navigation (C++)](../st
## Enumerations
-|||
+|Name|Description|
|-|-|
|[copy_options](../standard-library/filesystem-enumerations.md#copy_options)|An enumeration that is used with [copy_file](../standard-library/filesystem-functions.md#copy_file) and determines behavior if a destination file already exists.|
|[directory_options](../standard-library/filesystem-enumerations.md#directory_options)|An enumeration that specifies options for directory iterators.|
diff --git a/docs/standard-library/fisher-f-distribution-class.md b/docs/standard-library/fisher-f-distribution-class.md
index 78c8f733679..c44e39590ae 100644
--- a/docs/standard-library/fisher-f-distribution-class.md
+++ b/docs/standard-library/fisher-f-distribution-class.md
@@ -51,10 +51,8 @@ The uniform random number generator engine. For possible types, see [\](
The class template describes a distribution that produces values of a user-specified floating-point type, or type **`double`** if none is provided, distributed according to the Fisher's F-Distribution. The following table links to articles about individual members.
-||||
-|-|-|-|
-|[fisher_f_distribution](#fisher_f_distribution)|`fisher_f_distribution::m`|`fisher_f_distribution::param`|
-|`fisher_f_distribution::operator()`|`fisher_f_distribution::n`|[param_type](#param_type)|
+[fisher_f_distribution](#fisher_f_distribution)\
+[param_type](#param_type)
The property functions `m()` and `n()` return the values for the stored distribution parameters `m` and `n` respectively.
diff --git a/docs/standard-library/forward-list-class.md b/docs/standard-library/forward-list-class.md
index 54ca9d226e7..52ba9537191 100644
--- a/docs/standard-library/forward-list-class.md
+++ b/docs/standard-library/forward-list-class.md
@@ -39,13 +39,13 @@ Additions to the controlled sequence might occur by calls to [forward_list::inse
### Constructors
-|||
+|Name|Description|
|-|-|
|[forward_list](#forward_list)|Constructs an object of type `forward_list`.|
### Typedefs
-|||
+|Name|Description|
|-|-|
|[allocator_type](#allocator_type)|A type that represents the allocator class for a forward list object.|
|[const_iterator](#const_iterator)|A type that provides a constant iterator for the forward list.|
@@ -60,7 +60,7 @@ Additions to the controlled sequence might occur by calls to [forward_list::inse
### Functions
-|||
+|Name|Description|
|-|-|
|[assign](#assign)|Erases elements from a forward list and copies a new set of elements to a target forward list.|
|[before_begin](#before_begin)|Returns an iterator addressing the position before the first element in a forward list.|
@@ -92,7 +92,7 @@ Additions to the controlled sequence might occur by calls to [forward_list::inse
### Operators
-|||
+|Name|Description|
|-|-|
|[operator=](#op_eq)|Replaces the elements of the forward list with a copy of another forward list.|
diff --git a/docs/standard-library/forward-list.md b/docs/standard-library/forward-list.md
index 3728d6f85b7..5cbe6e0ae2e 100644
--- a/docs/standard-library/forward-list.md
+++ b/docs/standard-library/forward-list.md
@@ -22,7 +22,7 @@ Defines the container class template forward_list and several supporting templat
### Operators
-|||
+|Name|Description|
|-|-|
|[operator==](../standard-library/forward-list-operators.md#op_eq_eq)|Tests if the forward list object on the left side of the operator is equal to the forward list object on the right side.|
|[operator!=](../standard-library/forward-list-operators.md#op_neq)|Tests if the forward list object on the left side of the operator is not equal to the forward list object on the right side.|
@@ -33,13 +33,13 @@ Defines the container class template forward_list and several supporting templat
### Functions
-|||
+|Name|Description|
|-|-|
|[swap](../standard-library/forward-list-functions.md#swap)|Exchanges the elements of two forward lists.|
### Classes
-|||
+|Name|Description|
|-|-|
|[forward_list](../standard-library/forward-list-class.md)|Describes an object that controls a varying-length sequence of elements. The sequence is stored as a singly-linked list of elements, each containing a member of type `Type`.|
diff --git a/docs/standard-library/fstream-typedefs.md b/docs/standard-library/fstream-typedefs.md
index 97ad44a0379..63902c3084f 100644
--- a/docs/standard-library/fstream-typedefs.md
+++ b/docs/standard-library/fstream-typedefs.md
@@ -6,11 +6,14 @@ ms.assetid: 8dddef2d-7f17-42a6-ba08-6f6f20597d23
---
# <fstream> typedefs
-||||
-|-|-|-|
-|[filebuf](#filebuf)|[fstream](#fstream)|[ifstream](#ifstream)|
-|[ofstream](#ofstream)|[wfilebuf](#wfilebuf)|[wfstream](#wfstream)|
-|[wifstream](#wifstream)|[wofstream](#wofstream)|
+[filebuf](#filebuf)\
+[fstream](#fstream)\
+[ifstream](#ifstream)\
+[ofstream](#ofstream)\
+[wfilebuf](#wfilebuf)\
+[wfstream](#wfstream)\
+[wifstream](#wifstream)\
+[wofstream](#wofstream)
## filebuf
diff --git a/docs/standard-library/function-class.md b/docs/standard-library/function-class.md
index 73e8bb89f04..a9d7917ba35 100644
--- a/docs/standard-library/function-class.md
+++ b/docs/standard-library/function-class.md
@@ -87,19 +87,19 @@ An empty `function` object does not hold a callable object or a reference to a c
### Constructors
-|||
+|Name|Description|
|-|-|
|[function](#function)|Constructs a wrapper that either is empty or stores a callable object of arbitrary type with a fixed signature.|
### Typedefs
-|||
+|Name|Description|
|-|-|
|[result_type](#result_type)|The return type of the stored callable object.|
### Functions
-|||
+|Name|Description|
|-|-|
|[assign](#assign)|Assigns a callable object to this function object.|
|[swap](#swap)|Swap two callable objects.|
@@ -108,7 +108,7 @@ An empty `function` object does not hold a callable object or a reference to a c
### Operators
-|||
+|Name|Description|
|-|-|
|[operator unspecified](#op_unspecified)|Tests if stored callable object exists.|
|[operator()](#op_call)|Calls a callable object.|
diff --git a/docs/standard-library/functional-functions.md b/docs/standard-library/functional-functions.md
index c78f9ff3567..e0ec724a438 100644
--- a/docs/standard-library/functional-functions.md
+++ b/docs/standard-library/functional-functions.md
@@ -9,16 +9,16 @@ ms.assetid: c34d0b45-50a7-447a-9368-2210d06339a4
These functions are deprecated in C++11 and removed in C++17:
-||||
-|-|-|-|
-|[bind1st](#bind1st) |[bind2nd](#bind2nd)|[mem_fun](#mem_fun)|
-|[mem_fun_ref](#mem_fun_ref)|[ptr_fun](#ptr_fun)||
+[bind1st](#bind1st)\
+[bind2nd](#bind2nd)\
+[mem_fun](#mem_fun)\
+[mem_fun_ref](#mem_fun_ref)\
+[ptr_fun](#ptr_fun)
These functions are deprecated in C++17:
-|||
-|-|-|
-|[not1](#not1)|[not2](#not2)|
+[not1](#not1)\
+[not2](#not2)
## bind
diff --git a/docs/standard-library/functional.md b/docs/standard-library/functional.md
index 66ca1dec177..221e1f8d1a6 100644
--- a/docs/standard-library/functional.md
+++ b/docs/standard-library/functional.md
@@ -65,7 +65,7 @@ Every call wrapper has a move constructor and a copy constructor. A *simple call
### Classes
-|||
+|Name|Description|
|-|-|
|[bad_function_call](../standard-library/bad-function-call-class.md)|A class that describes an exception thrown to indicate that a call to `operator()` on a [function](../standard-library/function-class.md) object failed because the object was empty.|
|[binary_negate](../standard-library/binary-negate-class.md)|A class template providing a member function that negates the return value of a specified binary function.
(Deprecated in C++17.) |
@@ -93,7 +93,7 @@ Every call wrapper has a move constructor and a copy constructor. A *simple call
### Functions
-|||
+|Name|Description|
|-|-|
|[bind](../standard-library/functional-functions.md#bind)|Binds arguments to a callable object.|
|[bind1st](../standard-library/functional-functions.md#bind1st)|A helper template function that creates an adaptor to convert a binary function object into a unary function object by binding the first argument of the binary function to a specified value.
(Deprecated in C++11, removed in C++17.) |
@@ -116,7 +116,7 @@ Every call wrapper has a move constructor and a copy constructor. A *simple call
### Structs
-|||
+|Name|Description|
|-|-|
|[binary_function](../standard-library/binary-function-struct.md)|An empty base class that defines types that may be inherited by derived class that provides a binary function object.
(Deprecated in C++11, removed in C++17.) |
|[divides](../standard-library/divides-struct.md)|The class provides a predefined function object that performs the arithmetic operation of division on elements of a specified value type.|
@@ -138,13 +138,13 @@ Every call wrapper has a move constructor and a copy constructor. A *simple call
### Objects
-|||
+|Name|Description|
|-|-|
|[_1.._M](../standard-library/1-object.md)|Placeholders for replaceable arguments.|
### Operators
-|||
+|Name|Description|
|-|-|
|[operator==](../standard-library/functional-operators.md#op_eq_eq)|Disallows equality comparison of callable objects.|
|[operator!=](../standard-library/functional-operators.md#op_neq)|Disallows inequality comparison of callable objects.|
diff --git a/docs/standard-library/future-enums.md b/docs/standard-library/future-enums.md
index c0233501551..4691ac2a445 100644
--- a/docs/standard-library/future-enums.md
+++ b/docs/standard-library/future-enums.md
@@ -6,9 +6,9 @@ ms.assetid: 8c675645-db47-4cab-bc0e-7b87f8a302df
---
# <future> enums
-||||
-|-|-|-|
-|[future_errc](#future_errc)|[future_status](#future_status)|[launch](#launch)|
+[future_errc](#future_errc)\
+[future_status](#future_status)\
+[launch](#launch)
## future_errc Enumeration
diff --git a/docs/standard-library/future-functions.md b/docs/standard-library/future-functions.md
index 924010f4350..a08db05da67 100644
--- a/docs/standard-library/future-functions.md
+++ b/docs/standard-library/future-functions.md
@@ -7,10 +7,11 @@ helpviewer_keywords: ["std::async [C++]", "std::future_category [C++]", "std::ma
---
# <future> functions
-||||
-|-|-|-|
-|[async](#async)|[future_category](#future_category)|[make_error_code](#make_error_code)|
-|[make_error_condition](#make_error_condition)|[swap](#swap)|
+[async](#async)\
+[future_category](#future_category)\
+[make_error_code](#make_error_code)\
+[make_error_condition](#make_error_condition)\
+[swap](#swap)|
## async
@@ -35,7 +36,7 @@ A [launch](../standard-library/future-enums.md#launch) value.
Definitions of abbreviations:
-|||
+|Abbreviation|Description|
|-|-|
|*dfn*|The result of calling `decay_copy(forward(fn))`.|
|*dargs*|The results of the calls `decay_copy(forward(args...))`.|
diff --git a/docs/standard-library/gamma-distribution-class.md b/docs/standard-library/gamma-distribution-class.md
index 45fa5980d21..cc255e9c019 100644
--- a/docs/standard-library/gamma-distribution-class.md
+++ b/docs/standard-library/gamma-distribution-class.md
@@ -52,10 +52,8 @@ The uniform random number generator engine. For possible types, see [\](
The class template describes a distribution that produces values of a user-specified floating-point type, or type **`double`** if none is provided, distributed according to the Gamma Distribution. The following table links to articles about individual members.
-||||
-|-|-|-|
-|[gamma_distribution](#gamma_distribution)|`gamma_distribution::alpha`|`gamma_distribution::param`|
-|`gamma_distribution::operator()`|`gamma_distribution::beta`|[param_type](#param_type)|
+[gamma_distribution](#gamma_distribution)\
+[param_type](#param_type)
The property functions `alpha()` and `beta()` return their respective values for stored distribution parameters *alpha* and *beta*.
diff --git a/docs/standard-library/geometric-distribution-class.md b/docs/standard-library/geometric-distribution-class.md
index 07ef35d396d..dad3ad001e0 100644
--- a/docs/standard-library/geometric-distribution-class.md
+++ b/docs/standard-library/geometric-distribution-class.md
@@ -51,10 +51,8 @@ The uniform random number generator engine. For possible types, see [\](
The class template describes a distribution that produces values of a user-specified integral type with a geometric distribution. The following table links to articles about individual members.
-||||
-|-|-|-|
-|[geometric_distribution](#geometric_distribution)|`geometric_distribution::p`|`geometric_distribution::param`|
-|`geometric_distribution::operator()`||[param_type](#param_type)|
+[geometric_distribution](#geometric_distribution)\
+[param_type](#param_type)
The property function `p()` returns the value for stored distribution parameter `p`.
diff --git a/docs/standard-library/hash-map-functions.md b/docs/standard-library/hash-map-functions.md
index d7e5fdf8e75..1b0dcde0c2b 100644
--- a/docs/standard-library/hash-map-functions.md
+++ b/docs/standard-library/hash-map-functions.md
@@ -6,9 +6,8 @@ ms.assetid: 28748cd0-71f7-41b9-b068-579183645fba
---
# <hash_map> functions
-|||
-|-|-|
-|[swap](#swap)|[swap (hash_map)](#swap_hash_map)|
+[swap](#swap)\
+[swap (hash_map)](#swap_hash_map)
## swap (hash_map)
diff --git a/docs/standard-library/hash-map-operators.md b/docs/standard-library/hash-map-operators.md
index c8a46a153f9..f674aa20052 100644
--- a/docs/standard-library/hash-map-operators.md
+++ b/docs/standard-library/hash-map-operators.md
@@ -6,10 +6,10 @@ ms.assetid: 24b9bb9e-e983-4060-bce5-2c7c8161ee61
---
# <hash_map> operators
-|||
-|-|-|
-|[operator!=](#op_neq)|[operator!= (multimap)](#op_neq_mm)|
-|[operator==](#op_eq_eq)|[operator== (multimap)](#op_eq_eq_mm)|
+[operator!=](#op_neq)\
+[operator!= (multimap)](#op_neq_mm)\
+[operator==](#op_eq_eq)\
+[operator== (multimap)](#op_eq_eq_mm)
## operator!=
diff --git a/docs/standard-library/hash-set-functions.md b/docs/standard-library/hash-set-functions.md
index efcae16fd3b..87e792cd32b 100644
--- a/docs/standard-library/hash-set-functions.md
+++ b/docs/standard-library/hash-set-functions.md
@@ -6,9 +6,8 @@ ms.assetid: 557a0162-3728-4537-97dc-f9f6cc7ece94
---
# <hash_set> functions
-|||
-|-|-|
-|[swap](#swap)|[swap (hash_multiset)](#swap_hash_multiset)|
+[swap](#swap)\
+[swap (hash_multiset)](#swap_hash_multiset)
## swap
diff --git a/docs/standard-library/hash-set-operators.md b/docs/standard-library/hash-set-operators.md
index 45ef12981b5..62413376053 100644
--- a/docs/standard-library/hash-set-operators.md
+++ b/docs/standard-library/hash-set-operators.md
@@ -6,10 +6,10 @@ ms.assetid: 403d8e4e-0b3f-43fb-bc5a-8100c4f331c5
---
# <hash_set> operators
-||||
-|-|-|-|
-|[operator!=](#op_neq)|[operator!= (hash_multiset)](#op_neq_hash_multiset)|[operator==](#op_eq_eq)|
-|[operator== (hash_multiset)](#op_eq_eq_hash_multiset)|
+[operator!=](#op_neq)\
+[operator!= (hash_multiset)](#op_neq_hash_multiset)\
+[operator==](#op_eq_eq)\
+[operator== (hash_multiset)](#op_eq_eq_hash_multiset)
## operator!=
diff --git a/docs/standard-library/high-resolution-clock-struct.md b/docs/standard-library/high-resolution-clock-struct.md
index 333e0556c43..6db769828f7 100644
--- a/docs/standard-library/high-resolution-clock-struct.md
+++ b/docs/standard-library/high-resolution-clock-struct.md
@@ -33,7 +33,7 @@ class high_resolution_clock
## Functions
-|||
+|Name|Description|
|-|-|
|`now`|Returns the current time as a `time_point` value.|
diff --git a/docs/standard-library/independent-bits-engine-class.md b/docs/standard-library/independent-bits-engine-class.md
index 1dee27d9a60..074d1eb22de 100644
--- a/docs/standard-library/independent-bits-engine-class.md
+++ b/docs/standard-library/independent-bits-engine-class.md
@@ -29,10 +29,12 @@ The unsigned integer result type. For possible types, see [\](../standar
## Members
-||||
-|-|-|-|
-|`independent_bits_engine::independent_bits_engine`|`independent_bits_engine::base`|`independent_bits_engine::discard`|
-|`independent_bits_engine::operator()`|`independent_bits_engine::base_type`|`independent_bits_engine::seed`|
+`independent_bits_engine::independent_bits_engine`\
+`independent_bits_engine::base`\
+`independent_bits_engine::base_type`\
+`independent_bits_engine::discard`\
+`independent_bits_engine::operator()`\
+`independent_bits_engine::seed`
For more information about engine members, see [\](../standard-library/random.md).
diff --git a/docs/standard-library/integer-sequence-class.md b/docs/standard-library/integer-sequence-class.md
index 3d0a578f4ec..5194f17b685 100644
--- a/docs/standard-library/integer-sequence-class.md
+++ b/docs/standard-library/integer-sequence-class.md
@@ -26,7 +26,7 @@ A non-type parameter pack that represents a sequence of values of integral type
## Members
-|||
+|Name|Description|
|-|-|
|`static size_t size() noexcept`|The number of elements in the sequence.|
|`typedef T value_type`|The type of each element in the sequence. Must be an integral type.|
diff --git a/docs/standard-library/iomanip-functions.md b/docs/standard-library/iomanip-functions.md
index 2a613101121..4abd11dd0a1 100644
--- a/docs/standard-library/iomanip-functions.md
+++ b/docs/standard-library/iomanip-functions.md
@@ -7,12 +7,17 @@ helpviewer_keywords: ["std::get_money [C++]", "std::get_time [C++]", "std::put_m
---
# <iomanip> functions
-||||
-|-|-|-|
-|[get_money](#iomanip_get_money)|[get_time](#iomanip_get_time)|[put_money](#iomanip_put_money)|
-|[put_time](#iomanip_put_time)|[quoted](#quoted)|[resetiosflags](#resetiosflags)|
-|[setbase](#setbase)|[setfill](#setfill)|[setiosflags](#setiosflags)|
-|[setprecision](#setprecision)|[setw](#setw)|
+[get_money](#iomanip_get_money)\
+[get_time](#iomanip_get_time)\
+[put_money](#iomanip_put_money)\
+[put_time](#iomanip_put_time)\
+[quoted](#quoted)\
+[resetiosflags](#resetiosflags)\
+[setbase](#setbase)\
+[setfill](#setfill)\
+[setiosflags](#setiosflags)\
+[setprecision](#setprecision)\
+[setw](#setw)
## get_money
diff --git a/docs/standard-library/iomanip.md b/docs/standard-library/iomanip.md
index 03bf8e352d3..7f024257b1c 100644
--- a/docs/standard-library/iomanip.md
+++ b/docs/standard-library/iomanip.md
@@ -21,7 +21,7 @@ Each of these manipulators returns an unspecified type, called `T1` through `T10
### Manipulators
-|||
+|Name|Description|
|-|-|
|[get_money](../standard-library/iomanip-functions.md#iomanip_get_money)|Obtains a monetary amount, optionally in international format.|
|[get_time](../standard-library/iomanip-functions.md#iomanip_get_time)|Obtains a time in a time structure by using a specified format.|
diff --git a/docs/standard-library/ios-base-class.md b/docs/standard-library/ios-base-class.md
index 2e4ead5a9f6..2090ecd10a5 100644
--- a/docs/standard-library/ios-base-class.md
+++ b/docs/standard-library/ios-base-class.md
@@ -29,13 +29,13 @@ An object of class ios_base also stores stream state information, in an object o
### Constructors
-|||
+|Name|Description|
|-|-|
|[ios_base](#ios_base)|Constructs `ios_base` objects.|
### Typedefs
-|||
+|Name|Description|
|-|-|
|[event_callback](#event_callback)|Describes a function passed to [register_call](#register_callback).|
|[`fmtflags`](#fmtflags)|Constants to specify the appearance of output.|
@@ -45,13 +45,13 @@ An object of class ios_base also stores stream state information, in an object o
### Enums
-|||
+|Name|Description|
|-|-|
|[event](#event)|Specifies event types.|
### Constants
-|||
+|Name|Description|
|-|-|
|[adjustfield](#fmtflags)|A bitmask defined as `internal` | `left` | `right`.|
|[app](#openmode)|Specifies seeking to the end of a stream before each insertion.|
@@ -87,7 +87,7 @@ An object of class ios_base also stores stream state information, in an object o
### Functions
-|||
+|Name|Description|
|-|-|
|[failure](#failure)|The member class serves as the base class for all exceptions thrown by the member function [clear](../standard-library/basic-ios-class.md#clear) in class template [basic_ios](../standard-library/basic-ios-class.md).|
|[flags](#flags)|Sets or returns the current flag settings.|
@@ -106,7 +106,7 @@ An object of class ios_base also stores stream state information, in an object o
### Operators
-|||
+|Name|Description|
|-|-|
|[operator=](#op_eq)|The assignment operator for `ios_base` objects.|
diff --git a/docs/standard-library/ios.md b/docs/standard-library/ios.md
index 71e04469f0c..ea570aeb935 100644
--- a/docs/standard-library/ios.md
+++ b/docs/standard-library/ios.md
@@ -34,7 +34,7 @@ calls [noskipws](../standard-library/ios-functions.md#noskipws)(**istr**).
### Typedefs
-|||
+|Name|Description|
|-|-|
|[ios](../standard-library/ios-typedefs.md#ios)|Supports the ios class from the old iostream library.|
|[streamoff](../standard-library/ios-typedefs.md#streamoff)|Supports internal operations.|
@@ -45,7 +45,7 @@ calls [noskipws](../standard-library/ios-functions.md#noskipws)(**istr**).
### Manipulators
-|||
+|Name|Description|
|-|-|
|[boolalpha](../standard-library/ios-functions.md#boolalpha)|Specifies that variables of type [bool](../cpp/bool-cpp.md) appear as **`true`** or **`false`** in the stream.|
|[dec](../standard-library/ios-functions.md#dec)|Specifies that integer variables appear in base 10 notation.|
@@ -74,7 +74,7 @@ calls [noskipws](../standard-library/ios-functions.md#noskipws)(**istr**).
### Error Reporting
-|||
+|Name|Description|
|-|-|
|[io_errc](../standard-library/ios-functions.md#io_errc)||
|[is_error_code_enum](../standard-library/ios-functions.md#is_error_code_enum)||
@@ -84,7 +84,7 @@ calls [noskipws](../standard-library/ios-functions.md#noskipws)(**istr**).
### Classes
-|||
+|Name|Description|
|-|-|
|[basic_ios](../standard-library/basic-ios-class.md)|The class template describes the storage and member functions common to both input streams (of class template [basic_istream](../standard-library/basic-istream-class.md)) and output streams (of class template [basic_ostream](../standard-library/basic-ostream-class.md)) that depend on the template parameters.|
|[fpos](../standard-library/fpos-class.md)|The class template describes an object that can store all the information needed to restore an arbitrary file-position indicator within any stream.|
diff --git a/docs/standard-library/iostream.md b/docs/standard-library/iostream.md
index 4d1cb4ea67e..f19158fc3ec 100644
--- a/docs/standard-library/iostream.md
+++ b/docs/standard-library/iostream.md
@@ -34,7 +34,7 @@ This guarantee isn't universal, however. A static constructor may call a functio
### Global Stream Objects
-|||
+|Name|Description|
|-|-|
|[cerr](#cerr)|Specifies the `cerr` global stream.|
|[cin](#cin)|Specifies the `cin` global stream.|
diff --git a/docs/standard-library/iostreams-conventions.md b/docs/standard-library/iostreams-conventions.md
index 8b34786bb41..47383de2c67 100644
--- a/docs/standard-library/iostreams-conventions.md
+++ b/docs/standard-library/iostreams-conventions.md
@@ -8,13 +8,16 @@ ms.assetid: 9fe5ded0-37a1-48d1-9671-c81ffc4760ad
The iostreams headers support conversions between text and encoded forms, and input and output to external files:
-|||
-|-|-|
-|[\](../standard-library/fstream.md)|[\](../standard-library/iomanip.md)|
-|[\](../standard-library/ios.md)|[\](../standard-library/iosfwd.md)|
-|[\](../standard-library/iostream.md)|[\](../standard-library/istream.md)|
-|[\](../standard-library/ostream.md)|[\](../standard-library/sstream.md)|
-|[\](../standard-library/streambuf.md)|[\](../standard-library/strstream.md)|
+[\](../standard-library/fstream.md)\
+[\](../standard-library/iomanip.md)\
+[\](../standard-library/ios.md)\
+[\](../standard-library/iosfwd.md)\
+[\](../standard-library/iostream.md)\
+[\](../standard-library/istream.md)\
+[\](../standard-library/ostream.md)\
+[\](../standard-library/sstream.md)\
+[\](../standard-library/streambuf.md)\
+[\](../standard-library/strstream.md)
The simplest use of iostreams requires only that you include the header [\](../standard-library/iostream.md). You can then extract values from [cin](../standard-library/iostream.md#cin) or [wcin](../standard-library/iostream.md#wcin) to read the standard input. The rules for doing so are outlined in the description of the class [basic_istream Class](../standard-library/basic-istream-class.md). You can also insert values to [cout](../standard-library/iostream.md#cout) or [wcout](../standard-library/iostream.md#wcout) to write the standard output. The rules for doing so are outlined in the description of the class [basic_ostream Class](../standard-library/basic-ostream-class.md). Format control common to both extractors and insertors is managed by the class [basic_ios Class](../standard-library/basic-ios-class.md). Manipulating this format information in the guise of extracting and inserting objects is the province of several manipulators.
diff --git a/docs/standard-library/istream-functions.md b/docs/standard-library/istream-functions.md
index f6476964a25..f41ca0655a6 100644
--- a/docs/standard-library/istream-functions.md
+++ b/docs/standard-library/istream-functions.md
@@ -6,9 +6,8 @@ ms.assetid: 0301ea0d-4ded-4841-83dd-4253b55b3188
---
# <istream> functions
-|||
-|-|-|
-|[swap](#istream_swap)|[ws](#ws)|
+[swap](#istream_swap)\
+[ws](#ws)
## swap
diff --git a/docs/standard-library/istream-typedefs.md b/docs/standard-library/istream-typedefs.md
index e9951c2d505..eb8356b5982 100644
--- a/docs/standard-library/istream-typedefs.md
+++ b/docs/standard-library/istream-typedefs.md
@@ -6,10 +6,10 @@ ms.assetid: 55bc1f84-53a7-46ca-a36f-ac6ef75d0374
---
# <istream> typedefs
-||||
-|-|-|-|
-|[iostream](#iostream)|[istream](#istream)|[wiostream](#wiostream)|
-|[wistream](#wistream)|
+[iostream](#iostream)\
+[istream](#istream)\
+[wiostream](#wiostream)\
+[wistream](#wistream)
## iostream
diff --git a/docs/standard-library/istream.md b/docs/standard-library/istream.md
index dc5bd176f59..dabc7d7c839 100644
--- a/docs/standard-library/istream.md
+++ b/docs/standard-library/istream.md
@@ -26,7 +26,7 @@ Defines the class template basic_istream, which mediates extractions for the ios
### Manipulators
-|||
+|Name|Description|
|-|-|
|[ws](../standard-library/istream-functions.md#ws)|Skips white space in the stream.|
|[swap](../standard-library/istream-functions.md#istream_swap)|Exchanges two stream objects.|
diff --git a/docs/standard-library/iterator.md b/docs/standard-library/iterator.md
index be2712a3a05..6c0aa0f5fec 100644
--- a/docs/standard-library/iterator.md
+++ b/docs/standard-library/iterator.md
@@ -37,7 +37,7 @@ Visual Studio has added extensions to C++ Standard Library iterators to support
### Functions
-|||
+|Name|Description|
|-|-|
|[advance](../standard-library/iterator-functions.md#advance)|Increments an iterator by a specified number of positions.|
|[back_inserter](../standard-library/iterator-functions.md#back_inserter)|Creates an iterator that can insert elements at the back of a specified container.|
@@ -63,7 +63,7 @@ Visual Studio has added extensions to C++ Standard Library iterators to support
### Operators
-|||
+|Name|Description|
|-|-|
|[operator!=](../standard-library/iterator-operators.md#op_neq)|Tests if the iterator object on the left side of the operator is not equal to the iterator object on the right side.|
|[operator==](../standard-library/iterator-operators.md#op_eq_eq)|Tests if the iterator object on the left side of the operator is equal to the iterator object on the right side.|
@@ -76,7 +76,7 @@ Visual Studio has added extensions to C++ Standard Library iterators to support
### Classes
-|||
+|Name|Description|
|-|-|
|[back_insert_iterator](../standard-library/back-insert-iterator-class.md)|The class template describes an output iterator object. It inserts elements into a container of type `Container`, which it accesses through the protected `pointer` object it stores called container.|
|[bidirectional_iterator_tag](../standard-library/bidirectional-iterator-tag-struct.md)|A class that provides a return type for an `iterator_category` function that represents a bidirectional iterator.|
diff --git a/docs/standard-library/limits.md b/docs/standard-library/limits.md
index 8ff81176628..09609f94ea4 100644
--- a/docs/standard-library/limits.md
+++ b/docs/standard-library/limits.md
@@ -23,14 +23,14 @@ Explicit specializations of the `numeric_limits` class describe many properties
### Enumerations
-|||
+|Name|Description|
|-|-|
|[float_denorm_style](../standard-library/limits-enums.md#float_denorm_style)|The enumeration describes the various methods that an implementation can choose for representing a denormalized floating-point value — one too small to represent as a normalized value:|
|[float_round_style](../standard-library/limits-enums.md#float_round_style)|The enumeration describes the various methods that an implementation can choose for rounding a floating-point value to an integer value.|
### Classes
-|||
+|Name|Description|
|-|-|
|[numeric_limits Class](../standard-library/numeric-limits-class.md)|The class template describes arithmetic properties of built-in numerical types.|
diff --git a/docs/standard-library/linear-congruential-engine-class.md b/docs/standard-library/linear-congruential-engine-class.md
index 01de6c224f9..8d681cfcaa9 100644
--- a/docs/standard-library/linear-congruential-engine-class.md
+++ b/docs/standard-library/linear-congruential-engine-class.md
@@ -51,10 +51,12 @@ The unsigned integer result type. For possible types, see [\](../standar
## Members
-||||
-|-|-|-|
-|`linear_congruential_engine::linear_congruential_engine`|`linear_congruential_engine::min`|`linear_congruential_engine::discard`|
-|`linear_congruential_engine::operator()`|`linear_congruential_engine::max`|`linear_congruential_engine::seed`|
+`linear_congruential_engine::linear_congruential_engine`
+`linear_congruential_engine::discard`\
+`linear_congruential_engine::max`\
+`linear_congruential_engine::min`\
+`linear_congruential_engine::operator()`\
+`linear_congruential_engine::seed`
`default_seed` is a member constant, defined as `1u`, used as the default parameter value for `linear_congruential_engine::seed` and the single value constructor.
diff --git a/docs/standard-library/list-class.md b/docs/standard-library/list-class.md
index 36267410f3c..a15df833ce1 100644
--- a/docs/standard-library/list-class.md
+++ b/docs/standard-library/list-class.md
@@ -38,13 +38,13 @@ Include the C++ Standard Library standard header \ to define the [containe
### Constructors
-|||
+|Name|Description|
|-|-|
|[list](#list)|Constructs a list of a specific size or with elements of a specific value or with a specific `allocator` or as a copy of some other list.|
### Typedefs
-|||
+|Name|Description|
|-|-|
|[allocator_type](#allocator_type)|A type that represents the `allocator` class for a list object.|
|[const_iterator](#const_iterator)|A type that provides a bidirectional iterator that can read a **`const`** element in a list.|
@@ -61,7 +61,7 @@ Include the C++ Standard Library standard header \ to define the [containe
### Functions
-|||
+|Name|Description|
|-|-|
|[assign](#assign)|Erases elements from a list and copies a new set of elements to the target list.|
|[back](#back)|Returns a reference to the last element of a list.|
@@ -100,7 +100,7 @@ Include the C++ Standard Library standard header \ to define the [containe
### Operators
-|||
+|Name|Description|
|-|-|
|[operator=](#op_eq)|Replaces the elements of the list with a copy of another list.|
diff --git a/docs/standard-library/list.md b/docs/standard-library/list.md
index 18e1043abf6..6fa88ad909b 100644
--- a/docs/standard-library/list.md
+++ b/docs/standard-library/list.md
@@ -22,7 +22,7 @@ Defines the container class template list and several supporting templates.
### Operators
-|||
+|Name|Description|
|-|-|
|[operator!=](../standard-library/list-operators.md#op_neq)|Tests if the list object on the left side of the operator is not equal to the list object on the right side.|
|[operator<](../standard-library/list-operators.md#op_lt)|Tests if the list object on the left side of the operator is less than the list object on the right side.|
@@ -33,13 +33,13 @@ Defines the container class template list and several supporting templates.
### Functions
-|||
+|Name|Description|
|-|-|
|[swap](../standard-library/list-functions.md#swap)|Exchanges the elements of two lists.|
### Classes
-|||
+|Name|Description|
|-|-|
|[list Class](../standard-library/list-class.md)|A class template of sequence containers that maintain their elements in a linear arrangement and allow efficient insertions and deletions at any location within the sequence.|
diff --git a/docs/standard-library/locale-class.md b/docs/standard-library/locale-class.md
index fc38ad5261b..a65fe8f5e58 100644
--- a/docs/standard-library/locale-class.md
+++ b/docs/standard-library/locale-class.md
@@ -136,7 +136,7 @@ Numeric formatting rules for subsequent insertions to `cout` remain the same as
### Static Functions
-|||
+|Name|Description|
|-|-|
|[classic](#classic)|The static member function returns a locale object that represents the classic C locale.|
|[global](#global)|Resets the default local for the program.|
diff --git a/docs/standard-library/locale-functions.md b/docs/standard-library/locale-functions.md
index d61e5d4722b..e4c73246bae 100644
--- a/docs/standard-library/locale-functions.md
+++ b/docs/standard-library/locale-functions.md
@@ -7,13 +7,21 @@ helpviewer_keywords: ["std::has_facet [C++]", "std::isalnum [C++]", "std::isalph
---
# <locale> functions
-||||
-|-|-|-|
-|[has_facet](#has_facet)|[isalnum](#isalnum)|[isalpha](#isalpha)|
-|[iscntrl](#iscntrl)|[isdigit](#isdigit)|[isgraph](#isgraph)|
-|[islower](#islower)|[isprint](#isprint)|[ispunct](#ispunct)|
-|[isspace](#isspace)|[isupper](#isupper)|[isxdigit](#isxdigit)|
-|[tolower](#tolower)|[toupper](#toupper)|[use_facet](#use_facet)|
+[has_facet](#has_facet)\
+[isalnum](#isalnum)\
+[isalpha](#isalpha)\
+[iscntrl](#iscntrl)\
+[isdigit](#isdigit)\
+[isgraph](#isgraph)\
+[islower](#islower)\
+[isprint](#isprint)\
+[ispunct](#ispunct)\
+[isspace](#isspace)\
+[isupper](#isupper)\
+[isxdigit](#isxdigit)\
+[tolower](#tolower)\
+[toupper](#toupper)\
+[use_facet](#use_facet)
## has_facet
diff --git a/docs/standard-library/lognormal-distribution-class.md b/docs/standard-library/lognormal-distribution-class.md
index 314daa163dc..67d09f44b91 100644
--- a/docs/standard-library/lognormal-distribution-class.md
+++ b/docs/standard-library/lognormal-distribution-class.md
@@ -47,10 +47,8 @@ The floating-point result type, defaults to **`double`**. For possible types, se
The class template describes a distribution that produces values of a user-specified integral type, or type **`double`** if none is provided, distributed according to the Log Normal Distribution. The following table links to articles about individual members.
-||||
-|-|-|-|
-|[lognormal_distribution](#lognormal_distribution)|`lognormal_distribution::m`|`lognormal_distribution::param`|
-|`lognormal_distribution::operator()`|`lognormal_distribution::s`|[param_type](#param_type)|
+[lognormal_distribution](#lognormal_distribution)\
+[param_type](#param_type)
The property functions `m()` and `s()` return the values for the stored distribution parameters *m* and *s*, respectively.
diff --git a/docs/standard-library/map-class.md b/docs/standard-library/map-class.md
index da42f137f76..db691f8919e 100644
--- a/docs/standard-library/map-class.md
+++ b/docs/standard-library/map-class.md
@@ -70,13 +70,13 @@ The map orders the elements it controls by calling a stored function object of t
### Constructors
-|||
+|Name|Description|
|-|-|
|[map](#map)|Constructs a list of a specific size or with elements of a specific value or with a specific `allocator` or as a copy of some other map.|
### Typedefs
-|||
+|Name|Description|
|-|-|
|[allocator_type](#allocator_type)|A typedef for the `allocator` class for the map object.|
|[const_iterator](#const_iterator)|A typedef for a bidirectional iterator that can read a **`const`** element in the map.|
@@ -127,7 +127,7 @@ The map orders the elements it controls by calling a stored function object of t
### Operators
-|||
+|Name|Description|
|-|-|
|[operator[]](#op_at)|Inserts an element into a map with a specified key value.|
|[operator=](#op_eq)|Replaces the elements of a map with a copy of another map.|
diff --git a/docs/standard-library/map.md b/docs/standard-library/map.md
index 079b5b7c759..d9579656ef4 100644
--- a/docs/standard-library/map.md
+++ b/docs/standard-library/map.md
@@ -39,7 +39,7 @@ Defines the container class templates map and multimap and their supporting temp
### Classes
-|||
+|Name|Description|
|-|-|
|[value_compare Class](../standard-library/value-compare-class-map.md)|Provides a function object that can compare the elements of a map by comparing the values of their keys to determine their relative order in the map.|
|[map Class](../standard-library/map-class.md)|Used for the storage and retrieval of data from a collection in which the each of the elements has a unique key with which the data is automatically ordered.|
diff --git a/docs/standard-library/memory-resource.md b/docs/standard-library/memory-resource.md
index 5f6aa28be1e..f360611746c 100644
--- a/docs/standard-library/memory-resource.md
+++ b/docs/standard-library/memory-resource.md
@@ -18,20 +18,20 @@ Defines the container class template memory_resource and its supporting template
### Operators
-|||
+|Name|Description|
|-|-|
|[operator!=](../standard-library/memory-resource-operators.md#op_neq)|Tests if the memory_resource object on the left side of the operator is not equal to the memory_resource object on the right side.|
|[operator==](../standard-library/memory-resource-operators.md#op_eq_eq)|Tests if the memory_resource object on the left side of the operator is equal to the memory_resource object on the right side.|
### Specialized Template Functions
-|||
+|Name|Description|
|-|-|
|[polymorphic_allocator](../standard-library/memory-resource-functions.md#poly_alloc)||
### Functions
-|||
+|Name|Description|
|-|-|
|[get_default_resource](../standard-library/memory-resource-functions.md#get_default)||
|[new_delete_resource](../standard-library/memory-resource-functions.md#new_delete)||
@@ -40,7 +40,7 @@ Defines the container class template memory_resource and its supporting template
### Classes and Structs
-|||
+|Name|Description|
|-|-|
|[memory_resource Class](../standard-library/memory-resource-class.md)||
|[monotonic_buffer_resource Class](../standard-library/monotonic-buffer-resource-class.md)||
diff --git a/docs/standard-library/memory.md b/docs/standard-library/memory.md
index 12ca18fc49d..a93c3edb9d7 100644
--- a/docs/standard-library/memory.md
+++ b/docs/standard-library/memory.md
@@ -18,7 +18,7 @@ Defines a class, an operator, and several templates that help allocate and free
### Functions
-|||
+|Name|Description|
|-|-|
|[addressof](../standard-library/memory-functions.md#addressof)|Gets the true address of an object.|
|[align](../standard-library/memory-functions.md#align)|Returns a pointer to a range of a given size, based on the provided alignment and starting address.|
@@ -67,7 +67,7 @@ Defines a class, an operator, and several templates that help allocate and free
### Operators
-|||
+|Name|Description|
|-|-|
|[operator!=](../standard-library/memory-operators.md#op_neq)|Tests for inequality between allocator objects of a specified class.|
|[operator==](../standard-library/memory-operators.md#op_eq_eq)|Tests for equality between allocator objects of a specified class.|
@@ -79,7 +79,7 @@ Defines a class, an operator, and several templates that help allocate and free
### Classes
-|||
+|Name|Description|
|-|-|
|[allocator](../standard-library/allocator-class.md)|The class template describes an object that manages storage allocation and freeing for arrays of objects of type **Type**.|
|[allocator_traits](../standard-library/allocator-traits-class.md)|Describes an object that determines all the information that is needed by an allocator-enabled container.|
@@ -94,7 +94,7 @@ Defines a class, an operator, and several templates that help allocate and free
### Structures
-|||
+|Name|Description|
|-|-|
|[allocator_arg_t](../standard-library/allocator-class.md#allocator_arg_t)||
|[default_delete](../standard-library/default-delete-struct.md)||
@@ -104,7 +104,7 @@ Defines a class, an operator, and several templates that help allocate and free
### Specializations
-|||
+|Name|Description|
|-|-|
|[allocator\](../standard-library/allocator-void-class.md)|A specialization of the class template allocator to type **`void`**, defining only the member types that make sense in this specialized context.|
diff --git a/docs/standard-library/mersenne-twister-engine-class.md b/docs/standard-library/mersenne-twister-engine-class.md
index 9d6767f1ce8..8f1766764f0 100644
--- a/docs/standard-library/mersenne-twister-engine-class.md
+++ b/docs/standard-library/mersenne-twister-engine-class.md
@@ -50,10 +50,12 @@ The unsigned integer result type. For possible types, see [\](../standar
## Members
-||||
-|-|-|-|
-|`mersenne_twister_engine::mersenne_twister_engine`|`mersenne_twister_engine::min`|`mersenne_twister_engine::discard`|
-|`mersenne_twister_engine::operator()`|`mersenne_twister_engine::max`|`mersenne_twister_engine::seed`|
+`mersenne_twister_engine::mersenne_twister_engine`\
+`mersenne_twister_engine::discard`\
+`mersenne_twister_engine::max`\
+`mersenne_twister_engine::min`\
+`mersenne_twister_engine::operator()`\
+`mersenne_twister_engine::seed`
`default_seed` is a member constant, defined as `5489u`, used as the default parameter value for `mersenne_twister_engine::seed` and the single value constructor.
diff --git a/docs/standard-library/mutex.md b/docs/standard-library/mutex.md
index 828c8ea6624..cd613a75e4d 100644
--- a/docs/standard-library/mutex.md
+++ b/docs/standard-library/mutex.md
@@ -44,7 +44,7 @@ A mutex type is also known as a *lockable type*. If it does not provide the memb
### Classes
-|||
+|Name|Description|
|-|-|
|[lock_guard Class](../standard-library/lock-guard-class.md)|Represents a template that can be instantiated to create an object whose destructor unlocks a `mutex`.|
|[mutex Class (C++ Standard Library)](../standard-library/mutex-class-stl.md)|Represents a mutex type. Use objects of this type to enforce mutual exclusion within a program.|
@@ -56,7 +56,7 @@ A mutex type is also known as a *lockable type*. If it does not provide the memb
### Functions
-|||
+|Name|Description|
|-|-|
|[call_once](../standard-library/mutex-functions.md#call_once)|Provides a mechanism for calling a specified callable object exactly once during execution.|
|[lock](../standard-library/mutex-functions.md#lock)|Attempts to lock all arguments without deadlock.|
@@ -65,7 +65,7 @@ A mutex type is also known as a *lockable type*. If it does not provide the memb
### Structs
-|||
+|Name|Description|
|-|-|
|[adopt_lock_t Structure](../standard-library/adopt-lock-t-structure.md)|Represents a type that is used to define an `adopt_lock`.|
|[defer_lock_t Structure](../standard-library/defer-lock-t-structure.md)|Represents a type that defines a `defer_lock` object that is used to select one of the overloaded constructors of `unique_lock`.|
@@ -74,7 +74,7 @@ A mutex type is also known as a *lockable type*. If it does not provide the memb
### Variables
-|||
+|Name|Description|
|-|-|
|[adopt_lock](../standard-library/mutex-functions.md#adopt_lock)|Represents an object that can be passed to constructors for `lock_guard` and `unique_lock` to indicate that the mutex object that is also being passed to the constructor is locked.|
|[defer_lock](../standard-library/mutex-functions.md#defer_lock)|Represents an object that can be passed to the constructor for `unique_lock`, to indicate that the constructor should not lock the mutex object that is also being passed to it.|
diff --git a/docs/standard-library/negative-binomial-distribution-class.md b/docs/standard-library/negative-binomial-distribution-class.md
index 2cf50f3dc44..d44f12fb1f1 100644
--- a/docs/standard-library/negative-binomial-distribution-class.md
+++ b/docs/standard-library/negative-binomial-distribution-class.md
@@ -50,10 +50,8 @@ The integer result type, defaults to **`int`**. For possible types, see [\ optional(T) -> optional;
### Constructors
-|||
+|Name|Description|
|-|-|
| **Constructors and destructor** | |
|[optional](#optional) | Constructs an object of type `optional`. |
diff --git a/docs/standard-library/optional.md b/docs/standard-library/optional.md
index 03994beb236..b42e51dc730 100644
--- a/docs/standard-library/optional.md
+++ b/docs/standard-library/optional.md
@@ -18,7 +18,7 @@ Defines the container class template `optional` and several supporting templates
### Operators
-|||
+|Name|Description|
|-|-|
|[operator==](../standard-library/optional-operators.md#op_eq_eq)|Tests if an object is equal to another object.|
|[operator!=](../standard-library/optional-operators.md#op_neq)|Tests if an object is not equal to another object.|
@@ -32,14 +32,14 @@ Defines the container class template `optional` and several supporting templates
### Functions
-|||
+|Name|Description|
|-|-|
|[make_optional](../standard-library/optional-functions.md#make_optional)|Makes an object optional.|
|[swap](../standard-library/optional-functions.md#swap)|Swaps the contained values of two `optional` objects.|
### Classes and Structs
-|||
+|Name|Description|
|-|-|
|hash|Returns a hash of the contained object.|
|[optional class](../standard-library/optional-class.md)|Describes an object that may or may not hold a value.|
@@ -48,7 +48,7 @@ Defines the container class template `optional` and several supporting templates
### Objects
-|||
+|Name|Description|
|-|-|
|[nullopt](../standard-library/optional-functions.md#nullopt)|An instance of `nullopt_t` for comparisons.|
diff --git a/docs/standard-library/ostream-functions.md b/docs/standard-library/ostream-functions.md
index bc2343de8dd..1afb3ae308c 100644
--- a/docs/standard-library/ostream-functions.md
+++ b/docs/standard-library/ostream-functions.md
@@ -9,10 +9,10 @@ helpviewer_keywords: ["std::swap [C++]", "std::endl [C++]", "std::ends [C++]", "
These are the global template functions defined in <ostream>. For member functions, see the [basic_ostream Class](basic-ostream-class.md) documentation.
-||||
-|-|-|-|
-|[endl](#endl)|[ends](#ends)|[flush](#flush)|
-|[swap](#swap)|
+[endl](#endl)\
+[ends](#ends)\
+[flush](#flush)\
+[swap](#swap)
## endl
diff --git a/docs/standard-library/ostream-typedefs.md b/docs/standard-library/ostream-typedefs.md
index 610eb4f7178..713e922260b 100644
--- a/docs/standard-library/ostream-typedefs.md
+++ b/docs/standard-library/ostream-typedefs.md
@@ -6,9 +6,8 @@ ms.assetid: 2ec4dc52-a01f-4654-bd65-dd5288777c48
---
# <ostream> typedefs
-|||
-|-|-|
-|[ostream](#ostream)|[wostream](#wostream)|
+[ostream](#ostream)\
+[wostream](#wostream)
## ostream
diff --git a/docs/standard-library/ostream.md b/docs/standard-library/ostream.md
index 3f7d0eb6b8d..3c731331adb 100644
--- a/docs/standard-library/ostream.md
+++ b/docs/standard-library/ostream.md
@@ -24,7 +24,7 @@ Defines the class template [basic_ostream](../standard-library/basic-ostream-cla
### Manipulators
-|||
+|Name|Description|
|-|-|
|[endl](../standard-library/ostream-functions.md#endl)|Terminates a line and flushes the buffer.|
|[ends](../standard-library/ostream-functions.md#ends)|Terminates a string.|
diff --git a/docs/standard-library/piecewise-constant-distribution-class.md b/docs/standard-library/piecewise-constant-distribution-class.md
index 820619cfb8a..7d45f337d35 100644
--- a/docs/standard-library/piecewise-constant-distribution-class.md
+++ b/docs/standard-library/piecewise-constant-distribution-class.md
@@ -61,10 +61,8 @@ This sampling distribution has varying-width intervals with uniform probability
The following table links to articles about individual members:
-||||
-|-|-|-|
-|[piecewise_constant_distribution](#piecewise_constant_distribution)|`piecewise_constant_distribution::intervals`|`piecewise_constant_distribution::param`|
-|`piecewise_constant_distribution::operator()`|`piecewise_constant_distribution::densities`|[param_type](#param_type)|
+[piecewise_constant_distribution](#piecewise_constant_distribution)\
+[param_type](#param_type)
The property function `intervals()` returns a `vector` with the set of stored intervals of the distribution.
diff --git a/docs/standard-library/piecewise-linear-distribution-class.md b/docs/standard-library/piecewise-linear-distribution-class.md
index 0271a30aac2..20d34c737fc 100644
--- a/docs/standard-library/piecewise-linear-distribution-class.md
+++ b/docs/standard-library/piecewise-linear-distribution-class.md
@@ -61,10 +61,8 @@ This sampling distribution has varying-width intervals with linearly varying pro
The following table links to articles about individual members:
-||||
-|-|-|-|
-|[piecewise_linear_distribution](#piecewise_linear_distribution)|`piecewise_linear_distribution::intervals`|`piecewise_linear_distribution::param`|
-|`piecewise_linear_distribution::operator()`|`piecewise_linear_distribution::densities`|[param_type](#param_type)|
+[piecewise_linear_distribution](#piecewise_linear_distribution)\
+[param_type](#param_type)
The property function `intervals()` returns a `vector` with the set of stored intervals of the distribution.
diff --git a/docs/standard-library/pointer-traits-struct.md b/docs/standard-library/pointer-traits-struct.md
index 959887ee879..35dc029194f 100644
--- a/docs/standard-library/pointer-traits-struct.md
+++ b/docs/standard-library/pointer-traits-struct.md
@@ -35,7 +35,7 @@ struct Ptr
### Typedefs
-|||
+|Name|Description|
|-|-|
|`typedef T2 difference_type`|The type `T2` is `Ptr::difference_type` if that type exists, otherwise `ptrdiff_t`. If `Ptr` is a raw pointer, the type is `ptrdiff_t`.|
|`typedef T1 element_type`|The type `T1` is `Ptr::element_type` if that type exists, otherwise `Ty`. If `Ptr` is a raw pointer, the type is `Ty`.|
@@ -43,7 +43,7 @@ struct Ptr
### Structs
-|||
+|Name|Description|
|-|-|
|`rebind`|Attempts to convert the underlying pointer type to a specified type.|
diff --git a/docs/standard-library/poisson-distribution-class.md b/docs/standard-library/poisson-distribution-class.md
index 1b34b756a71..bd8e3470a9c 100644
--- a/docs/standard-library/poisson-distribution-class.md
+++ b/docs/standard-library/poisson-distribution-class.md
@@ -49,10 +49,8 @@ The integer result type, defaults to **`int`**. For possible types, see [\ Non-Deterministic Generator
-|||
-|-|-|
-|[random_device Class](../standard-library/random-device-class.md)|Generates a non-deterministic, cryptographically secure random sequence by using an external device. Usually used to seed an engine. Low performance, very high quality. For more information, see [Remarks](#comments).|
+[random_device Class](../standard-library/random-device-class.md)\
+Generates a non-deterministic, cryptographically secure random sequence by using an external device. Usually used to seed an engine. Low performance, very high quality. For more information, see [Remarks](#comments).
#### Engine Typedefs with Predefined Parameters
@@ -301,7 +300,7 @@ For instantiating engines and engine adaptors. For more information, see [Engine
Engine templates are used as standalone URNGs or as base engines passed to [engine adaptors](#engadapt). Usually these are instantiated with a [predefined engine typedef](#typedefs) and passed to a [distribution](#distributions). For more information, see the [Engines and Distributions](#engdist) section.
-|||
+|Name|Description|
|-|-|
|[linear_congruential_engine Class](../standard-library/linear-congruential-engine-class.md)|Generates a random sequence by using the linear congruential algorithm. Most simplistic and lowest quality.|
|[mersenne_twister_engine Class](../standard-library/mersenne-twister-engine-class.md)|Generates a random sequence by using the Mersenne twister algorithm. Most complex, and is highest quality except for the random_device class. Very fast performance.|
@@ -311,7 +310,7 @@ Engine templates are used as standalone URNGs or as base engines passed to [engi
Engine adaptors are templates that adapt other (base) engines. Usually these are instantiated with a [predefined engine typedef](#typedefs) and passed to a [distribution](#distributions). For more information, see the [Engines and Distributions](#engdist) section.
-|||
+|Name|Description|
|-|-|
|[discard_block_engine Class](../standard-library/discard-block-engine-class.md)|Generates a random sequence by discarding values returned by its base engine.|
|[independent_bits_engine Class](../standard-library/independent-bits-engine-class.md)|Generates a random sequence with a specified number of bits by repacking bits from the values returned by its base engine.|
@@ -325,7 +324,7 @@ The following sections list the distributions provided in the \ header.
#### Uniform Distributions
-|||
+|Name|Description|
|-|-|
|[uniform_int_distribution Class](../standard-library/uniform-int-distribution-class.md)|Produces a uniform integer value distribution across a range in the closed interval \[a, b] (inclusive-inclusive).|
|[uniform_real_distribution Class](../standard-library/uniform-real-distribution-class.md)|Produces a uniform real (floating-point) value distribution across a range in the half-open interval [a, b) (inclusive-exclusive).|
@@ -335,7 +334,7 @@ The following sections list the distributions provided in the \ header.
#### Bernoulli Distributions
-|||
+|Name|Description|
|-|-|
|[bernoulli_distribution Class](../standard-library/bernoulli-distribution-class.md)|Produces a Bernoulli distribution of **`bool`** values.|
|[binomial_distribution Class](../standard-library/binomial-distribution-class.md)|Produces a binomial distribution of integer values.|
@@ -346,7 +345,7 @@ The following sections list the distributions provided in the \ header.
#### Normal Distributions
-|||
+|Name|Description|
|-|-|
|[cauchy_distribution Class](../standard-library/cauchy-distribution-class.md)|Produces a Cauchy distribution of real (floating point) values.|
|[chi_squared_distribution Class](../standard-library/chi-squared-distribution-class.md)|Produces a chi-squared distribution of real (floating point) values.|
@@ -359,7 +358,7 @@ The following sections list the distributions provided in the \ header.
#### Poisson Distributions
-|||
+|Name|Description|
|-|-|
|[exponential_distribution Class](../standard-library/exponential-distribution-class.md)|Produces an exponential distribution of real (floating point) values.|
|[extreme_value_distribution Class](../standard-library/extreme-value-distribution-class.md)|Produces an extreme value distribution of real (floating point) values.|
@@ -371,7 +370,7 @@ The following sections list the distributions provided in the \ header.
#### Sampling Distributions
-|||
+|Name|Description|
|-|-|
|[discrete_distribution Class](../standard-library/discrete-distribution-class.md)|Produces a discrete integer distribution.|
|[piecewise_constant_distribution Class](../standard-library/piecewise-constant-distribution-class.md)|Produces a piecewise constant distribution of real (floating point) values.|
@@ -383,7 +382,7 @@ The following sections list the distributions provided in the \ header.
This section lists the general utility functions provided in the \ header.
-|||
+|Name|Description|
|-|-|
|[seed_seq Class](../standard-library/seed-seq-class.md)|Generates a non-biased scrambled seed sequence. Used to avoid replication of random variate streams. Useful when many URNGs are instantiated from engines.|
@@ -391,7 +390,7 @@ This section lists the general utility functions provided in the \ heade
This section lists the operators provided in the \ header.
-|||
+|Name|Description|
|-|-|
|`operator==`|Tests whether the URNG on the left side of the operator is equal to the engine on the right side.|
|`operator!=`|Tests whether the URNG on the left side of the operator is not equal to the engine on the right side.|
diff --git a/docs/standard-library/raw-storage-iterator-class.md b/docs/standard-library/raw-storage-iterator-class.md
index 6a0db3c90e4..b2a3ef4c48e 100644
--- a/docs/standard-library/raw-storage-iterator-class.md
+++ b/docs/standard-library/raw-storage-iterator-class.md
@@ -34,20 +34,20 @@ This adaptor class is used when it is necessary to separate memory allocation an
### Constructors
-|||
+|Name|Description|
|-|-|
|[raw_storage_iterator](#raw_storage_iterator)|Constructs a raw storage iterator with a specified underlying output iterator.|
### Typedefs
-|||
+|Name|Description|
|-|-|
|[element_type](#element_type)|Provides a type that describes an element to be stored a raw storage iterator.|
|[iter_type](#iter_type)|Provides a type that describes an iterator that underlies a raw storage iterator.|
### Operators
-|||
+|Name|Description|
|-|-|
|[operator*](#op_star)|A dereferencing operator used to implement the output iterator expression \* `ii` = `x`.|
|[operator=](#op_eq)|An assignment operator used to implement the raw storage iterator expression \* `i` = `x` for storing in memory.|
diff --git a/docs/standard-library/reference-wrapper-class.md b/docs/standard-library/reference-wrapper-class.md
index 76c2c2a7abf..7253ed85d64 100644
--- a/docs/standard-library/reference-wrapper-class.md
+++ b/docs/standard-library/reference-wrapper-class.md
@@ -39,26 +39,26 @@ The helper functions [std::ref](functional-functions.md#ref) and [std::cref](fun
### Constructors
-|||
+|Name|Description|
|-|-|
|[reference_wrapper](#reference_wrapper)|Constructs a `reference_wrapper`.|
### Typedefs
-|||
+|Name|Description|
|-|-|
|[result_type](#result_type)|The weak result type of the wrapped reference.|
|[type](#type)|The type of the wrapped reference.|
### Functions
-|||
+|Name|Description|
|-|-|
|[get](#get)|Obtains the wrapped reference.|
### Operators
-|||
+|Name|Description|
|-|-|
|[operator Ty&](#op_ty_amp)|Gets a pointer to the wrapped reference.|
|[operator()](#op_call)|Calls the wrapped reference.|
diff --git a/docs/standard-library/regex-constants-class.md b/docs/standard-library/regex-constants-class.md
index 2232415e71b..8bb5ef41796 100644
--- a/docs/standard-library/regex-constants-class.md
+++ b/docs/standard-library/regex-constants-class.md
@@ -23,7 +23,7 @@ namespace regex_constants {
The namespace `regex_constants` encapsulates several flag types and their associated flag values.
-|||
+|Name|Description|
|-|-|
|[error_type](#error_type)|Flags for reporting regular expression syntax errors.|
|[match_flag_type](#match_flag_type)|Flags for regular expression matching options.|
diff --git a/docs/standard-library/regex-functions.md b/docs/standard-library/regex-functions.md
index d1458392063..12c10b2adeb 100644
--- a/docs/standard-library/regex-functions.md
+++ b/docs/standard-library/regex-functions.md
@@ -7,7 +7,7 @@ helpviewer_keywords: ["std::regex_match [C++]", "std::regex_replace [C++]", "std
---
# <regex> functions
-|||
+|Name|Description|
|-|-|
|[regex_match](#regex_match)|Tests whether a regular expression matches the entire target string.|
|[regex_replace](#regex_replace)|Replaces matched regular expressions.|
diff --git a/docs/standard-library/regex-operators.md b/docs/standard-library/regex-operators.md
index 55fade10677..47da042bc1d 100644
--- a/docs/standard-library/regex-operators.md
+++ b/docs/standard-library/regex-operators.md
@@ -6,11 +6,13 @@ ms.assetid: ec623e65-c186-491f-aa18-6b12b47e1127
---
# <regex> operators
-||||
-|-|-|-|
-|[operator!=](#op_neq)|[operator>](#op_gt)|[operator>=](#op_gt_eq)|
-|[operator<](#op_lt)|[operator<<](#op_lt_lt)|[operator<=](#op_lt_eq)|
-|[operator==](#op_eq_eq)|
+[operator!=](#op_neq)\
+[operator>](#op_gt)\
+[operator>=](#op_gt_eq)\
+[operator<](#op_lt)\
+[operator<<](#op_lt_lt)\
+[operator<=](#op_lt_eq)\
+[operator==](#op_eq_eq)
## operator!=
diff --git a/docs/standard-library/regex-typedefs.md b/docs/standard-library/regex-typedefs.md
index 9c3f5471a13..1d13b6ec2d9 100644
--- a/docs/standard-library/regex-typedefs.md
+++ b/docs/standard-library/regex-typedefs.md
@@ -6,14 +6,24 @@ ms.assetid: e6a69067-106c-4a24-9e08-7c867a3a2260
---
# <regex> typedefs
-||||
-|-|-|-|
-|[cmatch](#cmatch)|[cregex_iterator](#cregex_iterator)|[cregex_token_iterator](#cregex_token_iterator)|
-|[csub_match](#csub_match)|[regex](#regex)|[smatch](#smatch)|
-|[sregex_iterator](#sregex_iterator)|[sregex_token_iterator](#sregex_token_iterator)|[ssub_match](#ssub_match)|
-|[wcmatch](#wcmatch)|[wcregex_iterator](#wcregex_iterator)|[wcregex_token_iterator](#wcregex_token_iterator)|
-|[wcsub_match](#wcsub_match)|[wregex](#wregex)|[wsmatch](#wsmatch)|
-|[wsregex_iterator](#wsregex_iterator)|[wsregex_token_iterator](#wsregex_token_iterator)|[wssub_match](#wssub_match)|
+[cmatch](#cmatch)\
+[cregex_iterator](#cregex_iterator)\
+[cregex_token_iterator](#cregex_token_iterator)\
+[csub_match](#csub_match)\
+[regex](#regex)\
+[smatch](#smatch)\
+[sregex_iterator](#sregex_iterator)\
+[sregex_token_iterator](#sregex_token_iterator)\
+[ssub_match](#ssub_match)\
+[wcmatch](#wcmatch)\
+[wcregex_iterator](#wcregex_iterator)\
+[wcregex_token_iterator](#wcregex_token_iterator)\
+[wcsub_match](#wcsub_match)\
+[wregex](#wregex)\
+[wsmatch](#wsmatch)\
+[wsregex_iterator](#wsregex_iterator)\
+[wsregex_token_iterator](#wsregex_token_iterator)\
+[wssub_match](#wssub_match)
## cmatch Typedef
diff --git a/docs/standard-library/regex.md b/docs/standard-library/regex.md
index ca59a3bad38..1ee7abc5e63 100644
--- a/docs/standard-library/regex.md
+++ b/docs/standard-library/regex.md
@@ -44,7 +44,7 @@ To modify the details of the grammar of regular expressions, write a class that
### Type Definitions
-|||
+|Name|Description|
|-|-|
|[cmatch](../standard-library/regex-typedefs.md#cmatch)|Type definition for **`char`** `match_results`.|
|[cregex_iterator](../standard-library/regex-typedefs.md#cregex_iterator)|Type definition for **`char`** `regex_iterator`.|
diff --git a/docs/standard-library/sample-container-members.md b/docs/standard-library/sample-container-members.md
index b7bbce31be9..0286223418c 100644
--- a/docs/standard-library/sample-container-members.md
+++ b/docs/standard-library/sample-container-members.md
@@ -13,7 +13,7 @@ ms.assetid: dc5a1998-a31b-4adf-b888-8abe5b87a4e0
## Typedefs
-|||
+|Name|Description|
|-|-|
|[const_iterator](../standard-library/container-class-const-iterator.md)|Describes an object that can serve as a constant iterator for the controlled sequence.|
|[const_reference](../standard-library/container-class-const-reference.md)|Describes an object that can serve as a constant reference to an element of the controlled sequence.|
@@ -27,7 +27,7 @@ ms.assetid: dc5a1998-a31b-4adf-b888-8abe5b87a4e0
## Member Functions
-|||
+|Name|Description|
|-|-|
|[begin](../standard-library/container-class-begin.md)|Returns an iterator that points at the first element of the sequence (or just beyond the end of an empty sequence).|
|[clear](../standard-library/container-class-clear.md)|Calls [erase](../standard-library/container-class-erase.md)( [begin](../standard-library/container-class-begin.md), [end](../standard-library/container-class-end.md)).|
diff --git a/docs/standard-library/scoped-allocator-operators.md b/docs/standard-library/scoped-allocator-operators.md
index 0dde54bf02e..ea67f5df80b 100644
--- a/docs/standard-library/scoped-allocator-operators.md
+++ b/docs/standard-library/scoped-allocator-operators.md
@@ -6,9 +6,8 @@ ms.assetid: 4dfe0805-cc6e-479f-887f-a1c164f73837
---
# <scoped_allocator> operators
-|||
-|-|-|
-|[operator!=](#op_neq)|[operator==](#op_eq_eq)|
+[operator!=](#op_neq)\
+[operator==](#op_eq_eq)
## operator!=
diff --git a/docs/standard-library/set-class.md b/docs/standard-library/set-class.md
index e25823a57a3..d8a311b4134 100644
--- a/docs/standard-library/set-class.md
+++ b/docs/standard-library/set-class.md
@@ -57,13 +57,13 @@ The iterator provided by the set class is a bidirectional iterator, but the clas
### Constructors
-|||
+|Name|Description|
|-|-|
|[set](#set)|Constructs a set that is empty or that is a copy of all or part of some other set.|
### Typedefs
-|||
+|Name|Description|
|-|-|
|[allocator_type](#allocator_type)|A type that represents the `allocator` class for the set object.|
|[const_iterator](#const_iterator)|A type that provides a bidirectional iterator that can read a **`const`** element in the set.|
@@ -83,7 +83,7 @@ The iterator provided by the set class is a bidirectional iterator, but the clas
### Functions
-|||
+|Name|Description|
|-|-|
|[begin](#begin)|Returns an iterator that addresses the first element in the set.|
|[cbegin](#cbegin)|Returns a const iterator that addresses the first element in the set.|
@@ -113,7 +113,7 @@ The iterator provided by the set class is a bidirectional iterator, but the clas
### Operators
-|||
+|Name|Description|
|-|-|
|[operator=](#op_eq)|Replaces the elements of a set with a copy of another set.|
diff --git a/docs/standard-library/set.md b/docs/standard-library/set.md
index 63d8b0716bd..174df3b3a39 100644
--- a/docs/standard-library/set.md
+++ b/docs/standard-library/set.md
@@ -39,7 +39,7 @@ Defines the container class templates set and multiset and their supporting temp
### Classes
-|||
+|Name|Description|
|-|-|
|[set Class](../standard-library/set-class.md)|Used for the storage and retrieval of data from a collection in which the values of the elements contained are unique and serve as the key values according to which the data is automatically ordered.|
|[multiset Class](../standard-library/multiset-class.md)|Used for the storage and retrieval of data from a collection in which the values of the elements contained need not be unique and in which they serve as the key values according to which the data is automatically ordered.|
diff --git a/docs/standard-library/shared-ptr-class.md b/docs/standard-library/shared-ptr-class.md
index b53f4afe602..975734b8ddf 100644
--- a/docs/standard-library/shared-ptr-class.md
+++ b/docs/standard-library/shared-ptr-class.md
@@ -94,7 +94,7 @@ Multiple threads can read and write different `shared_ptr` objects at the same t
## Members
-|||
+|Name|Description|
|-|-|
| **Constructors** | |
|[shared_ptr](#shared_ptr)|Constructs a `shared_ptr`.|
diff --git a/docs/standard-library/shuffle-order-engine-class.md b/docs/standard-library/shuffle-order-engine-class.md
index 1485c6dfd18..59c9c912d9d 100644
--- a/docs/standard-library/shuffle-order-engine-class.md
+++ b/docs/standard-library/shuffle-order-engine-class.md
@@ -26,10 +26,12 @@ The base engine type.
## Members
-||||
-|-|-|-|
-|`shuffle_order_engine::shuffle_order_engine`|`shuffle_order_engine::base`|`shuffle_order_engine::discard`|
-|`shuffle_order_engine::operator()`|`shuffle_order_engine::base_type`|`shuffle_order_engine::seed`|
+`shuffle_order_engine::shuffle_order_engine`\
+`shuffle_order_engine::base`\
+`shuffle_order_engine::base_type`\
+`shuffle_order_engine::discard`\
+`shuffle_order_engine::operator()`\
+`shuffle_order_engine::seed`
For more information about engine members, see [\](../standard-library/random.md).
diff --git a/docs/standard-library/span.md b/docs/standard-library/span.md
index 51ad27d83ee..06bd2f23db9 100644
--- a/docs/standard-library/span.md
+++ b/docs/standard-library/span.md
@@ -49,27 +49,27 @@ int main()
### Classes
-|||
+|Name|Description|
|-|:-|
|[span](span-class.md)| Provides a view over a contiguous sequence of objects. |
### Operators
-|||
+|Name|Description|
|-|:-|
|[operator=](span-class.md#op_eq)| Span assignment |
|[operator\[\]](span-class.md#op_at)| Element access |
### Functions
-|||
+|Name|Description|
|-|:-|
| [as_bytes](span-functions.md#as_bytes)| Get the underlying read-only bytes of the span. |
| [as_writable_bytes](span-functions.md#as_writable_bytes) | Get the underlying bytes of the span. |
### Constants
-|||
+|Name|Description|
|-|:-|
| **dynamic_extent** | Indicates that the span size is determined at runtime rather than compile time. When the number of elements in the span is known at compile time, it's specified as the `Extent` template parameter. When the number isn't known until runtime, specify `dynamic_extent` instead. |
diff --git a/docs/standard-library/sstream-typedefs.md b/docs/standard-library/sstream-typedefs.md
index ffbef6028ce..23f37ee7989 100644
--- a/docs/standard-library/sstream-typedefs.md
+++ b/docs/standard-library/sstream-typedefs.md
@@ -6,11 +6,14 @@ ms.assetid: d102edd2-ecea-4a35-a398-cf96e58dd422
---
# <sstream> typedefs
-||||
-|-|-|-|
-|[istringstream](#istringstream)|[ostringstream](#ostringstream)|[stringbuf](#stringbuf)|
-|[stringstream](#stringstream)|[wistringstream](#wistringstream)|[wostringstream](#wostringstream)|
-|[wstringbuf](#wstringbuf)|[wstringstream](#wstringstream)|
+[istringstream](#istringstream)\
+[ostringstream](#ostringstream)\
+[stringbuf](#stringbuf)\
+[stringstream](#stringstream)\
+[wistringstream](#wistringstream)\
+[wostringstream](#wostringstream)\
+[wstringbuf](#wstringbuf)\
+[wstringstream](#wstringstream)
## istringstream
diff --git a/docs/standard-library/sstream.md b/docs/standard-library/sstream.md
index 2dd4d298cff..541bb7e6b17 100644
--- a/docs/standard-library/sstream.md
+++ b/docs/standard-library/sstream.md
@@ -87,7 +87,7 @@ Objects of type `char *` can use the functionality in [\](../standard
### Manipulators
-|||
+|Name|Description|
|-|-|
|[swap](../standard-library/sstream-functions.md#sstream_swap)|Exchanges the values between two `sstream` objects.|
diff --git a/docs/standard-library/stack-class.md b/docs/standard-library/stack-class.md
index 58f5ebfbabe..942dc1a855d 100644
--- a/docs/standard-library/stack-class.md
+++ b/docs/standard-library/stack-class.md
@@ -42,13 +42,13 @@ The stack objects are equality comparable if and only if the elements of class `
### Constructors
-|||
+|Name|Description|
|-|-|
|[stack](#stack)|Constructs a `stack` that is empty or that is a copy of a base container object.|
### Typedefs
-|||
+|Name|Description|
|-|-|
|[container_type](#container_type)|A type that provides the base container to be adapted by a `stack`.|
|[size_type](#size_type)|An unsigned integer type that can represent the number of elements in a `stack`.|
@@ -56,7 +56,7 @@ The stack objects are equality comparable if and only if the elements of class `
### Functions
-|||
+|Name|Description|
|-|-|
|[empty](#empty)|Tests if the `stack` is empty.|
|[pop](#pop)|Removes the element from the top of the `stack`.|
diff --git a/docs/standard-library/stack.md b/docs/standard-library/stack.md
index b540d92ca6b..ed58985cd03 100644
--- a/docs/standard-library/stack.md
+++ b/docs/standard-library/stack.md
@@ -22,7 +22,7 @@ Defines the class template stack and two supporting templates.
### Operators
-|||
+|Name|Description|
|-|-|
|[operator!=](../standard-library/stack-operators.md#op_neq)|Tests if the stack object on the left side of the operator is not equal to the stack object on the right side.|
|[operator<](../standard-library/stack-operators.md#op_lt)|Tests if the stack object on the left side of the operator is less than the stack object on the right side.|
@@ -33,7 +33,7 @@ Defines the class template stack and two supporting templates.
### Classes
-|||
+|Name|Description|
|-|-|
|[stack Class](../standard-library/stack-class.md)|A template container adaptor class that provides a restriction of functionality limiting access to the element most recently added to some underlying container type.|
diff --git a/docs/standard-library/streambuf-typedefs.md b/docs/standard-library/streambuf-typedefs.md
index c1052ba5ee0..162b2e366ca 100644
--- a/docs/standard-library/streambuf-typedefs.md
+++ b/docs/standard-library/streambuf-typedefs.md
@@ -6,9 +6,8 @@ ms.assetid: 2678e18f-f0f0-4995-bc53-f1bc7dfc4ec6
---
# <streambuf> typedefs
-|||
-|-|-|
-|[streambuf](#streambuf)|[wstreambuf](#wstreambuf)|
+[streambuf](#streambuf)\
+[wstreambuf](#wstreambuf)
## streambuf
diff --git a/docs/standard-library/string-functions.md b/docs/standard-library/string-functions.md
index a22fb8f8e5c..a6d0eb56eea 100644
--- a/docs/standard-library/string-functions.md
+++ b/docs/standard-library/string-functions.md
@@ -7,12 +7,18 @@ helpviewer_keywords: ["std::getline [C++]", "std::stod [C++]", "std::stof [C++]"
---
# <string> functions
-||||
-|-|-|-|
-|[getline](#getline)|[stod](#stod)|[stof](#stof)|
-|[stoi](#stoi)|[stol](#stol)|[stold](#stold)|
-|[stoll](#stoll)|[stoul](#stoul)|[stoull](#stoull)|
-|[swap](#swap)|[to_string](#to_string)|[to_wstring](#to_wstring)|
+[getline](#getline)\
+[stod](#stod)\
+[stof](#stof)\
+[stoi](#stoi)\
+[stol](#stol)\
+[stold](#stold)\
+[stoll](#stoll)\
+[stoul](#stoul)\
+[stoull](#stoull)\
+[swap](#swap)\
+[to_string](#to_string)\
+[to_wstring](#to_wstring)
## getline
diff --git a/docs/standard-library/string-operators.md b/docs/standard-library/string-operators.md
index 56e2ce8bfd6..4ae33a56224 100644
--- a/docs/standard-library/string-operators.md
+++ b/docs/standard-library/string-operators.md
@@ -7,11 +7,15 @@ helpviewer_keywords: ["std::operator!= (string)", "std::operator> (string)",
---
# <string> operators
-||||
-|-|-|-|
-|[operator!=](#op_neq)|[operator>](#op_gt)|[operator>>](#op_gt_gt)|
-|[operator>=](#op_gt_eq)|[operator<](#op_lt)|[operator<<](#op_lt_lt)|
-|[operator<=](#op_lt_eq)|[operator+](#op_add)|[operator==](#op_eq_eq)|
+[operator!=](#op_neq)\
+[operator>](#op_gt)\
+[operator>>](#op_gt_gt)\
+[operator>=](#op_gt_eq)\
+[operator<](#op_lt)\
+[operator<<](#op_lt_lt)\
+[operator<=](#op_lt_eq)\
+[operator+](#op_add)\
+[operator==](#op_eq_eq)
## operator+
diff --git a/docs/standard-library/string-typedefs.md b/docs/standard-library/string-typedefs.md
index be1696c7e1f..265f625b0e6 100644
--- a/docs/standard-library/string-typedefs.md
+++ b/docs/standard-library/string-typedefs.md
@@ -6,10 +6,10 @@ ms.assetid: fdca01e9-f2f1-4b59-abda-0093d760b3cc
---
# <string> typedefs
-||||
-|-|-|-|
-|[string](#string)|[u16string](#u16string)|[u32string](#u32string)|
-|[wstring](#wstring)|
+[string](#string)\
+[u16string](#u16string)\
+[u32string](#u32string)\
+[wstring](#wstring)
## string
diff --git a/docs/standard-library/string-view-operators.md b/docs/standard-library/string-view-operators.md
index f7d736a6fb8..e2dacb45fa6 100644
--- a/docs/standard-library/string-view-operators.md
+++ b/docs/standard-library/string-view-operators.md
@@ -8,11 +8,14 @@ helpviewer_keywords: ["std::basic_string_view::operator!=", "std::basic_string_v
Use these operators to compare two string_view objects, or a string_view and some other string object (for example [std::string](basic-string-class.md), or **char\***) for which an implicit conversion is provided.
-||||
-|-|-|-|
-|[operator!=](#op_neq)|[operator>](#op_gt)|[operator>=](#op_gt_eq)|
-|[operator<](#op_lt)|[operator<<](#op_lt_lt)|[operator<=](#op_lt_eq)|
-|[operator==](#op_eq_eq)|[operator""sv](#op_sv)|
+[operator!=](#op_neq)\
+[operator>](#op_gt)\
+[operator>=](#op_gt_eq)\
+[operator<](#op_lt)\
+[operator<<](#op_lt_lt)\
+[operator<=](#op_lt_eq)\
+[operator==](#op_eq_eq)\
+[operator""sv](#op_sv)
## operator!=
diff --git a/docs/standard-library/string-view-typedefs.md b/docs/standard-library/string-view-typedefs.md
index 78abc98590b..6d77230ad78 100644
--- a/docs/standard-library/string-view-typedefs.md
+++ b/docs/standard-library/string-view-typedefs.md
@@ -5,10 +5,10 @@ f1_keywords: ["xstring/std::string_view", "xstring/std::u16string_view", "xstrin
---
# <string_view> typedefs
-||||
-|-|-|-|
-|[string_view](#string_view)|[u16string_view](#u16string_view)|[u32string_view](#u32string_view)|
-|[wstring_view](#wstring_view)|
+[string_view](#string_view)\
+[u16string_view](#u16string_view)\
+[u32string_view](#u32string_view)\
+[wstring_view](#wstring_view)
## string_view
diff --git a/docs/standard-library/string.md b/docs/standard-library/string.md
index df9c4bc3db2..47c3b009a66 100644
--- a/docs/standard-library/string.md
+++ b/docs/standard-library/string.md
@@ -50,9 +50,9 @@ The C++ language and the C++ Standard Library support two types of strings:
### Specialized Template Functions
-|||
+|Name|Description|
|-|-|
-|hash|Produces a hash of a string.|
+|`hash`|Produces a hash of a string.|
|[swap](../standard-library/string-functions.md#swap)|Exchanges the arrays of characters of two strings.|
|[stod](../standard-library/string-functions.md#stod)|Converts a character sequence to a **`double`**.|
|[stof](../standard-library/string-functions.md#stof)|Converts a character sequence to a **`float`**.|
@@ -79,7 +79,7 @@ The C++ language and the C++ Standard Library support two types of strings:
### Specializations
-|||
+|Name|Description|
|-|-|
|[char_traits\ Struct](../standard-library/char-traits-char-struct.md)|A struct that is a specialization of the template struct `char_traits`\ to an element of type **`char`**.|
|[char_traits Struct](../standard-library/char-traits-wchar-t-struct.md)|A struct that is a specialization of the template struct `char_traits`\ to an element of type **`wchar_t`**.|
diff --git a/docs/standard-library/strstream.md b/docs/standard-library/strstream.md
index 72b6b496f92..345885bf4f2 100644
--- a/docs/standard-library/strstream.md
+++ b/docs/standard-library/strstream.md
@@ -26,7 +26,7 @@ Objects of type `strstream` work with **`char`** *, which are C strings. Use [\<
### Classes
-|||
+|Name|Description|
|-|-|
|[strstreambuf Class](../standard-library/strstreambuf-class.md)|The class describes a stream buffer that controls the transmission of elements to and from a sequence of elements stored in a **`char`** array object.|
|[istrstream Class](../standard-library/istrstream-class.md)|The class describes an object that controls extraction of elements and encoded objects from a stream buffer of class [strstreambuf](../standard-library/strstreambuf-class.md).|
diff --git a/docs/standard-library/student-t-distribution-class.md b/docs/standard-library/student-t-distribution-class.md
index 64c1289b3e2..9e6004e60cc 100644
--- a/docs/standard-library/student-t-distribution-class.md
+++ b/docs/standard-library/student-t-distribution-class.md
@@ -48,10 +48,8 @@ The floating-point result type, defaults to **`double`**. For possible types, se
The class template describes a distribution that produces values of a user-specified integral type, or type **`double`** if none is provided, distributed according to the Student's *t*-Distribution. The following table links to articles about individual members.
-||||
-|-|-|-|
-|[student_t_distribution](#student_t_distribution)|`student_t_distribution::n`|`student_t_distribution::param`|
-|`student_t_distribution::operator()`||[param_type](#param_type)|
+[student_t_distribution](#student_t_distribution)\
+[param_type](#param_type)
The property function `n()` returns the value for the stored distribution parameter `n`.
diff --git a/docs/standard-library/subtract-with-carry-engine-class.md b/docs/standard-library/subtract-with-carry-engine-class.md
index 0685ae783e0..e1eef7df1f0 100644
--- a/docs/standard-library/subtract-with-carry-engine-class.md
+++ b/docs/standard-library/subtract-with-carry-engine-class.md
@@ -32,11 +32,14 @@ The unsigned integer result type. For possible types, see [\](../standar
## Members
-||||
-|-|-|-|
-|`subtract_with_carry_engine::subtract_with_carry_engine`|`subtract_with_carry_engine::min`|`subtract_with_carry_engine::discard`|
-|`subtract_with_carry_engine::operator()`|`subtract_with_carry_engine::max`|`subtract_with_carry_engine::seed`|
-|`default_seed` is a member constant, defined as `19780503u`, used as the default parameter value for `subtract_with_carry_engine::seed` and the single value constructor.|||
+`subtract_with_carry_engine::subtract_with_carry_engine`
+`subtract_with_carry_engine::max`\
+`subtract_with_carry_engine::min`\
+`subtract_with_carry_engine::discard`\
+`subtract_with_carry_engine::operator()`\
+`subtract_with_carry_engine::seed`
+
+`default_seed` is a member constant, defined as `19780503u`, used as the default parameter value for `subtract_with_carry_engine::seed` and the single value constructor.
For more information about engine members, see [\](../standard-library/random.md).
diff --git a/docs/standard-library/system-error.md b/docs/standard-library/system-error.md
index f6dc76db7b9..a54249fbbb5 100644
--- a/docs/standard-library/system-error.md
+++ b/docs/standard-library/system-error.md
@@ -19,7 +19,7 @@ Include the header \ to define the exception class `system_error`
### Objects
-|||
+|Name|Description|
|-|-|
|[generic_category](../standard-library/system-error-functions.md#generic_category)|Represents the category for generic errors.|
|[is_error_code_enum_v](../standard-library/system-error-functions.md#is_error_code_enum_v)||
@@ -28,14 +28,14 @@ Include the header \ to define the exception class `system_error`
### Functions
-|||
+|Name|Description|
|-|-|
|[make_error_code](../standard-library/system-error-functions.md#make_error_code)|Creates an `error_code` object.|
|[make_error_condition](../standard-library/system-error-functions.md#make_error_condition)|Creates an `error_condition` object.|
### Operators
-|||
+|Name|Description|
|-|-|
|[operator==](../standard-library/system-error-operators.md#op_eq_eq)|Tests if the object on the left side of the operator is equal to the object on the right side.|
|[operator!=](../standard-library/system-error-operators.md#op_neq)|Tests if the object on the left side of the operator is not equal to the object on the right side.|
@@ -44,13 +44,13 @@ Include the header \ to define the exception class `system_error`
### Enums
-|||
+|Name|Description|
|-|-|
|[errc](../standard-library/system-error-enums.md#errc)|Provides symbolic names for all the error-code macros defined by POSIX in ``.|
### Classes and Structs
-|||
+|Name|Description|
|-|-|
|[error_category](../standard-library/error-category-class.md)|Represents the abstract, common base for objects that describes a category of error codes.|
|[error_code](../standard-library/error-code-class.md)|Represents low-level system errors that are implementation-specific.|
diff --git a/docs/standard-library/thread-functions.md b/docs/standard-library/thread-functions.md
index 1300336c8da..86787681ee3 100644
--- a/docs/standard-library/thread-functions.md
+++ b/docs/standard-library/thread-functions.md
@@ -7,10 +7,11 @@ helpviewer_keywords: ["std::get_id [C++]", "std::sleep_for [C++]", "std::sleep_u
---
# <thread> functions
-||||
-|-|-|-|
-|[get_id](#get_id)|[sleep_for](#sleep_for)|[sleep_until](#sleep_until)|
-|[swap](#swap)|[yield](#yield)|
+[get_id](#get_id)\
+[sleep_for](#sleep_for)\
+[sleep_until](#sleep_until)\
+[swap](#swap)\
+[yield](#yield)
## get_id
diff --git a/docs/standard-library/thread-operators.md b/docs/standard-library/thread-operators.md
index fdcd6ac6e09..f24fa93c9ca 100644
--- a/docs/standard-library/thread-operators.md
+++ b/docs/standard-library/thread-operators.md
@@ -7,11 +7,13 @@ helpviewer_keywords: ["std::operator!= (thread)", "std::operator> (thread)",
---
# <thread> operators
-||||
-|-|-|-|
-|[operator!=](#op_neq)|[operator>](#op_gt)|[operator>=](#op_gt_eq)|
-|[operator<](#op_lt)|[operator<<](#op_lt_lt)|[operator<=](#op_lt_eq)|
-|[operator==](#op_eq_eq)|
+[operator!=](#op_neq)\
+[operator>](#op_gt)\
+[operator>=](#op_gt_eq)\
+[operator<](#op_lt)\
+[operator<<](#op_lt_lt)\
+[operator<=](#op_lt_eq)\
+[operator==](#op_eq_eq)
## operator>=
diff --git a/docs/standard-library/tuple.md b/docs/standard-library/tuple.md
index 3310d20c9a0..d6968cb1167 100644
--- a/docs/standard-library/tuple.md
+++ b/docs/standard-library/tuple.md
@@ -19,7 +19,7 @@ Defines a template `tuple` whose instances hold objects of varying types.
### Classes and Structs
-|||
+|Name|Description|
|-|-|
|[tuple Class](../standard-library/tuple-class.md)|Wraps a fixed-length sequence of elements.|
|[tuple_element Class](../standard-library/tuple-element-class-tuple.md)|Wraps the type of a `tuple` element.|
@@ -28,14 +28,14 @@ Defines a template `tuple` whose instances hold objects of varying types.
### Objects
-|||
+|Name|Description|
|-|-|
|[tuple_element_t](../standard-library/tuple-functions.md#tuple_element_t)||
|[tuple_size_v](../standard-library/tuple-functions.md#tuple_size_v)||
### Operators
-|||
+|Name|Description|
|-|-|
|[operator==](../standard-library/tuple-operators.md#op_eq_eq)|Comparison of `tuple` objects, equal.|
|[operator!=](../standard-library/tuple-operators.md#op_neq)|Comparison of `tuple` objects, not equal.|
@@ -46,7 +46,7 @@ Defines a template `tuple` whose instances hold objects of varying types.
### Functions
-|||
+|Name|Description|
|-|-|
|[apply](../standard-library/tuple-functions.md#apply)|Calls a function with a tuple.|
|[forward_as_tuple](../standard-library/tuple-functions.md#forward)|Constructs a tuple of references.|
diff --git a/docs/standard-library/type-traits-functions.md b/docs/standard-library/type-traits-functions.md
index a4cab392527..cb7b53c2c97 100644
--- a/docs/standard-library/type-traits-functions.md
+++ b/docs/standard-library/type-traits-functions.md
@@ -6,13 +6,20 @@ helpviewer_keywords: ["std::is_assignable", "std::is_copy_assignable", "std::is_
---
# <type_traits> functions
-||||
-|-|-|-|
-|[is_assignable](#is_assignable)|[is_copy_assignable](#is_copy_assignable)|[is_copy_constructible](#is_copy_constructible)|
-|[is_default_constructible](#is_default_constructible)|[is_move_assignable](#is_move_assignable)|[is_move_constructible](#is_move_constructible)|
-|[is_nothrow_move_assignable](#is_nothrow_move_assignable)|[is_nothrow_swappable](#is_nothrow_swappable)|[is_nothrow_swappable_with](#is_nothrow_swappable_with)|
-|[is_swappable](#is_swappable)|[is_swappable_with](#is_swappable_with)|[is_trivially_copy_assignable](#is_trivially_copy_assignable)|
-|[is_trivially_move_assignable](#is_trivially_move_assignable)|[is_trivially_move_constructible](#is_trivially_move_constructible)|
+[is_assignable](#is_assignable)\
+[is_copy_assignable](#is_copy_assignable)\
+[is_copy_constructible](#is_copy_constructible)\
+[is_default_constructible](#is_default_constructible)\
+[is_move_assignable](#is_move_assignable)\
+[is_move_constructible](#is_move_constructible)\
+[is_nothrow_move_assignable](#is_nothrow_move_assignable)\
+[is_nothrow_swappable](#is_nothrow_swappable)\
+[is_nothrow_swappable_with](#is_nothrow_swappable_with)\
+[is_swappable](#is_swappable)\
+[is_swappable_with](#is_swappable_with)\
+[is_trivially_copy_assignable](#is_trivially_copy_assignable)\
+[is_trivially_move_assignable](#is_trivially_move_assignable)\
+[is_trivially_move_constructible](#is_trivially_move_constructible)
## is_assignable
diff --git a/docs/standard-library/type-traits-typedefs.md b/docs/standard-library/type-traits-typedefs.md
index 8e07a0401d1..ea3a9341afd 100644
--- a/docs/standard-library/type-traits-typedefs.md
+++ b/docs/standard-library/type-traits-typedefs.md
@@ -6,9 +6,8 @@ ms.assetid: 8ac040ca-ed2d-4570-adc9-cb5626530053
---
# <type_traits> typedefs
-|||
-|-|-|
-|[false_type](#false_type)|[true_type](#true_type)|
+[false_type](#false_type)\
+[true_type](#true_type)
## false_type Typedef
diff --git a/docs/standard-library/type-traits.md b/docs/standard-library/type-traits.md
index 7283defcedc..bbc1a4a4355 100644
--- a/docs/standard-library/type-traits.md
+++ b/docs/standard-library/type-traits.md
@@ -34,22 +34,44 @@ using add_const_t = typename add_const::type;
These are the provided aliases for the `type` members:
-||||
-|-|-|-|
-| add_const_t | add_cv_t | add_lvalue_reference_t |
-| add_pointer_t | add_rvalue_reference_t | add_volatile_t |
-| aligned_storage_t | aligned_union_t | common_type_t |
-| conditional_t | decay_t | enable_if_t |
-| invoke_result_t | make_signed_t | make_unsigned_t |
-| remove_all_extents_t | remove_const_t | remove_cv_t |
-| remove_extent_t | remove_pointer_t | remove_reference_t |
-| remove_volatile_t | result_of_t | underlying_type_t |
+:::row:::
+ :::column:::
+ `add_const_t`\
+ `add_cv_t`\
+ `add_lvalue_reference_t`\
+ `add_pointer_t`\
+ `add_rvalue_reference_t`\
+ `add_volatile_t`\
+ `aligned_storage_t`\
+ `aligned_union_t`\
+ :::column-end:::
+ :::column:::
+ `common_type_t`\
+ `conditional_t`\
+ `decay_t`\
+ `enable_if_t`\
+ `invoke_result_t`\
+ `make_signed_t`\
+ `make_unsigned_t`\
+ `remove_all_extents_t`\
+ :::column-end:::
+ :::column:::
+ `remove_const_t`\
+ `remove_cv_t`\
+ `remove_extent_t`\
+ `remove_pointer_t`\
+ `remove_reference_t`\
+ `remove_volatile_t`\
+ `result_of_t`\
+ `underlying_type_t`\
+ :::column-end:::
+:::row-end:::
### Classes
Helper class and typedefs
-|||
+|Name|Description|
|-|-|
|[integral_constant](../standard-library/integral-constant-class-bool-constant-class.md)|Makes an integral constant from a type and a value.|
|[true_type](../standard-library/type-traits-typedefs.md#true_type)|Holds integral constant with true value.|
@@ -57,7 +79,7 @@ Helper class and typedefs
Primary type categories
-|||
+|Name|Description|
|-|-|
|[is_void](../standard-library/is-void-class.md)|Tests whether the type is **`void`**.|
|[is_null_pointer](../standard-library/is-null-pointer-class.md)|Tests whether the type is `std::nullptr_t`.|
@@ -76,7 +98,7 @@ Primary type categories
Composite type categories
-|||
+|Name|Description|
|-|-|
|[is_reference](../standard-library/is-reference-class.md)|Tests whether the type is a reference.|
|[is_arithmetic](../standard-library/is-arithmetic-class.md)|Tests whether the type is arithmetic.|
@@ -88,7 +110,7 @@ Composite type categories
Type properties
-|||
+|Name|Description|
|-|-|
|[is_const](../standard-library/is-const-class.md)|Tests whether the type is **`const`**.|
|[is_volatile](../standard-library/is-volatile-class.md)|Tests whether the type is **`volatile`**.|
@@ -141,7 +163,7 @@ Type properties
Type property queries
-|||
+|Name|Description|
|-|-|
|[alignment_of](../standard-library/alignment-of-class.md)|Gets the alignment of a type.|
|[rank](../standard-library/rank-class.md)|Gets the number of array dimensions.|
@@ -149,7 +171,7 @@ Type property queries
Type relations
-|||
+|Name|Description|
|-|-|
|[is_same](../standard-library/is-same-class.md)|Tests whether two types are the same.|
|[is_base_of](../standard-library/is-base-of-class.md)|Tests whether one type is a base of another.|
@@ -157,7 +179,7 @@ Type relations
Const-volatile modifications
-|||
+|Name|Description|
|-|-|
|[add_const](../standard-library/add-const-class.md)|Produces a **`const`** type from type.|
|[add_volatile](../standard-library/add-volatile-class.md)|Produces a **`volatile`** type from type.|
@@ -168,7 +190,7 @@ Const-volatile modifications
Reference modifications
-|||
+|Name|Description|
|-|-|
|[add_lvalue_reference](../standard-library/add-lvalue-reference-class.md)|Produces a reference to type from type.|
|[add_rvalue_reference](../standard-library/add-rvalue-reference-class.md)|Produces an rvalue reference to type from type|
@@ -176,28 +198,28 @@ Reference modifications
Sign modifications
-|||
+|Name|Description|
|-|-|
|[make_signed](../standard-library/make-signed-class.md)|Produces the type if signed, or the smallest signed type greater than or equal in size to type.|
|[make_unsigned](../standard-library/make-unsigned-class.md)|Produces the type if unsigned, or the smallest unsigned type greater than or equal in size to type.|
Array modifications
-|||
+|Name|Description|
|-|-|
|[remove_all_extents](../standard-library/remove-all-extents-class.md)|Produces a non-array type from an array type.|
|[remove_extent](../standard-library/remove-extent-class.md)|Produces the element type from an array type.|
Pointer modifications
-|||
+|Name|Description|
|-|-|
|[add_pointer](../standard-library/add-pointer-class.md)|Produces a pointer to type from type.|
|[remove_pointer](../standard-library/remove-pointer-class.md)|Produces a type from a pointer to type.|
Other transformations
-|||
+|Name|Description|
|-|-|
|[aligned_storage](../standard-library/aligned-storage-class.md)|Allocates uninitialized memory for an aligned type.|
|[aligned_union](../standard-library/aligned-union-class.md)|Allocates uninitialized memory for an aligned union with a non-trivial constructor or destructor.|
@@ -211,7 +233,7 @@ Other transformations
Logical operator traits
-|||
+|Name|Description|
|-|-|
|[conjunction](../standard-library/conjunction-class.md)||
|[disjunction](../standard-library/disjunction-class.md)||
diff --git a/docs/standard-library/uniform-int-distribution-class.md b/docs/standard-library/uniform-int-distribution-class.md
index f3989b78b1a..a056403586b 100644
--- a/docs/standard-library/uniform-int-distribution-class.md
+++ b/docs/standard-library/uniform-int-distribution-class.md
@@ -50,10 +50,8 @@ The integer result type, defaults to **`int`**. For possible types, see [\](../standard-library/random.md) topic.
diff --git a/docs/standard-library/unique-lock-class.md b/docs/standard-library/unique-lock-class.md
index a878c1ec6b1..cc7ad1311e6 100644
--- a/docs/standard-library/unique-lock-class.md
+++ b/docs/standard-library/unique-lock-class.md
@@ -286,7 +286,7 @@ The second constructor moves the associated mutex status from *Other*. After the
The remaining constructors store & *Mtx* as the stored `mutex` pointer. Ownership of the `mutex` is determined by the second argument, if it exists.
-|||
+|Name|Description|
|-|-|
|`No argument`|Ownership is obtained by calling the `lock` method on the associated `mutex` object.|
|`Adopt`|Ownership is assumed. `Mtx` must be locked when the constructor is called.|
diff --git a/docs/standard-library/unique-ptr-class.md b/docs/standard-library/unique-ptr-class.md
index 8a1f58a6b58..6895aefd1e4 100644
--- a/docs/standard-library/unique-ptr-class.md
+++ b/docs/standard-library/unique-ptr-class.md
@@ -101,13 +101,13 @@ The stored pointer to an owned resource, `stored_ptr` has type `pointer`. It is
### Constructors
-|||
+|Name|Description|
|-|-|
|[unique_ptr](#unique_ptr)|There are seven constructors for `unique_ptr`.|
### Typedefs
-|||
+|Name|Description|
|-|-|
|[deleter_type](#deleter_type)|A synonym for the template parameter `Del`.|
|[element_type](#element_type)|A synonym for the template parameter `T`.|
@@ -115,7 +115,7 @@ The stored pointer to an owned resource, `stored_ptr` has type `pointer`. It is
### Functions
-|||
+|Name|Description|
|-|-|
|[get](#get)|Returns `stored_ptr`.|
|[get_deleter](#get_deleter)|Returns a reference to `stored_deleter`.|
@@ -125,7 +125,7 @@ The stored pointer to an owned resource, `stored_ptr` has type `pointer`. It is
### Operators
-|||
+|Name|Description|
|-|-|
|**operator bool**|The operator returns a value of a type that is convertible to **`bool`**. The result of the conversion to **`bool`** is **`true`** when `get() != pointer()`, otherwise **`false`**.|
|`operator->`|The member function returns `stored_ptr`.|
diff --git a/docs/standard-library/unordered-map-functions.md b/docs/standard-library/unordered-map-functions.md
index a1926fe0869..4b5a15f646c 100644
--- a/docs/standard-library/unordered-map-functions.md
+++ b/docs/standard-library/unordered-map-functions.md
@@ -7,9 +7,8 @@ helpviewer_keywords: ["std::swap (unordered_map/multimap)"]
---
# <unordered_map> functions
-|||
-|-|-|
-|[swap (unordered_map)](#swap)|[swap (unordered_multimap)](#swap_function_multimap)|
+[swap (unordered_map)](#swap)
+[swap (unordered_multimap)](#swap_function_multimap)
## swap (unordered_map)
diff --git a/docs/standard-library/unordered-map-operators.md b/docs/standard-library/unordered-map-operators.md
index 5e08f806735..60e43ef0589 100644
--- a/docs/standard-library/unordered-map-operators.md
+++ b/docs/standard-library/unordered-map-operators.md
@@ -6,9 +6,10 @@ ms.assetid: 9d5add0b-84bd-4a79-bd82-3f58b55145ed
---
# <unordered_map> operators
-|||||
-|-|-|-|-|
-|[operator!=](#op_neq)|[operator==](#op_eq_eq)|[operator!=](#op_neq_multimap)|[operator==](#op_eq_eq_multimap)|
+[unordered_map::operator!=](#op_neq)\
+[unordered_map::operator==](#op_eq_eq)\
+[unordered_multimap::operator!=](#op_neq_multimap)\
+[unordered_multimap::operator==](#op_eq_eq_multimap)
## operator!=
@@ -64,15 +65,13 @@ int main( )
cout << "um1 != um3: " << (um1 != um3) << endl;
cout << "um2 != um3: " << (um2 != um3) << endl;
}
-```
-
-**Output:**
-
-`um1 != um2: true`
-`um1 != um3: false`
-
-`um2 != um3: true`
+/* Output:
+um1 != um2: true
+um1 != um3: false
+um2 != um3: true
+*/
+```
## operator==
@@ -128,15 +127,13 @@ int main( )
cout << "um1 == um3: " << (um1 == um3) << endl;
cout << "um2 == um3: " << (um2 == um3) << endl;
}
-```
-
-**Output:**
-
-`um1 == um2: false`
-`um1 == um3: true`
-
-`um2 == um3: false`
+/* Output:
+um1 == um2: false
+um1 == um3: true
+um2 == um3: false
+*/
+```
## operator!=
@@ -193,15 +190,13 @@ int main( )
cout << "um1 != um3: " << (um1 != um3) << endl;
cout << "um2 != um3: " << (um2 != um3) << endl;
}
-```
-
-**Output:**
-
-`um1 != um2: true`
-`um1 != um3: false`
-
-`um2 != um3: true`
+/* Output:
+um1 != um2: true
+um1 != um3: false
+um2 != um3: true
+*/
+```
## operator==
@@ -258,15 +253,13 @@ int main( )
cout << "um1 == um3: " << (um1 == um3) << endl;
cout << "um2 == um3: " << (um2 == um3) << endl;
}
-```
-
-**Output:**
-
-`um1 == um2: false`
-`um1 == um3: true`
-
-`um2 == um3: false`
+/* Output:
+um1 == um2: false
+um1 == um3: true
+um2 == um3: false
+*/
+```
## See also
diff --git a/docs/standard-library/unordered-set-class.md b/docs/standard-library/unordered-set-class.md
index c77716830ef..6de7c8fb26f 100644
--- a/docs/standard-library/unordered-set-class.md
+++ b/docs/standard-library/unordered-set-class.md
@@ -38,7 +38,7 @@ The allocator class.
### Typedefs
-|||
+|Name|Description|
|-|-|
|[allocator_type](#allocator_type)|The type of an allocator for managing storage.|
|[const_iterator](#const_iterator)|The type of a constant iterator for the controlled sequence.|
@@ -58,7 +58,7 @@ The allocator class.
### Functions
-|||
+|Name|Description|
|-|-|
|[begin](#begin)|Designates the beginning of the controlled sequence.|
|[bucket](#bucket)|Gets the bucket number for a key value.|
@@ -90,7 +90,7 @@ The allocator class.
### Operators
-|||
+|Name|Description|
|-|-|
|[unordered_set::operator=](#op_eq)|Copies a hash table.|
diff --git a/docs/standard-library/unordered-set.md b/docs/standard-library/unordered-set.md
index a940ce102b2..efed8084405 100644
--- a/docs/standard-library/unordered-set.md
+++ b/docs/standard-library/unordered-set.md
@@ -22,14 +22,14 @@ Defines the container class templates [unordered_multiset](../standard-library/u
### Classes
-|||
+|Name|Description|
|-|-|
|[unordered_multiset Class](../standard-library/unordered-multiset-class.md)|Stores hash table of keys.|
|[unordered_set Class](../standard-library/unordered-set-class.md)|Stores hash table of keys.|
### Functions
-|||
+|Name|Description|
|-|-|
|[operator!=](../standard-library/unordered-set-operators.md#op_neq)|Tests if the unordered_multiset object on the left side of the operator is not equal to the unordered_multiset object on the right side.|
|[operator==](../standard-library/unordered-set-operators.md#op_eq_eq)|Tests if the unordered_multiset object on the left side of the operator is equal to the unordered_multiset object on the right side.|
diff --git a/docs/standard-library/valarray-class.md b/docs/standard-library/valarray-class.md
index 37f1cd03810..2efd4fcd6cd 100644
--- a/docs/standard-library/valarray-class.md
+++ b/docs/standard-library/valarray-class.md
@@ -29,19 +29,19 @@ In particular, no subtle differences may exist between copy construction and def
### Constructors
-|||
+|Name|Description|
|-|-|
|[valarray](#valarray)|Constructs a `valarray` of a specific size or with elements of a specific value or as a copy of another `valarray` or subset of another `valarray`.|
### Typedefs
-|||
+|Name|Description|
|-|-|
|[value_type](#value_type)|A type that represents the type of element stored in a `valarray`.|
### Functions
-|||
+|Name|Description|
|-|-|
|[apply](#apply)|Applies a specified function to each element of a `valarray`.|
|[cshift](#cshift)|Cyclically shifts all the elements in a `valarray` by a specified number of positions.|
@@ -56,7 +56,7 @@ In particular, no subtle differences may exist between copy construction and def
### Operators
-|||
+|Name|Description|
|-|-|
|[operator!](#op_not)|A unary operator that obtains the logical `NOT` values of each element in a `valarray`.|
|[operator%=](#op_mod_eq)|Obtains the remainder of dividing the elements of an array element-wise either by a specified `valarray` or by a value of the element type.|
diff --git a/docs/standard-library/valarray.md b/docs/standard-library/valarray.md
index 20973aa3baf..401dbb36b5c 100644
--- a/docs/standard-library/valarray.md
+++ b/docs/standard-library/valarray.md
@@ -26,7 +26,7 @@ These class templates and functions are permitted unusual latitude in the intere
### Functions
-|||
+|Name|Description|
|-|-|
|[abs](../standard-library/valarray-functions.md#abs)|Operates on the elements of an input valarray, returning a valarray whose elements are equal to the absolute value of the elements of the input valarray.|
|[acos](../standard-library/valarray-functions.md#acos)|Operates on the elements of an input valarray, returning a valarray whose elements are equal to the arccosine of the elements of the input valarray.|
@@ -50,7 +50,7 @@ These class templates and functions are permitted unusual latitude in the intere
### Operators
-|||
+|Name|Description|
|-|-|
|[operator!=](../standard-library/valarray-operators.md#op_neq)|Tests whether the corresponding elements of two equally sized valarrays are unequal or whether all the elements of a valarray are unequal a specified value of the valarray's element type.|
|[operator%](../standard-library/valarray-operators.md#op_mod)|Obtains the remainder of dividing the corresponding elements of two equally sized valarrays or of dividing a valarray by a specified value of the valarray's element type or of dividing a specified value by a valarray.|
@@ -73,7 +73,7 @@ These class templates and functions are permitted unusual latitude in the intere
### Classes
-|||
+|Name|Description|
|-|-|
|[gslice Class](../standard-library/gslice-class.md)|A utility class to valarray that is used to define multi-dimensional slices of a valarray.|
|[gslice_array Class](../standard-library/gslice-array-class.md)|An internal, auxiliary class template that supports general slice objects by providing operations between subset arrays defined by the general slice of a valarray.|
@@ -85,7 +85,7 @@ These class templates and functions are permitted unusual latitude in the intere
### Specializations
-|||
+|Name|Description|
|-|-|
|[valarray\ Class](../standard-library/valarray-bool-class.md)|A specialized version of the class template valarray\<**Type**> to elements of type **`bool`**.|
diff --git a/docs/standard-library/variant-class.md b/docs/standard-library/variant-class.md
index 6ff0cc19116..d7a747f5cd0 100644
--- a/docs/standard-library/variant-class.md
+++ b/docs/standard-library/variant-class.md
@@ -19,13 +19,13 @@ template
### Constructors
-|||
+|Name|Description|
|-|-|
|[variant](#variant)|Constructs an object of type `variant`.|
### Functions
-|||
+|Name|Description|
|-|-|
|[emplace](#emplace)|Creates a new contained value.|
|[index](#index)|Returns the index of a contained value.|
@@ -34,7 +34,7 @@ template
### Operators
-|||
+|Name|Description|
|-|-|
|[operator=](#op_eq)|Replaces the variant with a copy of another variant.|
diff --git a/docs/standard-library/variant.md b/docs/standard-library/variant.md
index d66ac4ff951..e243d8861b9 100644
--- a/docs/standard-library/variant.md
+++ b/docs/standard-library/variant.md
@@ -18,7 +18,7 @@ A variant object holds and manages a value. If the variant holds a value, that v
### Operators
-|||
+|Name|Description|
|-|-|
|[operator==](../standard-library/forward-list-operators.md#op_eq_eq)|Tests if the variant object on the left side of the operator is equal to the variant object on the right side.|
|[operator!=](../standard-library/forward-list-operators.md#op_neq)|Tests if the variant object on the left side of the operator is not equal to the variant object on the right side.|
@@ -29,7 +29,7 @@ A variant object holds and manages a value. If the variant holds a value, that v
### Functions
-|||
+|Name|Description|
|-|-|
|[get](../standard-library/variant-functions.md#get)|Gets the variant of an object.|
|[get_if](../standard-library/variant-functions.md#get_if)|Gets the variant of an object if it exists.|
@@ -39,14 +39,14 @@ A variant object holds and manages a value. If the variant holds a value, that v
### Classes
-|||
+|Name|Description|
|-|-|
|[bad_variant_access](../standard-library/bad-variant-access-class.md)|Objects thrown to report invalid accesses to the value of a variant object.|
|[variant](../standard-library/variant.md)|An object to either hold a value of one of its alternative types, or no value.|
### Structs
-|||
+|Name|Description|
|-|-|
|[hash](../standard-library/hash-structure.md)||
|[monostate](../standard-library/monostate-structure.md)|An alternative type for a variant to make the variant type default constructible.|
@@ -56,7 +56,7 @@ A variant object holds and manages a value. If the variant holds a value, that v
### Objects
-|||
+|Name|Description|
|-|-|
|[variant_npos](../standard-library/variant-functions.md#variant_npos)||
diff --git a/docs/standard-library/vector-bool-class.md b/docs/standard-library/vector-bool-class.md
index 60ad4d3844c..37e3e1a462c 100644
--- a/docs/standard-library/vector-bool-class.md
+++ b/docs/standard-library/vector-bool-class.md
@@ -43,7 +43,7 @@ Operations that deal with the **`bool`** type correspond to values in the contai
### Proxy Class
-|||
+|Name|Description|
|-|-|
|[vector\ reference Class](#reference_class)|A class that acts as a proxy to simulate `bool&` behavior, and whose objects can provide references to elements (single bits) within a `vector` object.|
diff --git a/docs/standard-library/vector-class.md b/docs/standard-library/vector-class.md
index 7849d442e9b..236409bda48 100644
--- a/docs/standard-library/vector-class.md
+++ b/docs/standard-library/vector-class.md
@@ -39,13 +39,13 @@ The [vector\ reference class](../standard-library/vector-bool-class.md#ref
### Constructors
-|||
+|Name|Description|
|-|-|
|[vector](#vector)|Constructs a vector of a specific size or with elements of a specific value or with a specific `allocator` or as a copy of some other vector.|
### Typedefs
-|||
+|Name|Description|
|-|-|
|[allocator_type](#allocator_type)|A type that represents the `allocator` class for the vector object.|
|[const_iterator](#const_iterator)|A type that provides a random-access iterator that can read a **`const`** element in a vector.|
@@ -62,7 +62,7 @@ The [vector\ reference class](../standard-library/vector-bool-class.md#ref
### Functions
-|||
+|Name|Description|
|-|-|
|[assign](#assign)|Erases a vector and copies the specified elements to the empty vector.|
|[at](#at)|Returns a reference to the element at a specified location in the vector.|
@@ -96,7 +96,7 @@ The [vector\ reference class](../standard-library/vector-bool-class.md#ref
### Operators
-|||
+|Name|Description|
|-|-|
|[operator[]](#op_at)|Returns a reference to the vector element at a specified position.|
|[operator=](#op_eq)|Replaces the elements of the vector with a copy of another vector.|
diff --git a/docs/standard-library/vector.md b/docs/standard-library/vector.md
index 55226563e45..d2eff172a30 100644
--- a/docs/standard-library/vector.md
+++ b/docs/standard-library/vector.md
@@ -85,7 +85,7 @@ The second (right) vector in a compare operation.
### Operators
-|||
+|Name|Description|
|-|-|
|[operator! =](../standard-library/vector-operators.md#op_neq)|Tests if the vector object on the left side of the operator is not equal to the vector object on the right side.|
|[operator<](../standard-library/vector-operators.md#op_lt)|Tests if the vector object on the left side of the operator is less than the vector object on the right side.|
@@ -96,13 +96,13 @@ The second (right) vector in a compare operation.
### Classes
-|||
+|Name|Description|
|-|-|
|[vector Class](../standard-library/vector-class.md)|A class template of sequence containers that arrange elements of a given type in a linear arrangement and allow fast random access to any element.|
### Specializations
-|||
+|Name|Description|
|-|-|
|hash|Returns a hash of the vector.|
|[vector\ Class](../standard-library/vector-bool-class.md)|A full specialization of the class template vector for elements of type **`bool`** with an allocator for the underlying type used by the specialization.|
diff --git a/docs/standard-library/weak-ptr-class.md b/docs/standard-library/weak-ptr-class.md
index 537af3d78eb..b34dd5088b5 100644
--- a/docs/standard-library/weak-ptr-class.md
+++ b/docs/standard-library/weak-ptr-class.md
@@ -32,7 +32,7 @@ A cycle occurs when two or more resources controlled by `shared_ptr` objects hol
## Members
-|||
+|Name|Description|
|-|-|
| **Constructors** | |
|[weak_ptr](#weak_ptr)|Constructs a `weak_ptr`.|
diff --git a/docs/standard-library/weibull-distribution-class.md b/docs/standard-library/weibull-distribution-class.md
index e2cb8c74c32..170b9306564 100644
--- a/docs/standard-library/weibull-distribution-class.md
+++ b/docs/standard-library/weibull-distribution-class.md
@@ -49,10 +49,8 @@ The floating-point result type, defaults to **`double`**. For possible types, se
The class template describes a distribution that produces values of a user-specified floating point type, or type **`double`** if none is provided, distributed according to the Weibull Distribution. The following table links to articles about individual members.
-||||
-|-|-|-|
-|[weibull_distribution](#weibull_distribution)|`weibull_distribution::a`|`weibull_distribution::param`|
-|`weibull_distribution::operator()`|`weibull_distribution::b`|[param_type](#param_type)|
+[weibull_distribution](#weibull_distribution)\
+[param_type](#param_type)|
The property functions `a()` and `b()` return their respective values for stored distribution parameters *a* and *b*.
diff --git a/docs/windows/adding-editing-or-deleting-controls.md b/docs/windows/adding-editing-or-deleting-controls.md
index 3a9566c861d..e94de6c485b 100644
--- a/docs/windows/adding-editing-or-deleting-controls.md
+++ b/docs/windows/adding-editing-or-deleting-controls.md
@@ -122,13 +122,31 @@ After you add a common control or rich edit control to a dialog box, it won't ap
Currently, the **Dialog Editor** doesn't automatically add code to your project when you drag and drop the following common controls or rich edit controls onto a dialog box. Nor does Visual Studio provide an error or warning when this problem occurs. To fix, add the code for the control manually.
-||||
-|-|-|-|
-|Slider Control|Tree Control|Date Time Picker|
-|Spin Control|Tab Control|Month Calendar|
-|Progress Control|Animation Control|IP Address Control|
-|Hot Key|Rich Edit Control|Extended Combo Box|
-|List Control|Rich Edit 2.0 Control|Custom Control|
+:::row:::
+ :::column span="":::
+ Animation Control\
+ Custom Control\
+ Date Time Picker\
+ Extended Combo Box
+ :::column-end:::
+ :::column span="":::
+ Hot Key\
+ IP Address Control\
+ List Control\
+ Month Calendar
+ :::column-end:::
+ :::column span="":::
+ Progress Control\
+ Rich Edit 2.0 Control\
+ Rich Edit Control\
+ Slider Control
+ :::column-end:::
+ :::column span="":::
+ Spin Control\
+ Tab Control\
+ Tree Control
+ :::column-end:::
+:::row-end:::
To use common controls on a dialog box, you need to call [InitCommonControlsEx](/windows/win32/api/commctrl/nf-commctrl-initcommoncontrolsex) or `AFXInitCommonControls` before you create the dialog box.
diff --git a/docs/windows/atl-predefined-symbols.md b/docs/windows/atl-predefined-symbols.md
index 81236929437..120d2bd22f0 100644
--- a/docs/windows/atl-predefined-symbols.md
+++ b/docs/windows/atl-predefined-symbols.md
@@ -10,7 +10,7 @@ These symbols are defined in the ATL header files, but they support standard Win
When you are working with dialogs and controls in the [Dialog Editor](dialog-editor.md), these symbols will appear in the [Properties window](/visualstudio/ide/reference/properties-window) associated with common controls. For instance, if your dialog box has a **Cancel** button, that command will be associated with the symbol IDCANCEL in the **Properties** window.
-|||
+|Name|Description|
|-|-|
|IDABORT|(control) Dialog box, Abort button|
|IDC_STATIC|(control) Static control|
diff --git a/docs/windows/attributes/aggregatable.md b/docs/windows/attributes/aggregatable.md
index 5fccde3f1af..73fcee9ccd7 100644
--- a/docs/windows/attributes/aggregatable.md
+++ b/docs/windows/attributes/aggregatable.md
@@ -60,9 +60,7 @@ class CMyClass {};
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**, **`struct`**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/aggregates.md b/docs/windows/attributes/aggregates.md
index 2aa44757c87..8db3067aa17 100644
--- a/docs/windows/attributes/aggregates.md
+++ b/docs/windows/attributes/aggregates.md
@@ -68,9 +68,7 @@ struct CObject : IObject
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**, **`struct`**|
|**Repeatable**|Yes|
diff --git a/docs/windows/attributes/appobject.md b/docs/windows/attributes/appobject.md
index 65f5efcbaf0..ee9bb6e2ddd 100644
--- a/docs/windows/attributes/appobject.md
+++ b/docs/windows/attributes/appobject.md
@@ -40,9 +40,7 @@ class A : public ICustom {
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**, **`struct`**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/async-uuid.md b/docs/windows/attributes/async-uuid.md
index 17e2ce9030e..5469da98807 100644
--- a/docs/windows/attributes/async-uuid.md
+++ b/docs/windows/attributes/async-uuid.md
@@ -40,9 +40,7 @@ __interface ICustom {
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|`interface`|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/attribute-programming-faq.md b/docs/windows/attributes/attribute-programming-faq.md
index 3026295878e..d66a09a7841 100644
--- a/docs/windows/attributes/attribute-programming-faq.md
+++ b/docs/windows/attributes/attribute-programming-faq.md
@@ -69,19 +69,49 @@ class CMyClass
However, the following attributes have single, unnamed parameters:
-||||
-|-|-|-|
-|[call_as](call-as.md)|[case](case-cpp.md)|[cpp_quote](cpp-quote.md)|
-|[default](default-cpp.md)|[defaultvalue](defaultvalue.md)|[defaultvtable](defaultvtable.md)|
-|[emitidl](emitidl.md)|[entry](entry.md)|[first_is](first-is.md)|
-|[helpcontext](helpcontext.md)|[helpfile](helpfile.md)|[helpstring](helpstring.md)|
-|[helpstringcontext](helpstringcontext.md)|[helpstringdll](helpstringdll.md)|[id](id.md)|
-|[iid_is](iid-is.md)|[import](import.md)|[importlib](importlib.md)|
-|[include](include-cpp.md)|[includelib](includelib-cpp.md)|[last_is](last-is.md)|
-|[length_is](length-is.md)|[max_is](max-is.md)|[no_injected_text](no-injected-text.md)|
-|[pointer_default](pointer-default.md)|[pragma](pragma.md)|[restricted](restricted.md)|
-|[size_is](size-is.md)|[source](source-cpp.md)|[switch_is](switch-is.md)|
-|[switch_type](switch-type.md)|[transmit_as](transmit-as.md)|[wire_marshal](wire-marshal.md)|
+:::row:::
+ :::column span="":::
+ [`call_as`](call-as.md)\
+ [`case`](case-cpp.md)\
+ [`cpp_quote`](cpp-quote.md)\
+ [`default`](default-cpp.md)\
+ [`defaultvalue`](defaultvalue.md)\
+ [`defaultvtable`](defaultvtable.md)\
+ [`emitidl`](emitidl.md)\
+ [`entry`](entry.md)\
+ [`first_is`](first-is.md)
+ :::column-end:::
+ :::column span="":::
+ [`helpcontext`](helpcontext.md)\
+ [`helpfile`](helpfile.md)\
+ [`helpstring`](helpstring.md)\
+ [`helpstringcontext`](helpstringcontext.md)\
+ [`helpstringdll`](helpstringdll.md)\
+ [`id`](id.md)\
+ [`iid_is`](iid-is.md)\
+ [`import`](import.md)
+ :::column-end:::
+ :::column span="":::
+ [`importlib`](importlib.md)\
+ [`include`](include-cpp.md)\
+ [`includelib`](includelib-cpp.md)\
+ [`last_is`](last-is.md)\
+ [`length_is`](length-is.md)\
+ [`max_is`](max-is.md)\
+ [`no_injected_text`](no-injected-text.md)\
+ [`pointer_default`](pointer-default.md)
+ :::column-end:::
+ :::column span="":::
+ [`pragma`](pragma.md)\
+ [`restricted`](restricted.md)\
+ [`size_is`](size-is.md)\
+ [`source`](source-cpp.md)\
+ [`switch_is`](switch-is.md)\
+ [`switch_type`](switch-type.md)\
+ [`transmit_as`](transmit-as.md)\
+ [`wire_marshal`](wire-marshal.md)
+ :::column-end:::
+:::row-end:::
## Can I use comments in an attribute block?
diff --git a/docs/windows/attributes/bindable.md b/docs/windows/attributes/bindable.md
index 8ce43087741..c779a409c4c 100644
--- a/docs/windows/attributes/bindable.md
+++ b/docs/windows/attributes/bindable.md
@@ -52,9 +52,7 @@ __interface IPropDemo : IDispatch {
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Interface method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/call-as.md b/docs/windows/attributes/call-as.md
index 02a284e3d2b..9a425c92682 100644
--- a/docs/windows/attributes/call-as.md
+++ b/docs/windows/attributes/call-as.md
@@ -42,9 +42,7 @@ __interface IMInterface {
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Interface method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/case-cpp.md b/docs/windows/attributes/case-cpp.md
index b78c1583930..9cad816822d 100644
--- a/docs/windows/attributes/case-cpp.md
+++ b/docs/windows/attributes/case-cpp.md
@@ -57,9 +57,7 @@ struct SizedValue2 {
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Member of a **`class`** or **`struct`**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/coclass.md b/docs/windows/attributes/coclass.md
index 1b12d3db7b1..fb5f792b1a6 100644
--- a/docs/windows/attributes/coclass.md
+++ b/docs/windows/attributes/coclass.md
@@ -119,9 +119,7 @@ public:
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**, **`struct`**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/com-interface-entry-cpp.md b/docs/windows/attributes/com-interface-entry-cpp.md
index 3c5b997d765..5cc35788cac 100644
--- a/docs/windows/attributes/com-interface-entry-cpp.md
+++ b/docs/windows/attributes/com-interface-entry-cpp.md
@@ -97,9 +97,7 @@ END_COM_MAP()
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**, **`struct`**|
|**Repeatable**|Yes|
diff --git a/docs/windows/attributes/control.md b/docs/windows/attributes/control.md
index dbe7498a0cb..3863713957e 100644
--- a/docs/windows/attributes/control.md
+++ b/docs/windows/attributes/control.md
@@ -38,9 +38,7 @@ class CTest : public ICustom {};
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**, **`struct`**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/cpp-quote.md b/docs/windows/attributes/cpp-quote.md
index 3215f0ee8e7..409c2daac0a 100644
--- a/docs/windows/attributes/cpp-quote.md
+++ b/docs/windows/attributes/cpp-quote.md
@@ -34,9 +34,7 @@ See the example for [dual](dual.md) for an example use how to use **cpp_quote**.
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Anywhere|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/db-accessor.md b/docs/windows/attributes/db-accessor.md
index 59538e82047..6f0b9eb8e2d 100644
--- a/docs/windows/attributes/db-accessor.md
+++ b/docs/windows/attributes/db-accessor.md
@@ -59,9 +59,7 @@ public:
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Attribute blocks|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/db-column.md b/docs/windows/attributes/db-column.md
index a46abb15efb..515bc799889 100644
--- a/docs/windows/attributes/db-column.md
+++ b/docs/windows/attributes/db-column.md
@@ -92,9 +92,7 @@ class CProducts {
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**, **`struct`**, member, method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/db-command.md b/docs/windows/attributes/db-command.md
index 007af5d3ca4..bf141fdb7df 100644
--- a/docs/windows/attributes/db-command.md
+++ b/docs/windows/attributes/db-command.md
@@ -230,9 +230,7 @@ int main() {
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**, **`struct`**, member, method, local|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/db-param.md b/docs/windows/attributes/db-param.md
index d9793b8ee31..51a572c6022 100644
--- a/docs/windows/attributes/db-param.md
+++ b/docs/windows/attributes/db-param.md
@@ -96,9 +96,7 @@ struct CSalesbyYear {
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**, **`struct`**, member, method, local|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/db-source.md b/docs/windows/attributes/db-source.md
index e7cf8324d86..2e391dd7663 100644
--- a/docs/windows/attributes/db-source.md
+++ b/docs/windows/attributes/db-source.md
@@ -60,9 +60,7 @@ class CMyCommand {};
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**, **`struct`**, member, method, local|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/db-table.md b/docs/windows/attributes/db-table.md
index 913e54195b8..0af7423d8cc 100644
--- a/docs/windows/attributes/db-table.md
+++ b/docs/windows/attributes/db-table.md
@@ -56,9 +56,7 @@ For an example of this attribute used in an application, see [MultiRead](https:/
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**, **`struct`**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/default-cpp.md b/docs/windows/attributes/default-cpp.md
index d0629065042..d9f243cc8ce 100644
--- a/docs/windows/attributes/default-cpp.md
+++ b/docs/windows/attributes/default-cpp.md
@@ -85,9 +85,7 @@ The [source](source-cpp.md) attribute also has an example of how to use **`defau
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**, **`struct`**, data member|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/defaultbind.md b/docs/windows/attributes/defaultbind.md
index 07356e8a597..2c6972f54f6 100644
--- a/docs/windows/attributes/defaultbind.md
+++ b/docs/windows/attributes/defaultbind.md
@@ -25,9 +25,7 @@ See the example for [bindable](bindable.md) for an example of how to use **defau
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Interface method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/defaultcollelem.md b/docs/windows/attributes/defaultcollelem.md
index d6238893416..31cdc3a6174 100644
--- a/docs/windows/attributes/defaultcollelem.md
+++ b/docs/windows/attributes/defaultcollelem.md
@@ -38,9 +38,7 @@ __interface IMyForm
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Interface method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/defaultvalue.md b/docs/windows/attributes/defaultvalue.md
index 82d3460ecf5..4f86037940e 100644
--- a/docs/windows/attributes/defaultvalue.md
+++ b/docs/windows/attributes/defaultvalue.md
@@ -48,9 +48,7 @@ __interface IFireTabCtrl : IDispatch {
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Interface parameter|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/defaultvtable.md b/docs/windows/attributes/defaultvtable.md
index 7d57063c131..51e39cccfaa 100644
--- a/docs/windows/attributes/defaultvtable.md
+++ b/docs/windows/attributes/defaultvtable.md
@@ -56,9 +56,7 @@ class CMyC3 : public IMyI3 {};
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**, **`struct`**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/dispinterface.md b/docs/windows/attributes/dispinterface.md
index a681633b445..b12b0d64f61 100644
--- a/docs/windows/attributes/dispinterface.md
+++ b/docs/windows/attributes/dispinterface.md
@@ -36,9 +36,7 @@ See the example for [bindable](bindable.md) for an example of how to use **dispi
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**interface**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/displaybind.md b/docs/windows/attributes/displaybind.md
index f48af44653f..00b61245b27 100644
--- a/docs/windows/attributes/displaybind.md
+++ b/docs/windows/attributes/displaybind.md
@@ -25,9 +25,7 @@ See the example for [bindable](bindable.md) for an example of how to use **displ
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Interface method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/dual.md b/docs/windows/attributes/dual.md
index 393388f2296..0ed0fc0b989 100644
--- a/docs/windows/attributes/dual.md
+++ b/docs/windows/attributes/dual.md
@@ -47,9 +47,7 @@ __interface IStatic : IDispatch
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**interface**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/emitidl.md b/docs/windows/attributes/emitidl.md
index d48d41f1c3c..376bbd48a04 100644
--- a/docs/windows/attributes/emitidl.md
+++ b/docs/windows/attributes/emitidl.md
@@ -46,9 +46,7 @@ Each time the compiler encounters a new file, **emitidl** is implicitly set to *
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Anywhere|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/entry.md b/docs/windows/attributes/entry.md
index ab11cb4af8b..48f5352b8bb 100644
--- a/docs/windows/attributes/entry.md
+++ b/docs/windows/attributes/entry.md
@@ -30,9 +30,7 @@ See the example for [idl_module](idl-module.md) for an example use of **entry**.
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|`idl_module` attribute|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/event-receiver.md b/docs/windows/attributes/event-receiver.md
index e971b161a45..dedd5e5ec76 100644
--- a/docs/windows/attributes/event-receiver.md
+++ b/docs/windows/attributes/event-receiver.md
@@ -51,9 +51,7 @@ The **event_receiver** C++ attribute specifies that the class or structure to wh
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**, **`struct`**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/event-source.md b/docs/windows/attributes/event-source.md
index a2e040c7bdc..8b69ca5274c 100644
--- a/docs/windows/attributes/event-source.md
+++ b/docs/windows/attributes/event-source.md
@@ -47,9 +47,7 @@ The **event_source** C++ attribute specifies that the class or structure to whic
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**, **`struct`**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/export.md b/docs/windows/attributes/export.md
index f35176a6e43..a59edbd1360 100644
--- a/docs/windows/attributes/export.md
+++ b/docs/windows/attributes/export.md
@@ -42,9 +42,7 @@ struct MyStruct {
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`union`**, **`typedef`**, **`enum`**, **`struct`**, or **`interface`**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/first-is.md b/docs/windows/attributes/first-is.md
index 6259a9692cc..e3ee7c2a44b 100644
--- a/docs/windows/attributes/first-is.md
+++ b/docs/windows/attributes/first-is.md
@@ -50,9 +50,7 @@ requestedit] HRESULT get_I([out, retval]long *i);
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Field in **`struct`** or **`union`**, interface parameter, interface method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/helpcontext.md b/docs/windows/attributes/helpcontext.md
index 548b7d499f8..8e5a5f3333e 100644
--- a/docs/windows/attributes/helpcontext.md
+++ b/docs/windows/attributes/helpcontext.md
@@ -30,9 +30,7 @@ See the example for [defaultvalue](defaultvalue.md) for an example of how to use
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**interface**, **`typedef`**, **`class`**, method, property|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/helpfile.md b/docs/windows/attributes/helpfile.md
index 42336d9a727..8b10389a733 100644
--- a/docs/windows/attributes/helpfile.md
+++ b/docs/windows/attributes/helpfile.md
@@ -30,9 +30,7 @@ See the example for [module](module-cpp.md) for an example of how to use **helpf
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**interface**, **`typedef`**, **`class`**, method, **`property`**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/helpstring.md b/docs/windows/attributes/helpstring.md
index 49a2ccd06eb..1ed3ff944b8 100644
--- a/docs/windows/attributes/helpstring.md
+++ b/docs/windows/attributes/helpstring.md
@@ -30,9 +30,7 @@ See the example for [defaultvalue](defaultvalue.md) for an example of how to use
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**interface**, **`typedef`**, **`class`**, method, property|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/helpstringcontext.md b/docs/windows/attributes/helpstringcontext.md
index dddcd64ccd4..0d4104fa858 100644
--- a/docs/windows/attributes/helpstringcontext.md
+++ b/docs/windows/attributes/helpstringcontext.md
@@ -42,9 +42,7 @@ __interface IMyI
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**, **interface**, interface method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/helpstringdll.md b/docs/windows/attributes/helpstringdll.md
index 7ad917cc524..caeaccfbc30 100644
--- a/docs/windows/attributes/helpstringdll.md
+++ b/docs/windows/attributes/helpstringdll.md
@@ -41,9 +41,7 @@ __interface IMyI
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**, **interface**, interface method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/hidden.md b/docs/windows/attributes/hidden.md
index 98e78a26c80..0cb3755f8e7 100644
--- a/docs/windows/attributes/hidden.md
+++ b/docs/windows/attributes/hidden.md
@@ -25,9 +25,7 @@ See the example for [bindable](bindable.md) for an example of how to use **hidde
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**interface**, **`class`**, **`struct`**, method, property|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/id.md b/docs/windows/attributes/id.md
index 932201ca298..b1ca0528093 100644
--- a/docs/windows/attributes/id.md
+++ b/docs/windows/attributes/id.md
@@ -30,9 +30,7 @@ See the example for [bindable](bindable.md) for an example of how to use **id**.
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Interface method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/idl-module.md b/docs/windows/attributes/idl-module.md
index ac61e413b0e..9ea9d700500 100644
--- a/docs/windows/attributes/idl-module.md
+++ b/docs/windows/attributes/idl-module.md
@@ -70,9 +70,7 @@ void FuncName(int i);
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Anywhere|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/idl-quote.md b/docs/windows/attributes/idl-quote.md
index e715faabf20..baf22ec49e4 100644
--- a/docs/windows/attributes/idl-quote.md
+++ b/docs/windows/attributes/idl-quote.md
@@ -65,9 +65,7 @@ This code causes `MYFLOT` and `MYDUB` and the *text* entry to be placed in the g
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Anywhere|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/iid-is.md b/docs/windows/attributes/iid-is.md
index 2764a27919a..89ab9cc3d75 100644
--- a/docs/windows/attributes/iid-is.md
+++ b/docs/windows/attributes/iid-is.md
@@ -45,9 +45,7 @@ __interface IFireTabCtrl : IDispatch
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Interface parameter, data member|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/immediatebind.md b/docs/windows/attributes/immediatebind.md
index 5e7522575fb..147eadd46f9 100644
--- a/docs/windows/attributes/immediatebind.md
+++ b/docs/windows/attributes/immediatebind.md
@@ -25,9 +25,7 @@ See [bindable](bindable.md) for an example of how to use **immediatebind**.
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Interface method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/implements-category.md b/docs/windows/attributes/implements-category.md
index 8d0023270c4..30bcd7bc916 100644
--- a/docs/windows/attributes/implements-category.md
+++ b/docs/windows/attributes/implements-category.md
@@ -45,9 +45,7 @@ class CMyClass {};
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**, **`struct`**|
|**Repeatable**|Yes|
diff --git a/docs/windows/attributes/implements-cpp.md b/docs/windows/attributes/implements-cpp.md
index dd1fff66db8..3c46b78ae1a 100644
--- a/docs/windows/attributes/implements-cpp.md
+++ b/docs/windows/attributes/implements-cpp.md
@@ -30,9 +30,7 @@ By default, only COM-interfaces that are base classes of the `coclass` are added
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**, **`struct`**|
|**Repeatable**|Yes|
diff --git a/docs/windows/attributes/import.md b/docs/windows/attributes/import.md
index 97f3276b480..81d9c877a75 100644
--- a/docs/windows/attributes/import.md
+++ b/docs/windows/attributes/import.md
@@ -54,9 +54,7 @@ library MyLib {
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Anywhere|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/importidl.md b/docs/windows/attributes/importidl.md
index af944ae33c0..1da21c8c4f8 100644
--- a/docs/windows/attributes/importidl.md
+++ b/docs/windows/attributes/importidl.md
@@ -37,9 +37,7 @@ You may want to use **importidl**, for example, if you want to use a hand-coded
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Anywhere|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/importlib.md b/docs/windows/attributes/importlib.md
index 71f1593f710..b93fb428b13 100644
--- a/docs/windows/attributes/importlib.md
+++ b/docs/windows/attributes/importlib.md
@@ -37,9 +37,7 @@ The following code shows an example of how to use **importlib**:
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Anywhere|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/in-cpp.md b/docs/windows/attributes/in-cpp.md
index fb322f11231..d6734a12c74 100644
--- a/docs/windows/attributes/in-cpp.md
+++ b/docs/windows/attributes/in-cpp.md
@@ -25,9 +25,7 @@ See [bindable](bindable.md) for an example of how to use **in**.
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Interface parameter, interface method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/include-cpp.md b/docs/windows/attributes/include-cpp.md
index 98f7c11b806..6b00b2e25a5 100644
--- a/docs/windows/attributes/include-cpp.md
+++ b/docs/windows/attributes/include-cpp.md
@@ -39,9 +39,7 @@ The following code shows an example of how to use **include**. For this example,
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Anywhere|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/includelib-cpp.md b/docs/windows/attributes/includelib-cpp.md
index 71c492c6373..696f6c928ae 100644
--- a/docs/windows/attributes/includelib-cpp.md
+++ b/docs/windows/attributes/includelib-cpp.md
@@ -37,9 +37,7 @@ The following code is shown in a .cpp file:
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Anywhere|
|**Repeatable**|Yes|
diff --git a/docs/windows/attributes/last-is.md b/docs/windows/attributes/last-is.md
index 52f358c6436..7342203428c 100644
--- a/docs/windows/attributes/last-is.md
+++ b/docs/windows/attributes/last-is.md
@@ -30,9 +30,7 @@ See [first_is](first-is.md) for an example of how to specify a section of an arr
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Field in **`struct`** or **`union`**, interface parameter, interface method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/lcid.md b/docs/windows/attributes/lcid.md
index a658305b96c..c443f3675bf 100644
--- a/docs/windows/attributes/lcid.md
+++ b/docs/windows/attributes/lcid.md
@@ -36,9 +36,7 @@ __interface IStatic {
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Interface parameter|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/length-is.md b/docs/windows/attributes/length-is.md
index 5d41203491d..0d2c46b6ef1 100644
--- a/docs/windows/attributes/length-is.md
+++ b/docs/windows/attributes/length-is.md
@@ -30,9 +30,7 @@ See [first_is](first-is.md) for an example of how to specify a section of an arr
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Field in **`struct`** or **`union`**, interface parameter, interface method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/library-block.md b/docs/windows/attributes/library-block.md
index e6c60b8beb1..b254cd8aeb9 100644
--- a/docs/windows/attributes/library-block.md
+++ b/docs/windows/attributes/library-block.md
@@ -36,9 +36,7 @@ __interface IMyInterface {
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Anywhere|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/licensed.md b/docs/windows/attributes/licensed.md
index 8651dd9d975..388cd397020 100644
--- a/docs/windows/attributes/licensed.md
+++ b/docs/windows/attributes/licensed.md
@@ -42,9 +42,7 @@ public:
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**, **`struct`**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/local-cpp.md b/docs/windows/attributes/local-cpp.md
index 13b4e3153e7..027da37f04e 100644
--- a/docs/windows/attributes/local-cpp.md
+++ b/docs/windows/attributes/local-cpp.md
@@ -25,9 +25,7 @@ See [call_as](call-as.md) for an example of how to use **local**.
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**interface**, interface method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/max-is.md b/docs/windows/attributes/max-is.md
index 5a4e06c9e51..eb7b6c72f70 100644
--- a/docs/windows/attributes/max-is.md
+++ b/docs/windows/attributes/max-is.md
@@ -26,9 +26,7 @@ The **max_is** C++ attribute has the same functionality as the [max_is](/windows
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Field in **`struct`** or **`union`**, interface parameter, interface method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/module-cpp.md b/docs/windows/attributes/module-cpp.md
index d0f0fefd57a..faf1bc98e6a 100644
--- a/docs/windows/attributes/module-cpp.md
+++ b/docs/windows/attributes/module-cpp.md
@@ -140,9 +140,7 @@ BOOL WINAPI DllMain(DWORD dwReason, LPVOID lpReserved) {
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Anywhere|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/ms-union.md b/docs/windows/attributes/ms-union.md
index 867fb8c53d9..8d7d14890c3 100644
--- a/docs/windows/attributes/ms-union.md
+++ b/docs/windows/attributes/ms-union.md
@@ -48,9 +48,7 @@ __interface IFireTabCtrl {
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Nonencapsulated unions|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/no-injected-text.md b/docs/windows/attributes/no-injected-text.md
index a6c72e22ac6..e65c5121b19 100644
--- a/docs/windows/attributes/no-injected-text.md
+++ b/docs/windows/attributes/no-injected-text.md
@@ -26,9 +26,7 @@ The most common use of the **no_injected_text** C++ attribute is by the [/Fx](..
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Anywhere|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/nonbrowsable.md b/docs/windows/attributes/nonbrowsable.md
index 5d88e0865a1..1c72cd91bad 100644
--- a/docs/windows/attributes/nonbrowsable.md
+++ b/docs/windows/attributes/nonbrowsable.md
@@ -37,9 +37,7 @@ __interface IMyI
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Interface method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/noncreatable.md b/docs/windows/attributes/noncreatable.md
index ccfd1aa92a6..2526cb611af 100644
--- a/docs/windows/attributes/noncreatable.md
+++ b/docs/windows/attributes/noncreatable.md
@@ -43,9 +43,7 @@ class CMyClass : public A
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**, **`struct`**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/nonextensible.md b/docs/windows/attributes/nonextensible.md
index 3257138530d..5e0fd898d44 100644
--- a/docs/windows/attributes/nonextensible.md
+++ b/docs/windows/attributes/nonextensible.md
@@ -42,9 +42,7 @@ __interface IFireTabCtrl
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**interface**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/object-cpp.md b/docs/windows/attributes/object-cpp.md
index f4853525f0b..86c3d6aea40 100644
--- a/docs/windows/attributes/object-cpp.md
+++ b/docs/windows/attributes/object-cpp.md
@@ -27,9 +27,7 @@ See [nonbrowsable](nonbrowsable.md) for an example of how to use **object**.
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**interface**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/odl.md b/docs/windows/attributes/odl.md
index c79f43ad0cb..126207c0617 100644
--- a/docs/windows/attributes/odl.md
+++ b/docs/windows/attributes/odl.md
@@ -43,9 +43,7 @@ public:
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**interface**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/oleautomation.md b/docs/windows/attributes/oleautomation.md
index 215979e4509..39b382a1604 100644
--- a/docs/windows/attributes/oleautomation.md
+++ b/docs/windows/attributes/oleautomation.md
@@ -25,9 +25,7 @@ See the examples for [defaultvalue](defaultvalue.md) and [nonextensible](nonexte
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**interface**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/optional-cpp.md b/docs/windows/attributes/optional-cpp.md
index ebfb51db387..77c6803bc02 100644
--- a/docs/windows/attributes/optional-cpp.md
+++ b/docs/windows/attributes/optional-cpp.md
@@ -38,9 +38,7 @@ __interface IFireTabCtrl : IDispatch
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Interface parameter|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/out-cpp.md b/docs/windows/attributes/out-cpp.md
index 08cfa07e8b5..31b6c9e37f9 100644
--- a/docs/windows/attributes/out-cpp.md
+++ b/docs/windows/attributes/out-cpp.md
@@ -25,9 +25,7 @@ See the example for [bindable](bindable.md) for a sample use of **out**.
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Interface parameter|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/pointer-default.md b/docs/windows/attributes/pointer-default.md
index 97fc904216f..159c71e07b2 100644
--- a/docs/windows/attributes/pointer-default.md
+++ b/docs/windows/attributes/pointer-default.md
@@ -30,9 +30,7 @@ See the example for [defaultvalue](defaultvalue.md) for a sample use of **pointe
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**interface**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/pragma.md b/docs/windows/attributes/pragma.md
index 41916df4b41..3c5229a7981 100644
--- a/docs/windows/attributes/pragma.md
+++ b/docs/windows/attributes/pragma.md
@@ -42,9 +42,7 @@ __interface A
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Anywhere|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/progid.md b/docs/windows/attributes/progid.md
index 15e6f00259d..8f7bc6fea0c 100644
--- a/docs/windows/attributes/progid.md
+++ b/docs/windows/attributes/progid.md
@@ -40,9 +40,7 @@ See the example for [coclass](coclass.md) for a sample use of `progid`.
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|`class`, `struct`|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/propget.md b/docs/windows/attributes/propget.md
index cd18382166b..da2fc3c7f7d 100644
--- a/docs/windows/attributes/propget.md
+++ b/docs/windows/attributes/propget.md
@@ -25,9 +25,7 @@ See the example for [bindable](bindable.md) for a sample use of **propget**.
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/propput.md b/docs/windows/attributes/propput.md
index 27e2b12e857..8c1a8cc9fd8 100644
--- a/docs/windows/attributes/propput.md
+++ b/docs/windows/attributes/propput.md
@@ -25,9 +25,7 @@ See the example for [bindable](bindable.md) for a sample use of **propput**.
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/propputref.md b/docs/windows/attributes/propputref.md
index b89b42e5de0..6dc3810c5de 100644
--- a/docs/windows/attributes/propputref.md
+++ b/docs/windows/attributes/propputref.md
@@ -25,9 +25,7 @@ See the example for [bindable](bindable.md) for a sample use of **propputref**.
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/ptr.md b/docs/windows/attributes/ptr.md
index 92ac40f9707..d7ca95686d5 100644
--- a/docs/windows/attributes/ptr.md
+++ b/docs/windows/attributes/ptr.md
@@ -25,9 +25,7 @@ See the example for [defaultvalue](defaultvalue.md) for a sample use of **ptr**.
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Interface parameter, interface method, **`typedef`**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/public-cpp-attributes.md b/docs/windows/attributes/public-cpp-attributes.md
index 886e4b6ce88..66948c9da0c 100644
--- a/docs/windows/attributes/public-cpp-attributes.md
+++ b/docs/windows/attributes/public-cpp-attributes.md
@@ -39,9 +39,7 @@ __interface IFireTabCtrl : IDispatch
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`typedef`**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/range-cpp.md b/docs/windows/attributes/range-cpp.md
index c8dbe8dff7f..b923da7b5ec 100644
--- a/docs/windows/attributes/range-cpp.md
+++ b/docs/windows/attributes/range-cpp.md
@@ -45,9 +45,7 @@ __interface ICustom {
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Interface method, interface parameter|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/rdx.md b/docs/windows/attributes/rdx.md
index dbfd3806222..56337cb5876 100644
--- a/docs/windows/attributes/rdx.md
+++ b/docs/windows/attributes/rdx.md
@@ -34,9 +34,7 @@ This attribute can be used in conjunction with the [coclass](coclass.md), [progi
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`** or **`struct`** member|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/readonly-cpp.md b/docs/windows/attributes/readonly-cpp.md
index 0eabeda2b47..d39fbca15b8 100644
--- a/docs/windows/attributes/readonly-cpp.md
+++ b/docs/windows/attributes/readonly-cpp.md
@@ -41,9 +41,7 @@ __interface IFireTabCtrl
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Interface method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/ref-cpp.md b/docs/windows/attributes/ref-cpp.md
index 704d8d94c84..fdc0ad45baf 100644
--- a/docs/windows/attributes/ref-cpp.md
+++ b/docs/windows/attributes/ref-cpp.md
@@ -37,9 +37,7 @@ __interface IFireTabCtrl
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`typedef`**, interface parameter, interface method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/registration-script.md b/docs/windows/attributes/registration-script.md
index 4edea95c0d1..99eeaf3743a 100644
--- a/docs/windows/attributes/registration-script.md
+++ b/docs/windows/attributes/registration-script.md
@@ -51,9 +51,7 @@ class CMyClass:public IFace {};
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**, **`struct`**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/requestedit.md b/docs/windows/attributes/requestedit.md
index 8b0ceddf379..d080109e8d8 100644
--- a/docs/windows/attributes/requestedit.md
+++ b/docs/windows/attributes/requestedit.md
@@ -25,9 +25,7 @@ See the example for [bindable](bindable.md) for a sample use of **requestedit**.
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Interface method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/requires-category.md b/docs/windows/attributes/requires-category.md
index b001c744634..243a0007912 100644
--- a/docs/windows/attributes/requires-category.md
+++ b/docs/windows/attributes/requires-category.md
@@ -47,9 +47,7 @@ class CMyClass {};
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**, **`struct`**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/restricted.md b/docs/windows/attributes/restricted.md
index e3f731dc1e4..895395c3fe5 100644
--- a/docs/windows/attributes/restricted.md
+++ b/docs/windows/attributes/restricted.md
@@ -55,9 +55,7 @@ class c : public a, public b
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Interface method, **interface**, **`class`**, **`struct`**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/retval.md b/docs/windows/attributes/retval.md
index a2b2a60f90b..92d4be95ad5 100644
--- a/docs/windows/attributes/retval.md
+++ b/docs/windows/attributes/retval.md
@@ -27,9 +27,7 @@ See the example for [bindable](bindable.md) for a sample use of **retval**.
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Interface parameter, interface method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/satype.md b/docs/windows/attributes/satype.md
index 23cfbe3eb47..6de7a6b1ffb 100644
--- a/docs/windows/attributes/satype.md
+++ b/docs/windows/attributes/satype.md
@@ -22,9 +22,7 @@ The data type for the `SAFEARRAY` data structure that is being passed as a param
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Interface parameter, interface method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/size-is.md b/docs/windows/attributes/size-is.md
index 7746beecfd6..41594570bca 100644
--- a/docs/windows/attributes/size-is.md
+++ b/docs/windows/attributes/size-is.md
@@ -30,9 +30,7 @@ See the example for [first_is](first-is.md) for a sample of how to specify a sec
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Field in **`struct`** or **`union`**, interface parameter, interface method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/source-cpp.md b/docs/windows/attributes/source-cpp.md
index d5ec818a85d..ec896f589f0 100644
--- a/docs/windows/attributes/source-cpp.md
+++ b/docs/windows/attributes/source-cpp.md
@@ -62,9 +62,7 @@ class NN : public b
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**, **`struct`**, **interface**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/string-cpp.md b/docs/windows/attributes/string-cpp.md
index eb8b83a2a57..b6a79707b3f 100644
--- a/docs/windows/attributes/string-cpp.md
+++ b/docs/windows/attributes/string-cpp.md
@@ -38,9 +38,7 @@ __interface IFireTabCtrl
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Array or pointer to an array, interface parameter, interface method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/support-error-info.md b/docs/windows/attributes/support-error-info.md
index 910827284cb..08c67dc9646 100644
--- a/docs/windows/attributes/support-error-info.md
+++ b/docs/windows/attributes/support-error-info.md
@@ -52,9 +52,7 @@ class CMyClass
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**|
|**Repeatable**|Yes|
diff --git a/docs/windows/attributes/switch-is.md b/docs/windows/attributes/switch-is.md
index ad80bcb6ccf..02e97a04306 100644
--- a/docs/windows/attributes/switch-is.md
+++ b/docs/windows/attributes/switch-is.md
@@ -25,9 +25,7 @@ See the [case](case-cpp.md) example for a sample use of **switch_is**.
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`typedef`**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/switch-type.md b/docs/windows/attributes/switch-type.md
index d1afda884a0..0e1e81b2233 100644
--- a/docs/windows/attributes/switch-type.md
+++ b/docs/windows/attributes/switch-type.md
@@ -51,9 +51,7 @@ See the [case](case-cpp.md) example for a sample use of **switch_type**.
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`typedef`**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/synchronize.md b/docs/windows/attributes/synchronize.md
index b90db9b3181..1f903041c05 100644
--- a/docs/windows/attributes/synchronize.md
+++ b/docs/windows/attributes/synchronize.md
@@ -54,9 +54,7 @@ class CMyClass {
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Class method, method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/threading-cpp.md b/docs/windows/attributes/threading-cpp.md
index 462e2d86325..866a804aacf 100644
--- a/docs/windows/attributes/threading-cpp.md
+++ b/docs/windows/attributes/threading-cpp.md
@@ -46,9 +46,7 @@ See the [licensed](licensed.md) example for a sample use of **threading**.
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**, **`struct`**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/transmit-as.md b/docs/windows/attributes/transmit-as.md
index 7ea1d6d44fd..3d04cd25836 100644
--- a/docs/windows/attributes/transmit-as.md
+++ b/docs/windows/attributes/transmit-as.md
@@ -58,9 +58,7 @@ struct _TREE_NODE_TYPE * right;
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`typedef`**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/uidefault.md b/docs/windows/attributes/uidefault.md
index 41b10c8cdc0..4caf73fbd45 100644
--- a/docs/windows/attributes/uidefault.md
+++ b/docs/windows/attributes/uidefault.md
@@ -42,9 +42,7 @@ __interface ICustom{
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Interface method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/unique-cpp.md b/docs/windows/attributes/unique-cpp.md
index d244644e231..71051f58460 100644
--- a/docs/windows/attributes/unique-cpp.md
+++ b/docs/windows/attributes/unique-cpp.md
@@ -25,9 +25,7 @@ See the [ref](ref-cpp.md) example for a sample use of **unique**.
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`typedef`**, **`struct`**, **`union`**, interface parameter, interface method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/usesgetlasterror.md b/docs/windows/attributes/usesgetlasterror.md
index a36734f33f0..2de971a3a7a 100644
--- a/docs/windows/attributes/usesgetlasterror.md
+++ b/docs/windows/attributes/usesgetlasterror.md
@@ -25,9 +25,7 @@ See the [idl_module](idl-module.md) example for a sample of how to use **usesget
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**module** attribute|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/uuid-cpp-attributes.md b/docs/windows/attributes/uuid-cpp-attributes.md
index eb30e69abb2..14bf39f44ec 100644
--- a/docs/windows/attributes/uuid-cpp-attributes.md
+++ b/docs/windows/attributes/uuid-cpp-attributes.md
@@ -36,9 +36,7 @@ See the [bindable](bindable.md) example for a sample use of `uuid`.
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|`class`, `struct`, `interface`, `union`, `enum`|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/v1-enum.md b/docs/windows/attributes/v1-enum.md
index 041f662a8c2..6d68c3c220b 100644
--- a/docs/windows/attributes/v1-enum.md
+++ b/docs/windows/attributes/v1-enum.md
@@ -36,9 +36,7 @@ enum eList {
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Enumerated type|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/vararg.md b/docs/windows/attributes/vararg.md
index d23c09c93a8..6fd03b7650b 100644
--- a/docs/windows/attributes/vararg.md
+++ b/docs/windows/attributes/vararg.md
@@ -39,9 +39,7 @@ __interface X : public IUnknown
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|Interface method|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/version-cpp.md b/docs/windows/attributes/version-cpp.md
index 7ada0f3701b..4e81c685347 100644
--- a/docs/windows/attributes/version-cpp.md
+++ b/docs/windows/attributes/version-cpp.md
@@ -30,9 +30,7 @@ See the [bindable](bindable.md) example for a sample use of **version**.
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**, **`struct`**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/vi-progid.md b/docs/windows/attributes/vi-progid.md
index 04d5d0ca4e3..fd82f6d36b0 100644
--- a/docs/windows/attributes/vi-progid.md
+++ b/docs/windows/attributes/vi-progid.md
@@ -38,9 +38,7 @@ See the [coclass](coclass.md) example for a sample use of **vi_progid**.
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`class`**, **`struct`**|
|**Repeatable**|No|
diff --git a/docs/windows/attributes/wire-marshal.md b/docs/windows/attributes/wire-marshal.md
index 0b27578d58b..7cc6dc624a5 100644
--- a/docs/windows/attributes/wire-marshal.md
+++ b/docs/windows/attributes/wire-marshal.md
@@ -41,9 +41,7 @@ The following code shows a use of **wire_marshal**:
## Requirements
-### Attribute Context
-
-|||
+| Attribute context | Value |
|-|-|
|**Applies to**|**`typedef`**|
|**Repeatable**|No|
diff --git a/docs/windows/creating-an-icon-or-other-image-image-editor-for-icons.md b/docs/windows/creating-an-icon-or-other-image-image-editor-for-icons.md
index 036d7b7a8d7..4b523bff818 100644
--- a/docs/windows/creating-an-icon-or-other-image-image-editor-for-icons.md
+++ b/docs/windows/creating-an-icon-or-other-image-image-editor-for-icons.md
@@ -47,14 +47,29 @@ The **New <Device> Image Type** dialog box enables you to create a new dev
The **Target Image Type** property lists the available image types where you select the image type you want to open:
-||||
-|-|-|-|
-|- 16 x 16, 16 colors|- 48 x 48, 16 colors|- 96 x 96, 16 colors|
-|- 16 x 16, 256 colors|- 48 x 48, 256 colors|- 96 x 96, 256 colors|
-|- 16 x 16, Monochrome|- 48 x 48, Monochrome|- 96 x 96, Monochrome|
-|- 32 x 32, 16 colors|- 64 x 64, 16 colors||
-|- 32 x 32, 256 colors|- 64 x 64, 256 colors||
-|- 32 x 32, Monochrome|- 64 x 64, Monochrome||
+:::row:::
+ :::column span="":::
+ 16 x 16, 16 colors\
+ 32 x 32, 16 colors\
+ 48 x 48, 16 colors\
+ 64 x 64, 16 colors\
+ 96 x 96, 16 colors
+ :::column-end:::
+ :::column span="":::
+ 16 x 16, 256 colors\
+ 32 x 32, 256 colors\
+ 48 x 48, 256 colors\
+ 64 x 64, 256 colors\
+ 96 x 96, 256 colors
+ :::column-end:::
+ :::column span="":::
+ 16 x 16, Monochrome\
+ 32 x 32, Monochrome\
+ 48 x 48, Monochrome\
+ 64 x 64, Monochrome\
+ 96 x 96, Monochrome
+ :::column-end:::
+:::row-end:::
> [!NOTE]
> Any existing images will not be displayed in this list.
diff --git a/docs/windows/mfc-predefined-symbols.md b/docs/windows/mfc-predefined-symbols.md
index 340ca996843..eb4d304b6b8 100644
--- a/docs/windows/mfc-predefined-symbols.md
+++ b/docs/windows/mfc-predefined-symbols.md
@@ -18,251 +18,529 @@ MFC projects always include several header files that support windows. These are
The header files include symbol ID values for MFC common values. These symbols are only available when you're working in an MFC project. The `AFX_` prefix is followed by the standard symbol name prefixes.
-|||
-|-|-|
-|AFX_ID_PREVIEW_CLOSE||
-|AFX_ID_PREVIEW_NEXT|AFX_ID_PREVIEW_NUMPAGE|
-|AFX_ID_PREVIEW_PREV|AFX_ID_PREVIEW_PRINT|
-|AFX_ID_PREVIEW_ZOOMIN|AFX_ID_PREVIEW_ZOOMOUT|
-|AFX_IDB_CHECKLISTBOX_95|AFX_IDB_MINIFRAME_MENU|
-|AFX_IDC_BROWSE|AFX_IDC_BROWSER|
-|AFX_IDC_CHANGE|AFX_IDC_CLEAR|
-|AFX_IDC_COLOR_BLACK|AFX_IDC_COLOR_BLUE|
-|AFX_IDC_COLOR_CYAN|AFX_IDC_COLOR_DARKBLUE|
-|AFX_IDC_COLOR_DARKCYAN|AFX_IDC_COLOR_DARKGREEN|
-|AFX_IDC_COLOR_DARKMAGENTA|AFX_IDC_COLOR_DARKRED|
-|AFX_IDC_COLOR_GRAY|AFX_IDC_COLOR_GREEN|
-|AFX_IDC_COLOR_LIGHTBROWN|AFX_IDC_COLOR_LIGHTGRAY|
-|AFX_IDC_COLOR_MAGENTA|AFX_IDC_COLOR_RED|
-|AFX_IDC_COLOR_WHITE|AFX_IDC_COLOR_YELLOW|
-|AFX_IDC_COLORPROP|AFX_IDC_CONTEXTHELP|
-|AFX_IDC_FONTNAMES|AFX_IDC_FONTPROP|
-|AFX_IDC_FONTSIZES|AFX_IDC_FONTSTYLES|
-|AFX_IDC_HSPLITBAR|AFX_IDC_LISTBOX|
-|AFX_IDC_MAGNIFY|AFX_IDC_MOUSE_MASK|
-|AFX_IDC_MOUSE_ORG_HORZ|AFX_IDC_MOUSE_ORG_HV|
-|AFX_IDC_MOUSE_ORG_VERT|AFX_IDC_MOUSE_PAN_E|
-|AFX_IDC_MOUSE_PAN_HORZ|AFX_IDC_MOUSE_PAN_HV|
-|AFX_IDC_MOUSE_PAN_N|AFX_IDC_MOUSE_PAN_NE|
-|AFX_IDC_MOUSE_PAN_NW|AFX_IDC_MOUSE_PAN_S|
-|AFX_IDC_MOUSE_PAN_SE|AFX_IDC_MOUSE_PAN_SW|
-|AFX_IDC_MOUSE_PAN_VERT|AFX_IDC_MOUSE_PAN_W|
-|AFX_IDC_MOVE4WAY|AFX_IDC_NODROPCRSR|
-|AFX_IDC_PICTURE|AFX_IDC_PRINT_DOCNAME|
-|AFX_IDC_PRINT_PAGENUM|AFX_IDC_PRINT_PORTNAME|
-|AFX_IDC_PRINT_PRINTERNAME|AFX_IDC_PROPNAME|
-|AFX_IDC_SAMPLEBOX|AFX_IDC_SMALLARROWS|
-|AFX_IDC_STRIKEOUT|AFX_IDC_SYSTEMCOLORS|
-|AFX_IDC_TAB_CONTROL|AFX_IDC_TRACK4WAY|
-|AFX_IDC_TRACKNESW|AFX_IDC_TRACKNS|
-|AFX_IDC_TRACKNWSE|AFX_IDC_TRACKWE|
-|AFX_IDC_UNDERLINE|AFX_IDC_VSPLITBAR|
-|AFX_IDD_BUSY|AFX_IDD_CHANGEICON|
-|AFX_IDD_CHANGESOURCE|AFX_IDD_CONVERT|
-|AFX_IDD_EDITLINKS|AFX_IDD_FILEBROWSE|
-|AFX_IDD_INSERTOBJECT|AFX_IDD_NEWTYPEDLG|
-|AFX_IDD_OBJECTPROPERTIES|AFX_IDD_PASTESPECIAL|
-|AFX_IDD_PREVIEW_TOOLBAR|AFX_IDD_PRINTDLG|
-|AFX_IDD_PROPPAGE_COLOR|AFX_IDD_PROPPAGE_FONT|
-|AFX_IDD_PROPPAGE_PICTURE|AFX_IDI_STD_FRAME|
-|AFX_IDI_STD_MDIFRAME|AFX_IDP_ARCH_BADCLASS|
-|AFX_IDP_ARCH_BADINDEX|AFX_IDP_ARCH_BADSCHEMA|
-|AFX_IDP_ARCH_ENDOFFILE|AFX_IDP_ARCH_GENERIC|
-|AFX_IDP_ARCH_NONE|AFX_IDP_ARCH_READONLY|
-|AFX_IDP_ARCH_WRITEONLY|AFX_IDP_ASK_TO_DISCARD|
-|AFX_IDP_ASK_TO_SAVE|AFX_IDP_ASK_TO_UPDATE|
-|AFX_IDP_BAD_VERB|AFX_IDP_COMMAND_FAILURE|
-|AFX_IDP_DAO_BADBINDINFO|AFX_IDP_DAO_COLUMNUNAVAILABLE|
-|AFX_IDP_DAO_DFX_BIND|AFX_IDP_DAO_ENGINE_ INITIALIZATION|
-|AFX_IDP_DAO_OBJECT_NOT_OPEN|AFX_IDP_DAO_ROWTOOSHORT|
-|AFX_IDP_DLL_BAD_VERSION|AFX_IDP_DLL_LOAD_FAILED|
-|AFX_IDP_E_BADFILEMODE|AFX_IDP_E_BADFILENAME|
-|AFX_IDP_E_ BADFILENAMEORNUMBER|AFX_IDP_E_BADRECORDLENGTH|
-|AFX_IDP_E_BADREDORDNUMBER|AFX_IDP_E_CANTSAVEFILETOEMP|
-|AFX_IDP_E_DEVICEIOERROR|AFX_IDP_E_DEVICEUNAVAILABLE|
-|AFX_IDP_E_DISKFULL|AFX_IDP_E_DISKNOTREADY|
-|AFX_IDP_E_DIVISIONBYZERO|AFX_IDP_E_FILEALREADYEXISTS|
-|AFX_IDP_E_FILEALREADYOPEN|AFX_IDP_E_FILENOTFOUND|
-|AFX_IDP_E_GETNOTSUPPORTED|AFX_IDP_E_ GETNOTSUPPORTEDATRUNTIME|
-|AFX_IDP_E_ILLEGALFUNCTIONCALL|AFX_IDP_E_ INVALIDCLIPBOARDFORMAT|
-|AFX_IDP_E_INVALIDFILEFORMAT|AFX_IDP_E_INVALIDPATTERNSTRING|
-|AFX_IDP_E_INVALIDPICTURE|AFX_IDP_E_ INVALIDPROPERTYARRAYINDEX|
-|AFX_IDP_E_INVALIDPROPERTYVALUE|AFX_IDP_E_INVALIDUSEOFNULL|
-|AFX_IDP_E_ NEEDPROPERTYARRAYINDEX|AFX_IDP_E_OUTOFMEMORY|
-|AFX_IDP_E_OUTOFSTACKSPACE|AFX_IDP_E_OVERFLOW|
-|AFX_IDP_E_PATHFILEACCESSERROR|AFX_IDP_E_PATHNOTTFOUND|
-|AFX_IDP_E_PERMISSIONDENIED|AFX_IDP_E_PRINTERERROR|
-|AFX_IDP_E_PROPERTYNOTFOUND|AFX_IDP_E_REPLACEMENTSTOOLONG|
-|AFX_IDP_E_SEARCHTEXTNOTFOUND|AFX_IDP_E_SETNOTPERMITTED|
-|AFX_IDP_E_SETNOTSUPPORTED|AFX_IDP_E_ SETNOTSUPPORTEDATRUNTIME|
-|AFX_IDP_E_TOOMANYFILES|AFX_IDP_FAILED_ACCESS_READ|
-|AFX_IDP_FAILED_ACCESS_WRITE|AFX_IDP_FAILED_DISK_FULL|
-|AFX_IDP_FAILED_INVALID_FORMAT|AFX_IDP_FAILED_INVALID_PATH|
-|AFX_IDP_FAILED_IO_ERROR_READ|AFX_IDP_FAILED_IO_ERROR_WRITE|
-|AFX_IDP_FAILED_MAPI_LOAD|AFX_IDP_FAILED_MAPI_SEND|
-|AFX_IDP_FAILED_MEMORY_ALLOC|AFX_IDP_FAILED_TO_AUTO_REGISTER|
-|AFX_IDP_FAILED_TO_CONNECT|AFX_IDP_FAILED_TO_CONVERT|
-|AFX_IDP_FAILED_TO_CREATE|AFX_IDP_FAILED_TO_CREATE_DOC|
-|AFX_IDP_FAILED_TO_LAUNCH|AFX_IDP_FAILED_TO_LAUNCH_HELP|
-|AFX_IDP_FAILED_TO_NOTIFY|AFX_IDP_FAILED_TO_OPEN_DOC|
-|AFX_IDP_FAILED_TO_REGISTER|AFX_IDP_FAILED_TO_SAVE_DOC|
-|AFX_IDP_FAILED_TO_START_PRINT|AFX_IDP_FAILED_TO_UPDATE|
-|AFX_IDP_FILE_ACCESS_DENIED|AFX_IDP_FILE_BAD_PATH|
-|AFX_IDP_FILE_BAD_SEEK|AFX_IDP_FILE_DIR_FULL|
-|AFX_IDP_FILE_DISKFULL|AFX_IDP_FILE_EOF|
-|AFX_IDP_FILE_GENERIC|AFX_IDP_FILE_HARD_IO|
-|AFX_IDP_FILE_INVALID_FILE|AFX_IDP_FILE_LOCKING|
-|AFX_IDP_FILE_NONE|AFX_IDP_FILE_NOT_FOUND|
-|AFX_IDP_FILE_REMOVE_CURRENT|AFX_IDP_FILE_SHARING|
-|AFX_IDP_FILE_TOO_LARGE|AFX_IDP_FILE_TOO_MANY_OPEN|
-|AFX_IDP_GET_NOT_SUPPORTED|AFX_IDP_INTERNAL_FAILURE|
-|AFX_IDP_INVALID_FILENAME|AFX_IDP_INVALID_MAPI_DLL|
-|AFX_IDP_NO_ERROR_AVAILABLE|AFX_IDP_PARSE_BYTE|
-|AFX_IDP_PARSE_CURRENCY|AFX_IDP_PARSE_DATE|
-|AFX_IDP_PARSE_DATETIME|AFX_IDP_PARSE_GUID|
-|AFX_IDP_PARSE_INT|AFX_IDP_PARSE_INT_RANGE|
-|AFX_IDP_PARSE_RADIO_BUTTON|AFX_IDP_PARSE_REAL|
-|AFX_IDP_PARSE_REAL_RANGE|AFX_IDP_PARSE_STRING_SIZE|
-|AFX_IDP_PARSE_TIME|AFX_IDP_PARSE_UINT|
-|AFX_IDP_PICTURECANTLOAD|AFX_IDP_PICTURECANTOPEN|
-|AFX_IDP_PICTUREREADFAILED|AFX_IDP_PICTURETOOLARGE|
-|AFX_IDP_SCRIPT_ DISPATCH_EXCEPTION|AFX_IDP_SCRIPT_ERROR|
-|AFX_IDP_SERVER_BUSY|AFX_IDP_SET_NOT_SUPPORTED|
-|AFX_IDP_STATIC_OBJECT|AFX_IDP_UNREG_DONE|
-|AFX_IDP_UNREG_FAILURE|AFX_IDR_PREVIEW_ACCEL|
-|AFX_IDS_ACTIVATE_VERB|AFX_IDS_ALL_FILES|
-|AFX_IDS_ALLFILTER|AFX_IDS_APP_TITLE|
-|AFX_IDS_APP_TITLE_EMBEDDING|AFX_IDS_AUTO|
-|AFX_IDS_AUTOSAVE_RECOVERED|AFX_IDS_AUTOSAVE_RECOVERY_ASK_1|
-|AFX_IDS_AUTOSAVE_RECOVERY_ASK_2|AFX_IDS_AUTOSAVE_RECOVERY_ASK_3|
-|AFX_IDS_AUTOSAVE_RECOVERY_ASK_4|AFX_IDS_AUTOSAVE_RECOVERY_ASK_5|
-|AFX_IDS_AUTOSAVE_RECOVERY_ASK_6|AFX_IDS_BITMAP_FORMAT|
-|AFX_IDS_BOLD|AFX_IDS_BOLDITALIC|
-|AFX_IDS_BORDERSTYLE_0|AFX_IDS_BORDERSTYLE_1|
-|AFX_IDS_CHANGE_LINK|AFX_IDS_CHECKLISTBOX_CHECK|
-|AFX_IDS_CHECKLISTBOX_MIXED|AFX_IDS_CHECKLISTBOX_ UNCHECK|
-|AFX_IDS_COLOR_ACTIVEBAR|AFX_IDS_COLOR_ACTIVEBORDER|
-|AFX_IDS_COLOR_ACTIVETEXT|AFX_IDS_COLOR_APPWORKSPACE|
-|AFX_IDS_COLOR_BTNFACE|AFX_IDS_COLOR_BTNHIGHLIGHT|
-|AFX_IDS_COLOR_BTNSHADOW|AFX_IDS_COLOR_BTNTEXT|
-|AFX_IDS_COLOR_DESKTOP|AFX_IDS_COLOR_DISABLEDTEXT|
-|AFX_IDS_COLOR_HIGHLIGHT|AFX_IDS_COLOR_HIGHTLIGHTTEXT|
-|AFX_IDS_COLOR_INACTIVEBAR|AFX_IDS_COLOR_INACTIVEBORDER|
-|AFX_IDS_COLOR_INACTIVETEXT|AFX_IDS_COLOR_MENUBAR|
-|AFX_IDS_COLOR_MENUTEXT|AFX_IDS_COLOR_PPG|
-|AFX_IDS_COLOR_PPG_CAPTION|AFX_IDS_COLOR_SCROLLBARS|
-|AFX_IDS_COLOR_WNDBACKGND|AFX_IDS_COLOR_WNDFRAME|
-|AFX_IDS_COLOR_WNDTEXT|AFX_IDS_COMPANY_NAME|
-|AFX_IDS_DELETED|AFX_IDS_DESKACCESSORY|
-|AFX_IDS_DISPLAYSTRING_COLOR|AFX_IDS_DISPLAYSTRING_FONT|
-|AFX_IDS_DISPLAYSTRING_PICTURE|AFX_IDS_EDIT_VERB|
-|AFX_IDS_EMBED_FORMAT|AFX_IDS_EXIT_MENU|
-|AFX_IDS_FONT_PPG|AFX_IDS_FONT_PPG_CAPTION|
-|AFX_IDS_FROZEN|AFX_IDS_HELPMODEMESSAGE|
-|AFX_IDS_HIDE|AFX_IDS_HTTP_AUTH_REQUIRED|
-|AFX_IDS_HTTP_BAD_REQUEST|AFX_IDS_HTTP_FORBIDDEN|
-|AFX_IDS_HTTP_NO_TEXT|AFX_IDS_HTTP_NOT_FOUND|
-|AFX_IDS_HTTP_NOT_IMPLEMENTED|AFX_IDS_HTTP_SERVER_ERROR|
-|AFX_IDS_HTTP_TITLE|AFX_IDS_IDLEMESSAGE|
-|AFX_IDS_INVALID_CURRENCY|AFX_IDS_INVALID_DATETIME|
-|AFX_IDS_INVALID_DATETIMESPAN|AFX_IDS_ITALIC|
-|AFX_IDS_LINKSOURCE_FORMAT|AFX_IDS_MANUAL|
-|AFX_IDS_MDICHILD|AFX_IDS_MEMORY_EXCEPTION|
-|AFX_IDS_METAFILE_FORMAT|AFX_IDS_MINI-FONT|
-|AFX_IDS_NOT_DOCOBJECT|AFX_IDS_NOT_SUPPORTED_ EXCEPTION|
-|AFX_IDS_OBJ_TITLE_INPLACE|AFX_IDS_OBJECT_MENUITEM|
-|AFX_IDS_OCC_SCALEUNITS_PIXELS|AFX_IDS_ONEPAGE|
-|AFX_IDS_OPENFILE|AFX_IDS_PASTELINKEDTYPE|
-|AFX_IDS_PICTURE_PPG|AFX_IDS_PICTURE_PPG_CAPTION|
-|AFX_IDS_PICTUREBROWSETITLE|AFX_IDS_PICTUREFILTER|
-|AFX_IDS_PICTYPE_BITMAP|AFX_IDS_PICTYPE_ICON|
-|AFX_IDS_PICTYPE_METAFILE|AFX_IDS_PICTYPE_NONE|
-|AFX_IDS_PICTYPE_UNKNOWN|AFX_IDS_PREVIEW_CLOSE|
-|AFX_IDS_PREVIEWPAGEDESC|AFX_IDS_PRINTCAPTION|
-|AFX_IDS_PRINTDEFAULT|AFX_IDS_PRINTDEFAULTEXT|
-|AFX_IDS_PRINTFILTER|AFX_IDS_PRINTONPORT|
-|AFX_IDS_PRINTPAGENUM|AFX_IDS_PRINTTOFILE|
-|AFX_IDS_PROPPAGE_UNKNOWN|AFX_IDS_REGULAR|
-|AFX_IDS_RESOURCE_EXCEPTION|AFX_IDS_RTF_FORMAT|
-|AFX_IDS_SAMPLETEXT|AFX_IDS_SAVE_AS_MENU|
-|AFX_IDS_SAVE_COPY_AS_MENU|AFX_IDS_SAVE_MENU|
-|AFX_IDS_SAVEFILE|AFX_IDS_SAVEFILECOPY|
-|AFX_IDS_SCCLOSE|AFX_IDS_SCMAXIMIZE|
-|AFX_IDS_SCMINIMIZE|AFX_IDS_SCMOVE|
-|AFX_IDS_SCNEXTWINDOW|AFX_IDS_SCPREVWINDOW|
-|AFX_IDS_SCRESTORE|AFX_IDS_SCSIZE|
-|AFX_IDS_SCTASKLIST|AFX_IDS_STATUS_FONT|
-|AFX_IDS_TEXT_FORMAT|AFX_IDS_TOOLTIP_FONT|
-|AFX_IDS_TWOPAGE|AFX_IDS_UNICODE_FONT|
-|AFX_IDS_UNKNOWNTYPE|AFX_IDS_UNNAMED_FILE|
-|AFX_IDS_UNTITLED|AFX_IDS_UPDATE_MENU|
-|AFX_IDS_UPDATING_ITEMS|AFX_IDS_USER_EXCEPTION|
-|AFX_IDS_VERB_EDIT|AFX_IDS_VERB_PROPERTIES|
+:::row:::
+ :::column span="":::
+ `AFX_ID_PREVIEW_CLOSE`\
+ `AFX_ID_PREVIEW_NEXT`\
+ `AFX_ID_PREVIEW_NUMPAGE`\
+ `AFX_ID_PREVIEW_PREV`\
+ `AFX_ID_PREVIEW_PRINT`\
+ `AFX_ID_PREVIEW_ZOOMIN`\
+ `AFX_ID_PREVIEW_ZOOMOUT`\
+ `AFX_IDB_CHECKLISTBOX_95`\
+ `AFX_IDB_MINIFRAME_MENU`\
+ `AFX_IDC_BROWSE`\
+ `AFX_IDC_BROWSER`\
+ `AFX_IDC_CHANGE`\
+ `AFX_IDC_CLEAR`\
+ `AFX_IDC_COLOR_BLACK`\
+ `AFX_IDC_COLOR_BLUE`\
+ `AFX_IDC_COLOR_CYAN`\
+ `AFX_IDC_COLOR_DARKBLUE`\
+ `AFX_IDC_COLOR_DARKCYAN`\
+ `AFX_IDC_COLOR_DARKGREEN`\
+ `AFX_IDC_COLOR_DARKMAGENTA`\
+ `AFX_IDC_COLOR_DARKRED`\
+ `AFX_IDC_COLOR_GRAY`\
+ `AFX_IDC_COLOR_GREEN`\
+ `AFX_IDC_COLOR_LIGHTBROWN`\
+ `AFX_IDC_COLOR_LIGHTGRAY`\
+ `AFX_IDC_COLOR_MAGENTA`\
+ `AFX_IDC_COLOR_RED`\
+ `AFX_IDC_COLOR_WHITE`\
+ `AFX_IDC_COLOR_YELLOW`\
+ `AFX_IDC_COLORPROP`\
+ `AFX_IDC_CONTEXTHELP`\
+ `AFX_IDC_FONTNAMES`\
+ `AFX_IDC_FONTPROP`\
+ `AFX_IDC_FONTSIZES`\
+ `AFX_IDC_FONTSTYLES`\
+ `AFX_IDC_HSPLITBAR`\
+ `AFX_IDC_LISTBOX`\
+ `AFX_IDC_MAGNIFY`\
+ `AFX_IDC_MOUSE_MASK`\
+ `AFX_IDC_MOUSE_ORG_HORZ`\
+ `AFX_IDC_MOUSE_ORG_HV`\
+ `AFX_IDC_MOUSE_ORG_VERT`\
+ `AFX_IDC_MOUSE_PAN_E`\
+ `AFX_IDC_MOUSE_PAN_HORZ`\
+ `AFX_IDC_MOUSE_PAN_HV`\
+ `AFX_IDC_MOUSE_PAN_N`\
+ `AFX_IDC_MOUSE_PAN_NE`\
+ `AFX_IDC_MOUSE_PAN_NW`\
+ `AFX_IDC_MOUSE_PAN_S`\
+ `AFX_IDC_MOUSE_PAN_SE`\
+ `AFX_IDC_MOUSE_PAN_SW`\
+ `AFX_IDC_MOUSE_PAN_VERT`\
+ `AFX_IDC_MOUSE_PAN_W`\
+ `AFX_IDC_MOVE4WAY`\
+ `AFX_IDC_NODROPCRSR`\
+ `AFX_IDC_PICTURE`\
+ `AFX_IDC_PRINT_DOCNAME`\
+ `AFX_IDC_PRINT_PAGENUM`\
+ `AFX_IDC_PRINT_PORTNAME`\
+ `AFX_IDC_PRINT_PRINTERNAME`\
+ `AFX_IDC_PROPNAME`\
+ `AFX_IDC_SAMPLEBOX`\
+ `AFX_IDC_SMALLARROWS`\
+ `AFX_IDC_STRIKEOUT`\
+ `AFX_IDC_SYSTEMCOLORS`\
+ `AFX_IDC_TAB_CONTROL`\
+ `AFX_IDC_TRACK4WAY`\
+ `AFX_IDC_TRACKNESW`\
+ `AFX_IDC_TRACKNS`\
+ `AFX_IDC_TRACKNWSE`\
+ `AFX_IDC_TRACKWE`\
+ `AFX_IDC_UNDERLINE`\
+ `AFX_IDC_VSPLITBAR`\
+ `AFX_IDD_BUSY`\
+ `AFX_IDD_CHANGEICON`\
+ `AFX_IDD_CHANGESOURCE`\
+ `AFX_IDD_CONVERT`\
+ `AFX_IDD_EDITLINKS`\
+ `AFX_IDD_FILEBROWSE`\
+ `AFX_IDD_INSERTOBJECT`\
+ `AFX_IDD_NEWTYPEDLG`\
+ `AFX_IDD_OBJECTPROPERTIES`\
+ `AFX_IDD_PASTESPECIAL`\
+ `AFX_IDD_PREVIEW_TOOLBAR`\
+ `AFX_IDD_PRINTDLG`\
+ `AFX_IDD_PROPPAGE_COLOR`\
+ `AFX_IDD_PROPPAGE_FONT`\
+ `AFX_IDD_PROPPAGE_PICTURE`\
+ `AFX_IDI_STD_FRAME`\
+ `AFX_IDI_STD_MDIFRAME`\
+ `AFX_IDP_ARCH_BADCLASS`\
+ `AFX_IDP_ARCH_BADINDEX`\
+ `AFX_IDP_ARCH_BADSCHEMA`\
+ `AFX_IDP_ARCH_ENDOFFILE`\
+ `AFX_IDP_ARCH_GENERIC`\
+ `AFX_IDP_ARCH_NONE`\
+ `AFX_IDP_ARCH_READONLY`\
+ `AFX_IDP_ARCH_WRITEONLY`\
+ `AFX_IDP_ASK_TO_DISCARD`\
+ `AFX_IDP_ASK_TO_SAVE`\
+ `AFX_IDP_ASK_TO_UPDATE`\
+ `AFX_IDP_BAD_VERB`\
+ `AFX_IDP_COMMAND_FAILURE`\
+ `AFX_IDP_DAO_BADBINDINFO`\
+ `AFX_IDP_DAO_COLUMNUNAVAILABLE`\
+ `AFX_IDP_DAO_DFX_BIND`\
+ `AFX_IDP_DAO_ENGINE_INITIALIZATION`\
+ `AFX_IDP_DAO_OBJECT_NOT_OPEN`\
+ `AFX_IDP_DAO_ROWTOOSHORT`\
+ `AFX_IDP_DLL_BAD_VERSION`\
+ `AFX_IDP_DLL_LOAD_FAILED`\
+ `AFX_IDP_E_BADFILEMODE`\
+ `AFX_IDP_E_BADFILENAME`\
+ `AFX_IDP_E_BADFILENAMEORNUMBER`\
+ `AFX_IDP_E_BADRECORDLENGTH`\
+ `AFX_IDP_E_BADREDORDNUMBER`\
+ `AFX_IDP_E_CANTSAVEFILETOEMP`\
+ `AFX_IDP_E_DEVICEIOERROR`\
+ `AFX_IDP_E_DEVICEUNAVAILABLE`
+ :::column-end:::
+ :::column span="":::
+ `AFX_IDP_E_DISKFULL`\
+ `AFX_IDP_E_DISKNOTREADY`\
+ `AFX_IDP_E_DIVISIONBYZERO`\
+ `AFX_IDP_E_FILEALREADYEXISTS`\
+ `AFX_IDP_E_FILEALREADYOPEN`\
+ `AFX_IDP_E_FILENOTFOUND`\
+ `AFX_IDP_E_GETNOTSUPPORTED`\
+ `AFX_IDP_E_GETNOTSUPPORTEDATRUNTIME`\
+ `AFX_IDP_E_ILLEGALFUNCTIONCALL`\
+ `AFX_IDP_E_INVALIDCLIPBOARDFORMAT`\
+ `AFX_IDP_E_INVALIDFILEFORMAT`\
+ `AFX_IDP_E_INVALIDPATTERNSTRING`\
+ `AFX_IDP_E_INVALIDPICTURE`\
+ `AFX_IDP_E_INVALIDPROPERTYARRAYINDEX`\
+ `AFX_IDP_E_INVALIDPROPERTYVALUE`\
+ `AFX_IDP_E_INVALIDUSEOFNULL`\
+ `AFX_IDP_E_NEEDPROPERTYARRAYINDEX`\
+ `AFX_IDP_E_OUTOFMEMORY`\
+ `AFX_IDP_E_OUTOFSTACKSPACE`\
+ `AFX_IDP_E_OVERFLOW`\
+ `AFX_IDP_E_PATHFILEACCESSERROR`\
+ `AFX_IDP_E_PATHNOTTFOUND`\
+ `AFX_IDP_E_PERMISSIONDENIED`\
+ `AFX_IDP_E_PRINTERERROR`\
+ `AFX_IDP_E_PROPERTYNOTFOUND`\
+ `AFX_IDP_E_REPLACEMENTSTOOLONG`\
+ `AFX_IDP_E_SEARCHTEXTNOTFOUND`\
+ `AFX_IDP_E_SETNOTPERMITTED`\
+ `AFX_IDP_E_SETNOTSUPPORTED`\
+ `AFX_IDP_E_SETNOTSUPPORTEDATRUNTIME`\
+ `AFX_IDP_E_TOOMANYFILES`\
+ `AFX_IDP_FAILED_ACCESS_READ`\
+ `AFX_IDP_FAILED_ACCESS_WRITE`\
+ `AFX_IDP_FAILED_DISK_FULL`\
+ `AFX_IDP_FAILED_INVALID_FORMAT`\
+ `AFX_IDP_FAILED_INVALID_PATH`\
+ `AFX_IDP_FAILED_IO_ERROR_READ`\
+ `AFX_IDP_FAILED_IO_ERROR_WRITE`\
+ `AFX_IDP_FAILED_MAPI_LOAD`\
+ `AFX_IDP_FAILED_MAPI_SEND`\
+ `AFX_IDP_FAILED_MEMORY_ALLOC`\
+ `AFX_IDP_FAILED_TO_AUTO_REGISTER`\
+ `AFX_IDP_FAILED_TO_CONNECT`\
+ `AFX_IDP_FAILED_TO_CONVERT`\
+ `AFX_IDP_FAILED_TO_CREATE_DOC`\
+ `AFX_IDP_FAILED_TO_CREATE`\
+ `AFX_IDP_FAILED_TO_LAUNCH_HELP`\
+ `AFX_IDP_FAILED_TO_LAUNCH`\
+ `AFX_IDP_FAILED_TO_NOTIFY`\
+ `AFX_IDP_FAILED_TO_OPEN_DOC`\
+ `AFX_IDP_FAILED_TO_REGISTER`\
+ `AFX_IDP_FAILED_TO_SAVE_DOC`\
+ `AFX_IDP_FAILED_TO_START_PRINT`\
+ `AFX_IDP_FAILED_TO_UPDATE`\
+ `AFX_IDP_FILE_ACCESS_DENIED`\
+ `AFX_IDP_FILE_BAD_PATH`\
+ `AFX_IDP_FILE_BAD_SEEK`\
+ `AFX_IDP_FILE_DIR_FULL`\
+ `AFX_IDP_FILE_DISKFULL`\
+ `AFX_IDP_FILE_EOF`\
+ `AFX_IDP_FILE_GENERIC`\
+ `AFX_IDP_FILE_HARD_IO`\
+ `AFX_IDP_FILE_INVALID_FILE`\
+ `AFX_IDP_FILE_LOCKING`\
+ `AFX_IDP_FILE_NONE`\
+ `AFX_IDP_FILE_NOT_FOUND`\
+ `AFX_IDP_FILE_REMOVE_CURRENT`\
+ `AFX_IDP_FILE_SHARING`\
+ `AFX_IDP_FILE_TOO_LARGE`\
+ `AFX_IDP_FILE_TOO_MANY_OPEN`\
+ `AFX_IDP_GET_NOT_SUPPORTED`\
+ `AFX_IDP_INTERNAL_FAILURE`\
+ `AFX_IDP_INVALID_FILENAME`\
+ `AFX_IDP_INVALID_MAPI_DLL`\
+ `AFX_IDP_NO_ERROR_AVAILABLE`\
+ `AFX_IDP_PARSE_BYTE`\
+ `AFX_IDP_PARSE_CURRENCY`\
+ `AFX_IDP_PARSE_DATE`\
+ `AFX_IDP_PARSE_DATETIME`\
+ `AFX_IDP_PARSE_GUID`\
+ `AFX_IDP_PARSE_INT_RANGE`\
+ `AFX_IDP_PARSE_INT`\
+ `AFX_IDP_PARSE_RADIO_BUTTON`\
+ `AFX_IDP_PARSE_REAL_RANGE`\
+ `AFX_IDP_PARSE_REAL`\
+ `AFX_IDP_PARSE_STRING_SIZE`\
+ `AFX_IDP_PARSE_TIME`\
+ `AFX_IDP_PARSE_UINT`\
+ `AFX_IDP_PICTURECANTLOAD`\
+ `AFX_IDP_PICTURECANTOPEN`\
+ `AFX_IDP_PICTUREREADFAILED`\
+ `AFX_IDP_PICTURETOOLARGE`\
+ `AFX_IDP_SCRIPT_DISPATCH_EXCEPTION`\
+ `AFX_IDP_SCRIPT_ERROR`\
+ `AFX_IDP_SERVER_BUSY`\
+ `AFX_IDP_SET_NOT_SUPPORTED`\
+ `AFX_IDP_STATIC_OBJECT`\
+ `AFX_IDP_UNREG_DONE`\
+ `AFX_IDP_UNREG_FAILURE`\
+ `AFX_IDR_PREVIEW_ACCEL`\
+ `AFX_IDS_ACTIVATE_VERB`\
+ `AFX_IDS_ALL_FILES`\
+ `AFX_IDS_ALLFILTER`\
+ `AFX_IDS_APP_TITLE_EMBEDDING`\
+ `AFX_IDS_APP_TITLE`\
+ `AFX_IDS_AUTO`\
+ `AFX_IDS_AUTOSAVE_RECOVERED`\
+ `AFX_IDS_AUTOSAVE_RECOVERY_ASK_1`\
+ `AFX_IDS_AUTOSAVE_RECOVERY_ASK_2`\
+ `AFX_IDS_AUTOSAVE_RECOVERY_ASK_3`\
+ `AFX_IDS_AUTOSAVE_RECOVERY_ASK_4`\
+ `AFX_IDS_AUTOSAVE_RECOVERY_ASK_5`\
+ `AFX_IDS_AUTOSAVE_RECOVERY_ASK_6`\
+ `AFX_IDS_BITMAP_FORMAT`\
+ `AFX_IDS_BOLD`\
+ `AFX_IDS_BOLDITALIC`\
+ `AFX_IDS_BORDERSTYLE_0`\
+ `AFX_IDS_BORDERSTYLE_1`
+ :::column-end:::
+ :::column span="":::
+ `AFX_IDS_CHANGE_LINK`\
+ `AFX_IDS_CHECKLISTBOX_CHECK`\
+ `AFX_IDS_CHECKLISTBOX_MIXED`\
+ `AFX_IDS_CHECKLISTBOX_UNCHECK`\
+ `AFX_IDS_COLOR_ACTIVEBAR`\
+ `AFX_IDS_COLOR_ACTIVEBORDER`\
+ `AFX_IDS_COLOR_ACTIVETEXT`\
+ `AFX_IDS_COLOR_APPWORKSPACE`\
+ `AFX_IDS_COLOR_BTNFACE`\
+ `AFX_IDS_COLOR_BTNHIGHLIGHT`\
+ `AFX_IDS_COLOR_BTNSHADOW`\
+ `AFX_IDS_COLOR_BTNTEXT`\
+ `AFX_IDS_COLOR_DESKTOP`\
+ `AFX_IDS_COLOR_DISABLEDTEXT`\
+ `AFX_IDS_COLOR_HIGHLIGHT`\
+ `AFX_IDS_COLOR_HIGHTLIGHTTEXT`\
+ `AFX_IDS_COLOR_INACTIVEBAR`\
+ `AFX_IDS_COLOR_INACTIVEBORDER`\
+ `AFX_IDS_COLOR_INACTIVETEXT`\
+ `AFX_IDS_COLOR_MENUBAR`\
+ `AFX_IDS_COLOR_MENUTEXT`\
+ `AFX_IDS_COLOR_PPG_CAPTION`\
+ `AFX_IDS_COLOR_PPG`\
+ `AFX_IDS_COLOR_SCROLLBARS`\
+ `AFX_IDS_COLOR_WNDBACKGND`\
+ `AFX_IDS_COLOR_WNDFRAME`\
+ `AFX_IDS_COLOR_WNDTEXT`\
+ `AFX_IDS_COMPANY_NAME`\
+ `AFX_IDS_DELETED`\
+ `AFX_IDS_DESKACCESSORY`\
+ `AFX_IDS_DISPLAYSTRING_COLOR`\
+ `AFX_IDS_DISPLAYSTRING_FONT`\
+ `AFX_IDS_DISPLAYSTRING_PICTURE`\
+ `AFX_IDS_EDIT_VERB`\
+ `AFX_IDS_EMBED_FORMAT`\
+ `AFX_IDS_EXIT_MENU`\
+ `AFX_IDS_FONT_PPG_CAPTION`\
+ `AFX_IDS_FONT_PPG`\
+ `AFX_IDS_FROZEN`\
+ `AFX_IDS_HELPMODEMESSAGE`\
+ `AFX_IDS_HIDE`\
+ `AFX_IDS_HTTP_AUTH_REQUIRED`\
+ `AFX_IDS_HTTP_BAD_REQUEST`\
+ `AFX_IDS_HTTP_FORBIDDEN`\
+ `AFX_IDS_HTTP_NO_TEXT`\
+ `AFX_IDS_HTTP_NOT_FOUND`\
+ `AFX_IDS_HTTP_NOT_IMPLEMENTED`\
+ `AFX_IDS_HTTP_SERVER_ERROR`\
+ `AFX_IDS_HTTP_TITLE`\
+ `AFX_IDS_IDLEMESSAGE`\
+ `AFX_IDS_INVALID_CURRENCY`\
+ `AFX_IDS_INVALID_DATETIME`\
+ `AFX_IDS_INVALID_DATETIMESPAN`\
+ `AFX_IDS_ITALIC`\
+ `AFX_IDS_LINKSOURCE_FORMAT`\
+ `AFX_IDS_MANUAL`\
+ `AFX_IDS_MDICHILD`\
+ `AFX_IDS_MEMORY_EXCEPTION`\
+ `AFX_IDS_METAFILE_FORMAT`\
+ `AFX_IDS_MINI_FONT`\
+ `AFX_IDS_NOT_DOCOBJECT`\
+ `AFX_IDS_NOT_SUPPORTED_EXCEPTION`\
+ `AFX_IDS_OBJ_TITLE_INPLACE`\
+ `AFX_IDS_OBJECT_MENUITEM`\
+ `AFX_IDS_OCC_SCALEUNITS_PIXELS`\
+ `AFX_IDS_ONEPAGE`\
+ `AFX_IDS_OPENFILE`\
+ `AFX_IDS_PASTELINKEDTYPE`\
+ `AFX_IDS_PICTURE_PPG_CAPTION`\
+ `AFX_IDS_PICTURE_PPG`\
+ `AFX_IDS_PICTUREBROWSETITLE`\
+ `AFX_IDS_PICTUREFILTER`\
+ `AFX_IDS_PICTYPE_BITMAP`\
+ `AFX_IDS_PICTYPE_ICON`\
+ `AFX_IDS_PICTYPE_METAFILE`\
+ `AFX_IDS_PICTYPE_NONE`\
+ `AFX_IDS_PICTYPE_UNKNOWN`\
+ `AFX_IDS_PREVIEW_CLOSE`\
+ `AFX_IDS_PREVIEWPAGEDESC`\
+ `AFX_IDS_PRINTCAPTION`\
+ `AFX_IDS_PRINTDEFAULT`\
+ `AFX_IDS_PRINTDEFAULTEXT`\
+ `AFX_IDS_PRINTFILTER`\
+ `AFX_IDS_PRINTONPORT`\
+ `AFX_IDS_PRINTPAGENUM`\
+ `AFX_IDS_PRINTTOFILE`\
+ `AFX_IDS_PROPPAGE_UNKNOWN`\
+ `AFX_IDS_REGULAR`\
+ `AFX_IDS_RESOURCE_EXCEPTION`\
+ `AFX_IDS_RTF_FORMAT`\
+ `AFX_IDS_SAMPLETEXT`\
+ `AFX_IDS_SAVE_AS_MENU`\
+ `AFX_IDS_SAVE_COPY_AS_MENU`\
+ `AFX_IDS_SAVE_MENU`\
+ `AFX_IDS_SAVEFILE`\
+ `AFX_IDS_SAVEFILECOPY`\
+ `AFX_IDS_SCCLOSE`\
+ `AFX_IDS_SCMAXIMIZE`\
+ `AFX_IDS_SCMINIMIZE`\
+ `AFX_IDS_SCMOVE`\
+ `AFX_IDS_SCNEXTWINDOW`\
+ `AFX_IDS_SCPREVWINDOW`\
+ `AFX_IDS_SCRESTORE`\
+ `AFX_IDS_SCSIZE`\
+ `AFX_IDS_SCTASKLIST`\
+ `AFX_IDS_STATUS_FONT`\
+ `AFX_IDS_TEXT_FORMAT`\
+ `AFX_IDS_TOOLTIP_FONT`\
+ `AFX_IDS_TWOPAGE`\
+ `AFX_IDS_UNICODE_FONT`\
+ `AFX_IDS_UNKNOWNTYPE`\
+ `AFX_IDS_UNNAMED_FILE`\
+ `AFX_IDS_UNTITLED`\
+ `AFX_IDS_UPDATE_MENU`\
+ `AFX_IDS_UPDATING_ITEMS`\
+ `AFX_IDS_USER_EXCEPTION`\
+ `AFX_IDS_VERB_EDIT`\
+ `AFX_IDS_VERB_PROPERTIES`
+ :::column-end:::
+:::row-end:::
## MFC Database Programming
The symbols in this table only appear in an MFC project when database support has been added. They support the MFC connection to SQL servers and database programming.
-|||
-|-|-|
-|AFX_IDP_SQL_API_CONFORMANCE|AFX_IDP_SQL_BOOKMARKS_ NOT_ENABLED|
-|AFX_IDP_SQL_BOOKMARKS_ NOT_SUPPORTED|AFX_IDP_SQL_CONNECT_FAIL|
-|AFX_IDP_SQL_DATA_TRUNCATED|AFX_IDP_SQL_DYNAMIC_CURSOR_ NOT_SUPPORTED|
-|AFX_IDP_SQL_DYNASET_ NOT_SUPPORTED|AFX_IDP_SQL_EMPTY_COLUMN_LIST|
-|AFX_IDP_SQL_FIELD_NOT_FOUND|AFX_IDP_SQL_FILED_SCHEMA_ MISMATCH|
-|AFX_IDP_SQL_ILLEGAL_MODE|AFX_IDP_SQL_INCORRECT_ODBC|
-|AFX_IDP_SQL_LOCK_MODE_ NOT_SUPPORTED|AFX_IDP_SQL_MULTIPLE_ ROWS_AFFECTED|
-|AFX_IDP_SQL_NO_CURRENT_RECORD|AFX_IDP_SQL_NO_DATA_FOUND|
-|AFX_IDP_SQL_NO_POSITIONED_ UPDATES|AFX_IDP_SQL_NO_ROWS_AFFECTED|
-|AFX_IDP_SQL_ODBC_LOAD_FAILED|AFX_IDP_SQL_ODBC_V2_REQUIRED|
-|AFX_IDP_SQL_RECORDSET_ FORWARD_ONLY|AFX_IDP_SQL_RECORDSET_READONLY|
-|AFX_IDP_SQL_ROW_FETCH|AFX_IDP_SQL_ROW_UPDATE_ NOT_SUPPORTED|
-|AFX_IDP_SQL_SNAPSHOT_ NOT_SUPPORTED|AFX_IDP_SQL_SQL_CONFORMANCE|
-|AFX_IDP_SQL_SQL_NO_TOTAL|AFX_IDP_SQL_UPDATE_DELETE_FAILED|
+:::row:::
+ :::column span="":::
+ `AFX_IDP_SQL_API_CONFORMANCE`\
+ `AFX_IDP_SQL_BOOKMARKS_NOT_ENABLED`\
+ `AFX_IDP_SQL_BOOKMARKS_NOT_SUPPORTED`\
+ `AFX_IDP_SQL_CONNECT_FAIL`\
+ `AFX_IDP_SQL_DATA_TRUNCATED`\
+ `AFX_IDP_SQL_DYNAMIC_CURSOR_NOT_SUPPORTED`\
+ `AFX_IDP_SQL_DYNASET_NOT_SUPPORTED`\
+ `AFX_IDP_SQL_EMPTY_COLUMN_LIST`\
+ `AFX_IDP_SQL_FIELD_NOT_FOUND`\
+ `AFX_IDP_SQL_FILED_SCHEMA_MISMATCH`
+ :::column-end:::
+ :::column span="":::
+ `AFX_IDP_SQL_ILLEGAL_MODE`\
+ `AFX_IDP_SQL_INCORRECT_ODBC`\
+ `AFX_IDP_SQL_LOCK_MODE_NOT_SUPPORTED`\
+ `AFX_IDP_SQL_MULTIPLE_ROWS_AFFECTED`\
+ `AFX_IDP_SQL_NO_CURRENT_RECORD`\
+ `AFX_IDP_SQL_NO_DATA_FOUND`\
+ `AFX_IDP_SQL_NO_POSITIONED_UPDATES`\
+ `AFX_IDP_SQL_NO_ROWS_AFFECTED`\
+ `AFX_IDP_SQL_ODBC_LOAD_FAILED`
+ :::column-end:::
+ :::column span="":::
+ `AFX_IDP_SQL_ODBC_V2_REQUIRED`\
+ `AFX_IDP_SQL_RECORDSET_FORWARD_ONLY`\
+ `AFX_IDP_SQL_RECORDSET_READONLY`\
+ `AFX_IDP_SQL_ROW_FETCH`\
+ `AFX_IDP_SQL_ROW_UPDATE_NOT_SUPPORTED`\
+ `AFX_IDP_SQL_SNAPSHOT_NOT_SUPPORTED`\
+ `AFX_IDP_SQL_SQL_CONFORMANCE`\
+ `AFX_IDP_SQL_SQL_NO_TOTAL`\
+ `AFX_IDP_SQL_UPDATE_DELETE_FAILED`
+ :::column-end:::
+:::row-end:::
## MFC Windows Programming
These symbols are also part of the MFC support files, but they support standard Windows application functions and actions. These symbols are used with menus.
-When you're working with menus in the **Menu Editor**, these symbols will appear in the **Property** window associated with common menu commands. For instance, if your application has a **File** menu with an **Exit** command, that command will be associated with the symbol ID_APP_EXIT in the [Properties window](/visualstudio/ide/reference/properties-window).
+When you're working with menus in the **Menu Editor**, these symbols will appear in the **Property** window associated with common menu commands. For instance, if your application has a **File** menu with an **Exit** command, that command will be associated with the symbol `ID_APP_EXIT` in the [Properties window](/visualstudio/ide/reference/properties-window).
-||||
-|-|-|-|
-|ID_APP_ABOUT|ID_APP_EXIT|ID_APPLY_NOW|
-|ID_CONTEXT_HELP|ID_DEFAULT_HELP|ID_EDIT_CLEAR|
-|ID_EDIT_CLEAR_ALL|ID_EDIT_COPY|ID_EDIT_CUT|
-|ID_EDIT_FIND|ID_EDIT_PASTE|ID_EDIT_PASTE_LINK|
-|ID_EDIT_PASTE_SPECIAL|ID_EDIT_REDO|ID_EDIT_REPEAT|
-|ID_EDIT_REPLACE|ID_EDIT_SELECT_ALL|ID_EDIT_UNDO|
-|ID_FILE_CLOSE|ID_FILE_MRU_FILE1|ID_FILE_MRU_FILE10|
-|ID_FILE_MRU_FILE11|ID_FILE_MRU_FILE12|ID_FILE_MRU_FILE13|
-|ID_FILE_MRU_FILE14|ID_FILE_MRU_FILE15|ID_FILE_MRU_FILE16|
-|ID_FILE_MRU_FILE2|ID_FILE_MRU_FILE3|ID_FILE_MRU_FILE4|
-|ID_FILE_MRU_FILE5|ID_FILE_MRU_FILE6|ID_FILE_MRU_FILE7|
-|ID_FILE_MRU_FILE8|ID_FILE_MRU_FILE9|ID_FILE_MRU_FIRST|
-|ID_FILE_MRU_LAST|ID_FILE_NEW|ID_FILE_NEW_FRAME|
-|ID_FILE_OPEN|ID_FILE_PAGE_SETUP|ID_FILE_PRINT|
-|ID_FILE_PRINT_DIRECT|ID_FILE_PRINT_PREVIEW|ID_FILE_PRINT_SETUP|
-|ID_FILE_SAVE|ID_FILE_SAVE_AS|ID_FILE_SAVE_COPY_AS|
-|ID_FILE_SEND_MAIL|ID_FILE_UPDATE|ID_FORMAT_FONT|
-|ID_HELP|ID_HELP_FINDER|ID_HELP_INDEX|
-|ID_HELP+USING|ID_INDICATOR_CAPS|ID_INDICATOR_EXT|
-|ID_INDICATOR_KANA|ID_INDICATOR_NUM|ID_INDICATOR_OVR|
-|ID_INDICATOR_REC|ID_INDICATOR_SCRL|ID_NEXT_PANE|
-|ID_OLE_EDIT_CHANGE_ICON|ID_OLE_EDIT_CONVERT|ID_OLE_EDIT_LINKS|
-|ID_OLE_EDIT_PROPERTIES|ID_OLE_INSERT_NEW|ID_OLE_VERB_FIRST|
-|ID_PREV_PANE|ID_REC_FIRST|ID_RECORD_LAST|
-|ID_RECORD_NEXT|ID_RECORD_PREV|ID_SEPARATOR|
-|ID_VIEW_AUTOARRANGE|ID_VIEW_BYNAME|ID_VIEW_DETAILS|
-|ID_VIEW_LARGEICON|ID_VIEW_LINEUP|ID_VIEW_LIST|
-|ID_VIEW_REBAR|ID_VIEW_SMALLICON|ID_VIEW_STATUS_BAR|
-|ID_VIEW_TOOLBAR|ID_WINDOW_ARRANGE|ID_WINDOW_CASCADE|
-|ID_WINDOW_NEW|ID_WINDOW_SPLIT|ID_WINDOW_TILE_HORIZ|
-|ID_WINDOW_TILE_VERT|ID_WIZBACK|ID_WIZFINISH|
-|ID_WIZNEXT|IDABORT|IDC_STATIC|
-|IDCANCEL|IDD_ABOUTBOX|IDIGNORE|
-|IDNO|IDOK|IDP_OLE_INIT_FAILED|
-|IDRETRY|IDYES||
+:::row:::
+ :::column span="":::
+ `ID_APP_ABOUT`\
+ `ID_APP_EXIT`\
+ `ID_APPLY_NOW`\
+ `ID_CONTEXT_HELP`\
+ `ID_DEFAULT_HELP`\
+ `ID_EDIT_CLEAR_ALL`\
+ `ID_EDIT_CLEAR`\
+ `ID_EDIT_COPY`\
+ `ID_EDIT_CUT`\
+ `ID_EDIT_FIND`\
+ `ID_EDIT_PASTE_LINK`\
+ `ID_EDIT_PASTE_SPECIAL`\
+ `ID_EDIT_PASTE`\
+ `ID_EDIT_REDO`\
+ `ID_EDIT_REPEAT`\
+ `ID_EDIT_REPLACE`\
+ `ID_EDIT_SELECT_ALL`\
+ `ID_EDIT_UNDO`\
+ `ID_FILE_CLOSE`\
+ `ID_FILE_MRU_FILE1`\
+ `ID_FILE_MRU_FILE10`\
+ `ID_FILE_MRU_FILE11`\
+ `ID_FILE_MRU_FILE12`\
+ `ID_FILE_MRU_FILE13`\
+ `ID_FILE_MRU_FILE14`\
+ `ID_FILE_MRU_FILE15`\
+ `ID_FILE_MRU_FILE16`\
+ `ID_FILE_MRU_FILE2`\
+ `ID_FILE_MRU_FILE3`\
+ `ID_FILE_MRU_FILE4`\
+ `ID_FILE_MRU_FILE5`\
+ `ID_FILE_MRU_FILE6`\
+ `ID_FILE_MRU_FILE7`\
+ `ID_FILE_MRU_FILE8`\
+ `ID_FILE_MRU_FILE9`
+ :::column-end:::
+ :::column span="":::
+ `ID_FILE_MRU_FIRST`\
+ `ID_FILE_MRU_LAST`\
+ `ID_FILE_NEW_FRAME`\
+ `ID_FILE_NEW`\
+ `ID_FILE_OPEN`\
+ `ID_FILE_PAGE_SETUP`\
+ `ID_FILE_PRINT_DIRECT`\
+ `ID_FILE_PRINT_PREVIEW`\
+ `ID_FILE_PRINT_SETUP`\
+ `ID_FILE_PRINT`\
+ `ID_FILE_SAVE_AS`\
+ `ID_FILE_SAVE_COPY_AS`\
+ `ID_FILE_SAVE`\
+ `ID_FILE_SEND_MAIL`\
+ `ID_FILE_UPDATE`\
+ `ID_FORMAT_FONT`\
+ `ID_HELP_FINDER`\
+ `ID_HELP_INDEX`\
+ `ID_HELP_USING`\
+ `ID_HELP`\
+ `ID_INDICATOR_CAPS`\
+ `ID_INDICATOR_EXT`\
+ `ID_INDICATOR_KANA`\
+ `ID_INDICATOR_NUM`\
+ `ID_INDICATOR_OVR`\
+ `ID_INDICATOR_REC`\
+ `ID_INDICATOR_SCRL`\
+ `ID_NEXT_PANE`\
+ `ID_OLE_EDIT_CHANGE_ICON`\
+ `ID_OLE_EDIT_CONVERT`\
+ `ID_OLE_EDIT_LINKS`\
+ `ID_OLE_EDIT_PROPERTIES`\
+ `ID_OLE_INSERT_NEW`\
+ `ID_OLE_VERB_FIRST`\
+ `ID_PREV_PANE`
+ :::column-end:::
+ :::column span="":::
+ `ID_REC_FIRST`\
+ `ID_RECORD_LAST`\
+ `ID_RECORD_NEXT`\
+ `ID_RECORD_PREV`\
+ `ID_SEPARATOR`\
+ `ID_VIEW_AUTOARRANGE`\
+ `ID_VIEW_BYNAME`\
+ `ID_VIEW_DETAILS`\
+ `ID_VIEW_LARGEICON`\
+ `ID_VIEW_LINEUP`\
+ `ID_VIEW_LIST`\
+ `ID_VIEW_REBAR`\
+ `ID_VIEW_SMALLICON`\
+ `ID_VIEW_STATUS_BAR`\
+ `ID_VIEW_TOOLBAR`\
+ `ID_WINDOW_ARRANGE`\
+ `ID_WINDOW_CASCADE`\
+ `ID_WINDOW_NEW`\
+ `ID_WINDOW_SPLIT`\
+ `ID_WINDOW_TILE_HORIZ`\
+ `ID_WINDOW_TILE_VERT`\
+ `ID_WIZBACK`\
+ `ID_WIZFINISH`\
+ `ID_WIZNEXT`\
+ `IDABORT`\
+ `IDC_STATIC`\
+ `IDCANCEL`\
+ `IDD_ABOUTBOX`\
+ `IDIGNORE`\
+ `IDNO`\
+ `IDOK`\
+ `IDP_OLE_INIT_FAILED`\
+ `IDRETRY`\
+ `IDYES`
+ :::column-end:::
+:::row-end:::
## Requirements
diff --git a/docs/windows/win32-predefined-symbols.md b/docs/windows/win32-predefined-symbols.md
index 8ddba6e2040..1bd89bb5f4f 100644
--- a/docs/windows/win32-predefined-symbols.md
+++ b/docs/windows/win32-predefined-symbols.md
@@ -8,7 +8,7 @@ ms.assetid: 45c8e193-ee2a-4024-bfc2-34d1ec9c9239
These symbols are defined in the Win32 header files and they support standard Windows application functions and actions. These symbols are mainly used with common UI elements. When you are working with controls in the resource editors, these symbols will appear in the [Properties window](/visualstudio/ide/reference/properties-window) associated with common controls. For instance, if your toolbar should display the application icon, the icon will be associated with the symbol IDI_SMALL in the **Property** window.
-|||
+|Name|Description|
|-|-|
|IDABORT|(control) Dialog box, Abort button|
|IDC_STATIC|(control) Static text in a dialog box|