Skip to content

Commit 8f252f3

Browse files
authored
Merge pull request #5508 from Rageking8/include-namespace-prefix-in-links
Include namespace prefix in links
2 parents 843df69 + e585984 commit 8f252f3

9 files changed

+31
-39
lines changed

docs/parallel/amp/reference/array-class.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ The rank of the array.
5151

5252
|Name|Description|
5353
|----------|-----------------|
54-
|[`operator std::vector<value_type>`](#operator_vec)|Uses `copy(*this, vector)` to implicitly convert the array to a std::[vector](../../../standard-library/vector-class.md) object.|
54+
|[`operator std::vector<value_type>`](#operator_vec)|Uses `copy(*this, vector)` to implicitly convert the array to a [std::vector](../../../standard-library/vector-class.md) object.|
5555
|[operator()](#operator_call)|Returns the element value that is specified by the parameters.|
5656
|[operator\[\]](#operator_at)|Returns the element that is at the specified index.|
5757
|[operator=](#operator_eq)|Copies the contents of the specified `array` object into this one.|

docs/parallel/concrt/asynchronous-message-blocks.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
---
2-
description: "Learn more about: Asynchronous Message Blocks"
32
title: "Asynchronous Message Blocks"
4-
ms.date: "11/04/2016"
3+
description: "Learn more about: Asynchronous Message Blocks"
4+
ms.date: 11/04/2016
55
helpviewer_keywords: ["non-greedy join [Concurrency Runtime]", "asynchronous message blocks", "greedy join [Concurrency Runtime]"]
6-
ms.assetid: 79c456c0-1692-480c-bb67-98f2434c1252
76
---
87
# Asynchronous Message Blocks
98

@@ -257,7 +256,7 @@ The [concurrency::join](../../parallel/concrt/reference/join-class.md) and [conc
257256

258257
Reading from a `join` or `multitype_join` object resembles calling the Windows API function `WaitForMultipleObjects` when it has the `bWaitAll` parameter set to `TRUE`. However, just like a `choice` object, `join` and `multitype_join` objects use an event mechanism that binds data to the event itself instead of to an external synchronization object.
259258

260-
Reading from a `join` object produces a std::[vector](../../standard-library/vector-class.md) object. Reading from a `multitype_join` object produces a std::[tuple](../../standard-library/tuple-class.md) object. Elements appear in these objects in the same order as their corresponding source buffers are linked to the `join` or `multitype_join` object. Because the order in which you link source buffers to a `join` or `multitype_join` object is associated with the order of elements in the resulting `vector` or `tuple` object, we recommend that you do not unlink an existing source buffer from a join. Doing so can result in unspecified behavior.
259+
Reading from a `join` object produces a [std::vector](../../standard-library/vector-class.md) object. Reading from a `multitype_join` object produces a [std::tuple](../../standard-library/tuple-class.md) object. Elements appear in these objects in the same order as their corresponding source buffers are linked to the `join` or `multitype_join` object. Because the order in which you link source buffers to a `join` or `multitype_join` object is associated with the order of elements in the resulting `vector` or `tuple` object, we recommend that you do not unlink an existing source buffer from a join. Doing so can result in unspecified behavior.
261260

262261
### Greedy Versus Non-Greedy Joins
263262

@@ -285,7 +284,7 @@ For complete examples that show how to use the `join` class, see [How to: Select
285284

286285
## <a name="timer"></a> timer Class
287286

288-
The concurrency::[timer class](../../parallel/concrt/reference/timer-class.md) acts as a message source. A `timer` object sends a message to a target after a specified period of time has elapsed. The `timer` class is useful when you must delay sending a message or you want to send a message at a regular interval.
287+
The [concurrency::timer class](../../parallel/concrt/reference/timer-class.md) acts as a message source. A `timer` object sends a message to a target after a specified period of time has elapsed. The `timer` class is useful when you must delay sending a message or you want to send a message at a regular interval.
289288

290289
The `timer` class sends its message to just one target. If you set the `_PTarget` parameter in the constructor to `NULL`, you can later specify the target by calling the [concurrency::ISource::link_target](reference/source-block-class.md#link_target) method.
291290

docs/parallel/concrt/contexts.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
---
2-
description: "Learn more about: Contexts"
32
title: "Contexts"
4-
ms.date: "11/04/2016"
3+
description: "Learn more about: Contexts"
4+
ms.date: 11/04/2016
55
helpviewer_keywords: ["contexts [Concurrency Runtime]"]
6-
ms.assetid: 10c1d861-8fbb-4ba0-b2ec-61876b11176e
76
---
87
# Contexts
98

10-
This document describes the role of contexts in the Concurrency Runtime. A thread that is attached to a scheduler is known as an *execution context*, or just *context*. The [concurrency::wait](reference/concurrency-namespace-functions.md#wait) function and the concurrency::[Context class](../../parallel/concrt/reference/context-class.md) enable you to control the behavior of contexts. Use the `wait` function to suspend the current context for a specified time. Use the `Context` class when you need more control over when contexts block, unblock, and yield, or when you want to oversubscribe the current context.
9+
This document describes the role of contexts in the Concurrency Runtime. A thread that is attached to a scheduler is known as an *execution context*, or just *context*. The [concurrency::wait](reference/concurrency-namespace-functions.md#wait) function and the [concurrency::Context class](../../parallel/concrt/reference/context-class.md) enable you to control the behavior of contexts. Use the `wait` function to suspend the current context for a specified time. Use the `Context` class when you need more control over when contexts block, unblock, and yield, or when you want to oversubscribe the current context.
1110

1211
> [!TIP]
1312
> The Concurrency Runtime provides a default scheduler, and therefore you are not required to create one in your application. Because the Task Scheduler helps you fine-tune the performance of your applications, we recommend that you start with the [Parallel Patterns Library (PPL)](../../parallel/concrt/parallel-patterns-library-ppl.md) or the [Asynchronous Agents Library](../../parallel/concrt/asynchronous-agents-library.md) if you are new to the Concurrency Runtime.
@@ -24,7 +23,7 @@ For an example that uses the `wait` function to yield the current context, and t
2423

2524
## The Context Class
2625

27-
The concurrency::[Context class](../../parallel/concrt/reference/context-class.md) provides a programming abstraction for an execution context and offers two important features: the ability to cooperatively block, unblock, and yield the current context, and the ability to oversubscribe the current context.
26+
The [concurrency::Context class](../../parallel/concrt/reference/context-class.md) provides a programming abstraction for an execution context and offers two important features: the ability to cooperatively block, unblock, and yield the current context, and the ability to oversubscribe the current context.
2827

2928
### Cooperative Blocking
3029

docs/parallel/concrt/how-to-send-a-message-at-a-regular-interval.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
---
2-
description: "Learn more about: How to: Send a Message at a Regular Interval"
32
title: "How to: Send a Message at a Regular Interval"
4-
ms.date: "11/04/2016"
3+
description: "Learn more about: How to: Send a Message at a Regular Interval"
4+
ms.date: 11/04/2016
55
helpviewer_keywords: ["timer class, example", "sending messages at regular intervals [Concurrency Runtime]"]
6-
ms.assetid: 4b60ea6c-97c8-4d69-9f7b-ad79f3548026
76
---
87
# How to: Send a Message at a Regular Interval
98

10-
This example shows how to use the concurrency::[timer class](../../parallel/concrt/reference/timer-class.md) to send a message at a regular interval.
9+
This example shows how to use the [concurrency::timer class](../../parallel/concrt/reference/timer-class.md) to send a message at a regular interval.
1110

1211
## Example
1312

docs/parallel/concrt/parallel-algorithms.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
---
2-
description: "Learn more about: Parallel Algorithms"
32
title: "Parallel Algorithms"
4-
ms.date: "11/19/2018"
3+
description: "Learn more about: Parallel Algorithms"
4+
ms.date: 11/19/2018
55
helpviewer_keywords: ["parallel algorithms [Concurrency Runtime]"]
6-
ms.assetid: 045dca7b-4d73-4558-a44c-383b88a28473
76
ms.topic: how-to
87
---
98
# Parallel Algorithms
@@ -144,7 +143,7 @@ You can use the `parallel transform` algorithm to perform many data parallelizat
144143

145144
- Perform 3-D ray tracing, where each iteration refers to one pixel that must be rendered.
146145

147-
The following example shows the basic structure that is used to call the `parallel_transform` algorithm. This example negates each element of a std::[vector](../../standard-library/vector-class.md) object in two ways. The first way uses a lambda expression. The second way uses [std::negate](../../standard-library/negate-struct.md), which derives from [std::unary_function](../../standard-library/unary-function-struct.md).
146+
The following example shows the basic structure that is used to call the `parallel_transform` algorithm. This example negates each element of a [std::vector](../../standard-library/vector-class.md) object in two ways. The first way uses a lambda expression. The second way uses [std::negate](../../standard-library/negate-struct.md), which derives from [std::unary_function](../../standard-library/unary-function-struct.md).
148147

149148
[!code-cpp[concrt-basic-parallel-transform#1](../../parallel/concrt/codesnippet/cpp/parallel-algorithms_4.cpp)]
150149

@@ -207,7 +206,7 @@ Divides work into ranges such that each range has at least the number of iterati
207206
Divides work into a fixed number of ranges (typically the number of worker threads that are available to work on the loop). This partitioner type can improve performance because it does not use work-stealing and therefore has less overhead. Use this partitioner type when each iteration of a parallel loop performs a fixed and uniform amount of work and you do not require support for cancellation or forward cooperative blocking.
208207

209208
> [!WARNING]
210-
> The `parallel_for_each` and `parallel_transform` algorithms support only containers that use random access iterators (such as std::[vector](../../standard-library/vector-class.md)) for the static, simple, and affinity partitioners. The use of containers that use bidirectional and forward iterators produces a compile-time error. The default partitioner, `auto_partitioner`, supports all three of these iterator types.
209+
> The `parallel_for_each` and `parallel_transform` algorithms support only containers that use random access iterators (such as [std::vector](../../standard-library/vector-class.md)) for the static, simple, and affinity partitioners. The use of containers that use bidirectional and forward iterators produces a compile-time error. The default partitioner, `auto_partitioner`, supports all three of these iterator types.
211210
212211
Typically, these partitioners are used in the same way, except for `affinity_partitioner`. Most partitioner types do not maintain state and are not modified by the runtime. Therefore you can create these partitioner objects at the call site, as shown in the following example.
213212

@@ -263,7 +262,7 @@ This example shows how to provide a hash function to the `parallel_radixsort` al
263262

264263
For illustration, this example uses a relatively small data set. You can increase the initial size of the vector to experiment with performance improvements over larger sets of data.
265264

266-
This example uses a lambda expression as the hash function. You can also use one of the built-in implementations of the std::[hash class](../../standard-library/hash-class.md) or define your own specialization. You can also use a custom hash function object, as shown in this example:
265+
This example uses a lambda expression as the hash function. You can also use one of the built-in implementations of the [std::hash class](../../standard-library/hash-class.md) or define your own specialization. You can also use a custom hash function object, as shown in this example:
267266

268267
[!code-cpp[concrt-parallel-sort-points#2](../../parallel/concrt/codesnippet/cpp/parallel-algorithms_13.cpp)]
269268
&nbsp;

docs/parallel/concrt/schedule-groups.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
---
2-
description: "Learn more about: Schedule Groups"
32
title: "Schedule Groups"
4-
ms.date: "11/04/2016"
3+
description: "Learn more about: Schedule Groups"
4+
ms.date: 11/04/2016
55
helpviewer_keywords: ["schedule groups"]
6-
ms.assetid: 03523572-5891-4d17-89ce-fa795605f28b
76
---
87
# Schedule Groups
98

@@ -18,7 +17,7 @@ The `SchedulingProtocol` scheduler policy influences the order in which the sche
1817

1918
The runtime uses the [concurrency::ScheduleGroup](../../parallel/concrt/reference/schedulegroup-class.md) class to represent schedule groups. To create a `ScheduleGroup` object, call the [concurrency::CurrentScheduler::CreateScheduleGroup](reference/currentscheduler-class.md#createschedulegroup) or [concurrency::Scheduler::CreateScheduleGroup](reference/scheduler-class.md#createschedulegroup) method. The runtime uses a reference-counting mechanism to control the lifetime of `ScheduleGroup` objects, just as it does with `Scheduler` objects. When you create a `ScheduleGroup` object, the runtime sets the reference counter to one. The [concurrency::ScheduleGroup::Reference](reference/schedulegroup-class.md#reference) method increments the reference counter by one. The [concurrency::ScheduleGroup::Release](reference/schedulegroup-class.md#release) method decrements the reference counter by one.
2019

21-
Many types in the Concurrency Runtime let you associate an object together with a schedule group. For example, the [concurrency::agent](../../parallel/concrt/reference/agent-class.md) class and message block classes such as [concurrency::unbounded_buffer](reference/unbounded-buffer-class.md), [concurrency::join](../../parallel/concrt/reference/join-class.md), and concurrency::[timer](reference/timer-class.md), provide overloaded versions of the constructor that take a `ScheduleGroup` object. The runtime uses the `Scheduler` object that is associated with this `ScheduleGroup` object to schedule the task.
20+
Many types in the Concurrency Runtime let you associate an object together with a schedule group. For example, the [concurrency::agent](../../parallel/concrt/reference/agent-class.md) class and message block classes such as [concurrency::unbounded_buffer](reference/unbounded-buffer-class.md), [concurrency::join](../../parallel/concrt/reference/join-class.md), and [concurrency::timer](reference/timer-class.md), provide overloaded versions of the constructor that take a `ScheduleGroup` object. The runtime uses the `Scheduler` object that is associated with this `ScheduleGroup` object to schedule the task.
2221

2322
You can also use the [concurrency::ScheduleGroup::ScheduleTask](reference/schedulegroup-class.md#scheduletask) method to schedule a lightweight task. For more information about lightweight tasks, see [Lightweight Tasks](../../parallel/concrt/lightweight-tasks.md).
2423

docs/parallel/concrt/task-parallelism-concurrency-runtime.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
---
2-
description: "Learn more about: Task Parallelism (Concurrency Runtime)"
32
title: "Task Parallelism (Concurrency Runtime)"
4-
ms.date: "11/04/2016"
3+
description: "Learn more about: Task Parallelism (Concurrency Runtime)"
4+
ms.date: 11/04/2016
55
helpviewer_keywords: ["structured task groups [Concurrency Runtime]", "structured tasks [Concurrency Runtime]", "task groups [Concurrency Runtime]", "task parallelism", "tasks [Concurrency Runtime]"]
6-
ms.assetid: 42f05ac3-2098-494a-ba84-737fcdcad077
76
ms.topic: how-to
87
---
98
# Task Parallelism (Concurrency Runtime)
@@ -151,7 +150,7 @@ This section describes the [concurrency::when_all](reference/concurrency-namespa
151150

152151
### <a name="when-all"></a> The when_all Function
153152

154-
The `when_all` function produces a task that completes after a set of tasks complete. This function returns a std::[vector](../../standard-library/vector-class.md) object that contains the result of each task in the set. The following basic example uses `when_all` to create a task that represents the completion of three other tasks.
153+
The `when_all` function produces a task that completes after a set of tasks complete. This function returns a [std::vector](../../standard-library/vector-class.md) object that contains the result of each task in the set. The following basic example uses `when_all` to create a task that represents the completion of three other tasks.
155154

156155
[!code-cpp[concrt-join-tasks#1](../../parallel/concrt/codesnippet/cpp/task-parallelism-concurrency-runtime_8.cpp)]
157156

@@ -270,7 +269,7 @@ Unstructured task groups and structured task groups work with task handles in di
270269

271270
[!code-cpp[concrt-make-task-structure#1](../../parallel/concrt/codesnippet/cpp/task-parallelism-concurrency-runtime_16.cpp)]
272271

273-
To manage task handles for cases where you have a variable number of tasks, use a stack-allocation routine such as [_malloca](../../c-runtime-library/reference/malloca.md) or a container class, such as std::[vector](../../standard-library/vector-class.md).
272+
To manage task handles for cases where you have a variable number of tasks, use a stack-allocation routine such as [_malloca](../../c-runtime-library/reference/malloca.md) or a container class, such as [std::vector](../../standard-library/vector-class.md).
274273

275274
Both `task_group` and `structured_task_group` support cancellation. For more information about cancellation, see [Cancellation in the PPL](cancellation-in-the-ppl.md).
276275

0 commit comments

Comments
 (0)