You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit bcf808c
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: docs/build-insights/reference/sdk/functions/make-dynamic-analyzer-group.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,12 +32,12 @@ A vector of [IAnalyzer](../other-types/ianalyzer-class.md) pointers included in
32
32
33
33
### Return Value
34
34
35
-
A dynamic analyzer group. Use the **auto** keyword to capture the return value.
35
+
A dynamic analyzer group. Use the **`auto`** keyword to capture the return value.
36
36
37
37
## Remarks
38
38
39
-
Unlike static analyzer groups, the members of a dynamic analyzer group don't need to be known at compile time. You can choose analyzer group members at runtime based on program input, or based on other values that are unknown at compile time. Unlike static analyzer groups, [IAnalyzer](../other-types/ianalyzer-class.md) pointers within a dynamic analyzer group have polymorphic behavior, and virtual function calls are dispatched correctly. This flexibility comes at the cost of a possibly slower event processing time. When all analyzer group members are known at compile time, and if you don't need polymorphic behavior, consider using a static analyzer group. To use a static analyzer group, call [MakeStaticAnalyzerGroup](make-static-analyzer-group.md) instead.
39
+
Unlike static analyzer groups, the members of a dynamic analyzer group don't need to be known at compile time. You can choose analyzer group members at runtime based on program input, or based on other values that are unknown at compile time. Unlike static analyzer groups, [`IAnalyzer`](../other-types/ianalyzer-class.md) pointers within a dynamic analyzer group have polymorphic behavior, and virtual function calls are dispatched correctly. This flexibility comes at the cost of a possibly slower event processing time. When all analyzer group members are known at compile time, and if you don't need polymorphic behavior, consider using a static analyzer group. To use a static analyzer group, call [`MakeStaticAnalyzerGroup`](make-static-analyzer-group.md) instead.
40
40
41
-
A dynamic analyzer group can be encapsulated inside a static analyzer group. It's done by passing its address to [MakeStaticAnalyzerGroup](make-static-analyzer-group.md). Use this technique for passing dynamic analyzer groups to functions such as [Analyze](analyze.md), which only accept static analyzer groups.
41
+
A dynamic analyzer group can be encapsulated inside a static analyzer group. It's done by passing its address to [`MakeStaticAnalyzerGroup`](make-static-analyzer-group.md). Use this technique for passing dynamic analyzer groups to functions such as [`Analyze`](analyze.md), which only accept static analyzer groups.
Copy file name to clipboardExpand all lines: docs/build-insights/reference/sdk/functions/make-dynamic-relogger-group.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,12 +32,12 @@ A vector of [IRelogger](../other-types/irelogger-class.md) pointers included in
32
32
33
33
### Return Value
34
34
35
-
A dynamic relogger group. Use the **auto** keyword to capture the return value.
35
+
A dynamic relogger group. Use the **`auto`** keyword to capture the return value.
36
36
37
37
## Remarks
38
38
39
-
Unlike static relogger groups, the members of a dynamic relogger group don't need to be known at compile time. You can choose relogger group members at runtime based on program input, or based on other values that are unknown at compile time. Unlike static relogger groups, [IRelogger](../other-types/irelogger-class.md) pointers within a dynamic relogger group have polymorphic behavior, and virtual function calls are dispatched correctly. This flexibility comes at the cost of a possibly slower event processing time. When all relogger group members are known at compile time, and if you don't need polymorphic behavior, consider using a static relogger group. To use a static relogger group, call [MakeStaticReloggerGroup](make-static-relogger-group.md) instead.
39
+
Unlike static relogger groups, the members of a dynamic relogger group don't need to be known at compile time. You can choose relogger group members at runtime based on program input, or based on other values that are unknown at compile time. Unlike static relogger groups, [`IRelogger`](../other-types/irelogger-class.md) pointers within a dynamic relogger group have polymorphic behavior, and virtual function calls are dispatched correctly. This flexibility comes at the cost of a possibly slower event processing time. When all relogger group members are known at compile time, and if you don't need polymorphic behavior, consider using a static relogger group. To use a static relogger group, call [`MakeStaticReloggerGroup`](make-static-relogger-group.md) instead.
40
40
41
-
A dynamic relogger group can be encapsulated inside a static relogger group. You pass its address to [MakeStaticReloggerGroup](make-static-relogger-group.md). Use this technique for passing dynamic relogger groups to functions such as [Relog](relog.md), which only accept static relogger groups.
41
+
A dynamic relogger group can be encapsulated inside a static relogger group. You pass its address to [`MakeStaticReloggerGroup`](make-static-relogger-group.md). Use this technique for passing dynamic relogger groups to functions such as [`Relog`](relog.md), which only accept static relogger groups.
Copy file name to clipboardExpand all lines: docs/build-insights/reference/sdk/functions/make-static-analyzer-group.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,7 @@ The C++ Build Insights SDK is compatible with Visual Studio 2017 and above. To s
13
13
::: moniker-end
14
14
::: moniker range=">=vs-2017"
15
15
16
-
The `MakeStaticAnalyzerGroup` function is used to create a static analyzer group that can be passed to functions such as [Analyze](analyze.md) or [Relog](relog.md). Members of an analyzer group receive events one by one from left to right, until all events in a trace get analyzed.
16
+
The `MakeStaticAnalyzerGroup` function is used to create a static analyzer group that can be passed to functions such as [`Analyze`](analyze.md) or [`Relog`](relog.md). Members of an analyzer group receive events one by one from left to right, until all events in a trace get analyzed.
17
17
18
18
## Syntax
19
19
@@ -28,14 +28,14 @@ auto MakeStaticAnalyzerGroup(TAnalyzerPtrs... analyzers);
28
28
This parameter is always deduced.
29
29
30
30
*analyzers*\
31
-
A parameter pack of [IAnalyzer](../other-types/ianalyzer-class.md) pointers included in the static analyzer group. These pointers can be raw, `std::unique_ptr`, or `std::shared_ptr`.
31
+
A parameter pack of [`IAnalyzer`](../other-types/ianalyzer-class.md) pointers included in the static analyzer group. These pointers can be raw, `std::unique_ptr`, or `std::shared_ptr`.
32
32
33
33
### Return Value
34
34
35
-
A static analyzer group. Use the **auto** keyword to capture the return value.
35
+
A static analyzer group. Use the **`auto`** keyword to capture the return value.
36
36
37
37
## Remarks
38
38
39
-
Unlike dynamic analyzer groups, the members of a static analyzer group must be known at compile time. Additionally, a static analyzer group contains [IAnalyzer](../other-types/ianalyzer-class.md) pointers that don't have polymorphic behavior. When using a static analyzer group to analyze an Event Tracing for Windows (ETW) trace, calls to the `IAnalyzer` interface always resolve to the object directly pointed to by the analyzer group member. This loss of flexibility comes with a possibility of faster event processing times. If the members of an analyzer group can't be known at compile time, or if you require polymorphic behavior on your `IAnalyzer` pointers, consider using a dynamic analyzer group. To use a dynamic analyzer group, call [MakeDynamicAnalyzerGroup](make-static-analyzer-group.md) instead.
39
+
Unlike dynamic analyzer groups, the members of a static analyzer group must be known at compile time. Additionally, a static analyzer group contains [`IAnalyzer`](../other-types/ianalyzer-class.md) pointers that don't have polymorphic behavior. When using a static analyzer group to analyze an Event Tracing for Windows (ETW) trace, calls to the `IAnalyzer` interface always resolve to the object directly pointed to by the analyzer group member. This loss of flexibility comes with a possibility of faster event processing times. If the members of an analyzer group can't be known at compile time, or if you require polymorphic behavior on your `IAnalyzer` pointers, consider using a dynamic analyzer group. To use a dynamic analyzer group, call [`MakeDynamicAnalyzerGroup`](make-static-analyzer-group.md) instead.
Copy file name to clipboardExpand all lines: docs/build-insights/reference/sdk/functions/make-static-relogger-group.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,14 +28,14 @@ auto MakeStaticReloggerGroup(TReloggerPtrs... reloggers);
28
28
This parameter is always deduced.
29
29
30
30
*reloggers*\
31
-
A parameter pack of [IRelogger](../other-types/irelogger-class.md) pointers that's included in the static relogger group. These pointers can be raw, `std::unique_ptr`, or `std::shared_ptr`. [IAnalyzer](../other-types/ianalyzer-class.md) pointers are also considered `IRelogger` pointers because of an inheritance relationship.
31
+
A parameter pack of [`IRelogger`](../other-types/irelogger-class.md) pointers that's included in the static relogger group. These pointers can be raw, `std::unique_ptr`, or `std::shared_ptr`. [`IAnalyzer`](../other-types/ianalyzer-class.md) pointers are also considered `IRelogger` pointers because of an inheritance relationship.
32
32
33
33
### Return Value
34
34
35
-
A static relogger group. Use the **auto** keyword to capture the return value.
35
+
A static relogger group. Use the **`auto`** keyword to capture the return value.
36
36
37
37
## Remarks
38
38
39
-
Unlike dynamic relogger groups, the members of a static relogger group must be known at compile time. Additionally, a static relogger group contains [IRelogger](../other-types/irelogger-class.md) pointers that don't have polymorphic behavior. When using a static relogger group to analyze an Event Tracing for Windows (ETW) trace, calls to the `IRelogger` interface always resolve to the object directly pointed to by the relogger group member. This loss of flexibility comes with a possibility of faster event processing times. If the members of a relogger group can't be known at compile time, or if you require polymorphic behavior on your `IRelogger` pointers, consider using a dynamic relogger group. You can use a dynamic relogger group by calling [MakeDynamicReloggerGroup](make-dynamic-relogger-group.md) instead.
39
+
Unlike dynamic relogger groups, the members of a static relogger group must be known at compile time. Additionally, a static relogger group contains [`IRelogger`](../other-types/irelogger-class.md) pointers that don't have polymorphic behavior. When using a static relogger group to analyze an Event Tracing for Windows (ETW) trace, calls to the `IRelogger` interface always resolve to the object directly pointed to by the relogger group member. This loss of flexibility comes with a possibility of faster event processing times. If the members of a relogger group can't be known at compile time, or if you require polymorphic behavior on your `IRelogger` pointers, consider using a dynamic relogger group. You can use a dynamic relogger group by calling [`MakeDynamicReloggerGroup`](make-dynamic-relogger-group.md) instead.
Enable supported C++ language features from the specified version of the C++ language standard.
10
10
@@ -20,9 +20,9 @@ The **`/std`** option is available in Visual Studio 2017 and later. It's used to
20
20
21
21
The default **`/std:c++14`** option enables the set of C++14 features implemented by the MSVC compiler. This option disables compiler and standard library support for features that are changed or new in more recent versions of the language standard. It doesn't disable some C++17 features already implemented in previous releases of the MSVC compiler. To avoid breaking changes for users who have already taken dependencies on the features available in or before Visual Studio 2015 Update 2, these features remain enabled when the **`/std:c++14`** option is specified:
22
22
23
-
-[Rules for auto with braced-init-lists](https://wg21.link/n3922)
23
+
-[Rules for `auto` with braced-init-lists](https://wg21.link/n3922)
24
24
25
-
-[typename in template template-parameters](https://wg21.link/n4051)
25
+
-[`typename` in template template-parameters](https://wg21.link/n4051)
The **/Zc:auto[-]** compiler option tells the compiler how to use the [auto keyword](../../cpp/auto-keyword.md) to declare variables. If you specify the default option, **/Zc:auto**, the compiler deduces the type of the declared variable from its initialization expression. If you specify **/Zc:auto-**, the compiler allocates the variable to the automatic storage class.
10
+
The **`/Zc:auto`** compiler option tells the compiler how to use the [`auto` keyword](../../cpp/auto-keyword.md) to declare variables. If you specify the default option, **`/Zc:auto`**, the compiler deduces the type of the declared variable from its initialization expression. If you specify **`/Zc:auto-`**, the compiler allocates the variable to the automatic storage class.
11
11
12
12
## Syntax
13
13
14
-
> **/Zc:auto**[**-**]
14
+
> **`/Zc:auto`**[**`-`**]
15
15
16
16
## Remarks
17
17
18
-
The C++ standard defines an original and a revised meaning for the **`auto`** keyword. Before Visual Studio 2010, the keyword declares a variable in the automatic storage class; that is, a variable that has a local lifetime. Starting with Visual Studio 2010, the keyword deduces the type of a variable from the declaration's initialization expression. Use the **/Zc:auto[-]** compiler option to tell the compiler to use the original or revised meaning of the **`auto`** keyword. The **/Zc:auto** option is on by default. The [/permissive-](permissive-standards-conformance.md) option does not change the default setting of **/Zc:auto**.
18
+
The C++ standard defines an original and a revised meaning for the **`auto`** keyword. Before Visual Studio 2010, the keyword declares a variable in the automatic storage class; that is, a variable that has a local lifetime. Starting with Visual Studio 2010, the keyword deduces the type of a variable from the declaration's initialization expression. Use the **`/Zc:auto`** compiler option to tell the compiler to use the revised meaning of the **`auto`** keyword. The **`/Zc:auto`** option is on by default. The [`/permissive-`](permissive-standards-conformance.md) option does not change the default setting of **`/Zc:auto`**.
19
19
20
-
The compiler issues an appropriate diagnostic message if your use of the **`auto`** keyword contradicts the current **/Zc:auto** compiler option. For more information, see [auto Keyword](../../cpp/auto-keyword.md). For more information about conformance issues with Visual C++, see [Nonstandard Behavior](../../cpp/nonstandard-behavior.md).
20
+
The compiler issues an appropriate diagnostic message if your use of the **`auto`** keyword contradicts the current **`/Zc:auto`** compiler option. For more information, see [`auto` Keyword](../../cpp/auto-keyword.md). For more information about conformance issues with Visual C++, see [Nonstandard Behavior](../../cpp/nonstandard-behavior.md).
21
21
22
22
### To set this compiler option in Visual Studio
23
23
24
24
1. Open the project's **Property Pages** dialog box. For details, see [Set C++ compiler and build properties in Visual Studio](../working-with-project-properties.md).
0 commit comments