Skip to content

Commit 6fc1650

Browse files
committed
[exec.get.compl.sched] Rename completion-tag to completion-fn-tag and reorder text.
The renaming avoids a clash with the concept "completion-tag" defined in [exec.snd.expos]. The reordering makes it so that names are defined before they are referenced.
1 parent 8cef46b commit 6fc1650

1 file changed

Lines changed: 19 additions & 15 deletions

File tree

‎source/exec.tex‎

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1030,34 +1030,38 @@
10301030
\rSec2[exec.get.compl.sched]{\tcode{execution::get_completion_scheduler}}
10311031

10321032
\pnum
1033-
\tcode{get_completion_scheduler<\exposid{completion-tag>}} obtains
1033+
The name \tcode{get_completion_scheduler} denotes a query object template.
1034+
1035+
\pnum
1036+
Let \exposid{completion-fn} be a completion function\iref{exec.async.ops};
1037+
let \exposid{completion-fn-tag} be
1038+
the associated completion tag of \exposid{completion-fn};
1039+
let \tcode{args} be a pack of subexpressions; and
1040+
let \tcode{sndr} be a subexpression
1041+
such that \tcode{\libconcept{sender}<decltype((sndr))>} is \tcode{true} and
1042+
\tcode{get_completion_scheduler<\exposid{completion-fn-tag}>(get_env(sndr))}
1043+
is well-formed and denotes a scheduler \tcode{sch}.
1044+
1045+
\pnum
1046+
\tcode{get_completion_scheduler<\exposid{completion-fn-tag>}} obtains
10341047
the completion scheduler associated with a completion tag
10351048
from a sender's attributes.
10361049

10371050
\pnum
1038-
The name \tcode{get_completion_scheduler} denotes a query object template.
10391051
For a subexpression \tcode{q},
1040-
the expression \tcode{get_completion_scheduler<\exposid{completion-tag}>(q)}
1041-
is ill-formed if \exposid{completion-tag} is not one of
1052+
the expression \tcode{get_completion_scheduler<\exposid{completion-fn-tag}>(q)}
1053+
is ill-formed if \exposid{completion-fn-tag} is not one of
10421054
\tcode{set_value_t}, \tcode{set_error_t}, or \tcode{set_stopped_t}.
1043-
Otherwise, \tcode{get_completion_scheduler<\exposid{completion-tag}>(q)}
1055+
Otherwise, \tcode{get_completion_scheduler<\exposid{completion-fn-tag}>(q)}
10441056
is expression-equivalent to
10451057
\begin{codeblock}
1046-
@\exposid{MANDATE-NOTHROW}@(@\exposid{AS-CONST}@(q).query(get_completion_scheduler<@\exposid{completion-tag}@>))
1058+
@\exposid{MANDATE-NOTHROW}@(@\exposid{AS-CONST}@(q).query(get_completion_scheduler<@\exposid{completion-fn-tag}@>))
10471059
\end{codeblock}
10481060
\mandates
10491061
If the expression above is well-formed,
10501062
its type satisfies \libconcept{scheduler}.
10511063

10521064
\pnum
1053-
Let \exposid{completion-fn} be a completion function\iref{exec.async.ops};
1054-
let \exposid{completion-tag} be
1055-
the associated completion tag of \exposid{completion-fn};
1056-
let \tcode{args} be a pack of subexpressions; and
1057-
let \tcode{sndr} be a subexpression
1058-
such that \tcode{\libconcept{sender}<decltype((sndr))>} is \tcode{true} and
1059-
\tcode{get_completion_scheduler<\exposid{completion-tag}>(get_env(sndr))}
1060-
is well-formed and denotes a scheduler \tcode{sch}.
10611065
If an asynchronous operation
10621066
created by connecting \tcode{sndr} with a receiver \tcode{rcvr}
10631067
causes the evaluation of \tcode{\exposid{completion-fn}(rcvr, args...)},
@@ -1067,7 +1071,7 @@
10671071

10681072
\pnum
10691073
The expression
1070-
\tcode{forwarding_query(get_completion_scheduler<\exposid{completion-tag}>)}
1074+
\tcode{forwarding_query(get_completion_scheduler<\exposid{completion-fn-tag}>)}
10711075
is a core constant expression and has value \tcode{true}.
10721076

10731077
\rSec2[exec.get.await.adapt]{\tcode{execution::get_await_completion_adaptor}}

0 commit comments

Comments
 (0)