Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
0b1a48b
Add missing template parameter T to inclusive_scan's signature
jaredhoberock Mar 23, 2016
5eeea77
Merge pull request #50 from jaredhoberock/v2
jaredhoberock Oct 13, 2017
df9d2f6
Merge github.com:cplusplus/parallelism-ts into v2
jaredhoberock Nov 22, 2017
2285942
Add concrete date for post-Albuquerque papers
jaredhoberock Nov 22, 2017
6c239d2
Merge branch 'v2' of github.com:cplusplus/parallelism-ts into v2
jaredhoberock Feb 6, 2018
a65af54
Remove redlining from Normative References section
jaredhoberock Feb 6, 2018
c924a91
Remove redlining from Terms and Definitions section
jaredhoberock Feb 6, 2018
16f08cd
Remove redlining from namespaces and headers section
jaredhoberock Feb 6, 2018
740f7e6
Remove redlining from feature-testing recommendations section
jaredhoberock Feb 6, 2018
2ee5033
Eliminate [parallel.execpol.general]
jaredhoberock Feb 6, 2018
1aa5035
Remove redlining from [parallel.execpol.synopsis]
jaredhoberock Feb 6, 2018
e63a30e
Eliminate [parallel.execpol.type]
jaredhoberock Feb 6, 2018
f8e2098
Eliminate [parallel.execpol.seq]
jaredhoberock Feb 6, 2018
cca8fc9
Eliminate [parallel.execpol.par]
jaredhoberock Feb 6, 2018
62bdffb
Eliminate [parallel.execpol.par_vec]
jaredhoberock Feb 6, 2018
2442056
Remove redlining from [parallel.execpol.unseq]
jaredhoberock Feb 6, 2018
968b2e9
Remove redlining from [parallel.execpol.vec]
jaredhoberock Feb 6, 2018
ef1e07e
Eliminate [parallel.execpol.dynamic]
jaredhoberock Feb 6, 2018
b51a4a1
Remove redlining from [parallel.execpol.objects]
jaredhoberock Feb 6, 2018
f732c3f
Eliminate [parallel.exceptions.behavior]
jaredhoberock Feb 6, 2018
00de6b6
Remove redlining from [parallel.exceptions.synopsis]
jaredhoberock Feb 6, 2018
599d6f9
Eliminate [parallel.alg.general.{user,exec}]
jaredhoberock Feb 6, 2018
546b117
Eliminate [parallel.alg.{overloads,defns}]
jaredhoberock Feb 6, 2018
5c467d4
Remove redlining from [parallel.alg.ops.synopsis]
jaredhoberock Feb 6, 2018
2c0393c
Remove redlining from [parallel.alg.reductions]
jaredhoberock Feb 6, 2018
9af868f
Remove redlining from [parallel.alg.inductions]
jaredhoberock Feb 6, 2018
dcf235a
Eliminate redlining from [parallel.alg.forloop]
jaredhoberock Feb 6, 2018
8ad8d68
Eliminate [parallel.alg.foreach]
jaredhoberock Feb 6, 2018
8bee276
Eliminate redlining from [parallel.alg.novec]
jaredhoberock Feb 6, 2018
2042d12
Eliminate [parallel.alg.numeric]
jaredhoberock Feb 6, 2018
b68c7a8
Remove redlinig from [parallel.task_block.synopsis]
jaredhoberock Feb 6, 2018
cf5455f
Remove redlining from [parallel.task_block.task_cancelled_exception]
jaredhoberock Feb 6, 2018
383a4c0
Remove redlining from [parallel.task_block.class]
jaredhoberock Feb 6, 2018
35cb28f
Apply editorial corrections
jaredhoberock Feb 6, 2018
8213044
Apply editorial corrections
jaredhoberock Feb 6, 2018
b3a6aef
Placeholder README
jaredhoberock Feb 7, 2018
82dbd3a
Add paper numbers
jaredhoberock Feb 8, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Eliminate [parallel.exceptions.behavior]
  • Loading branch information
jaredhoberock committed Feb 6, 2018
commit f732c3fa3a10af6bffd404bf251bf189d22009d0
52 changes: 0 additions & 52 deletions exceptions.html
Original file line number Diff line number Diff line change
@@ -1,57 +1,5 @@
<cxx-clause id="parallel.exceptions">
<h1>Parallel exceptions</h1>
<cxx-section id="parallel.exceptions.behavior">
<h1><del>Exception reporting behavior</del></h1>
<del>
<p>
During the execution of a standard parallel algorithm,
if temporary memory resources are required and none are available,
the algorithm throws a <code>std::bad_alloc</code> exception.
</p>
<p>
During the execution of a standard parallel algorithm, if the invocation of an element access function
exits via an uncaught exception, the behavior of the program is determined by the type of
execution policy used to invoke the algorithm:

<ul>
<li>
If the execution policy object is of type <code>parallel_vector_execution_policy</code>, <code>unsequenced_policy</code>, or <code>vector_policy</code>,
<code>std::terminate</code> shall be called.
</li>
<li>
If the execution policy object is of type <code>sequential_execution_policy</code> or
<code>parallel_execution_policy</code>, the execution of the algorithm exits via an
exception. The exception shall be an <code>exception_list</code> containing all uncaught exceptions thrown during
the invocations of element access functions, or optionally the uncaught exception if there was only one.<pre>
</pre>

<cxx-note>
For example, when <code>for_each</code> is executed sequentially,
if an invocation of the user-provided function object throws an exception, <code>for_each</code> can exit via the uncaught exception, or throw an <code>exception_list</code> containing the original exception.
</cxx-note><pre>
</pre>

<cxx-note>
These guarantees imply that, unless the algorithm has failed to allocate memory and
exits via <code>std::bad_alloc</code>, all exceptions thrown during the execution of
the algorithm are communicated to the caller. It is unspecified whether an algorithm implementation will "forge ahead" after
encountering and capturing a user exception.
</cxx-note><pre>
</pre>
<cxx-note>
The algorithm may exit via the <code>std::bad_alloc</code> exception even if one or more
user-provided function objects have exited via an exception. For example, this can happen when an algorithm fails to allocate memory while
creating or adding elements to the <code>exception_list</code> object.
</cxx-note>
</li>

<li>
If the execution policy object is of any other type, the behavior is implementation-defined.
</li>
</ul>
</p>
</del>
</cxx-section>
<cxx-section id="parallel.exceptions.synopsis">
<h1>Header <code>&lt;experimental/exception_list&gt;</code> synopsis</h1>
<pre>
Expand Down