Skip to content

Commit 9a416a6

Browse files
committed
P4159R0 Make sender_in and receiver_of exposition-only
1 parent 9b6577e commit 9a416a6

1 file changed

Lines changed: 16 additions & 16 deletions

File tree

source/exec.tex

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -510,7 +510,7 @@
510510
concept @\libconcept{receiver}@ = @\seebelow@;
511511

512512
template<class Rcvr, class Completions>
513-
concept @\libconcept{receiver_of}@ = @\seebelow@;
513+
concept @\exposconceptnc{receiver-of}@ = @\seebelownc@; // \expos
514514

515515
template<class Rcvr, class ChildOp>
516516
concept @\libconcept{inlinable_receiver}@ = @\seebelow@;
@@ -548,7 +548,7 @@
548548
concept @\libconcept{dependent_sender}@ = @\seebelow@;
549549

550550
template<class Sndr, class Rcvr>
551-
concept @\libconcept{sender_to}@ = @\seebelow@;
551+
concept @\exposconceptnc{sender-to}@ = @\seebelownc@; // \expos
552552

553553
template<class... Ts>
554554
struct @\exposidnc{type-list}@; // \expos
@@ -578,7 +578,7 @@
578578
using @\exposidnc{single-sender-value-type}@ = @\seebelownc@; // \expos
579579

580580
template<class Sndr, class... Env>
581-
concept @\exposconcept{single-sender}@ = @\seebelow@; // \expos
581+
concept @\exposconceptnc{single-sender}@ = @\seebelownc@; // \expos
582582

583583
template<@\libconcept{sender}@ Sndr>
584584
using tag_of_t = @\seebelow@;
@@ -1012,7 +1012,7 @@
10121012

10131013
\pnum
10141014
Given subexpressions \tcode{sndr} and \tcode{rcvr}
1015-
such that \tcode{sender_to<decltype((sndr)), decltype((rcvr))>} is \tcode{true}
1015+
such that \tcode{\exposid{sender-to}<decltype((sndr)), decltype((rcvr))>} is \tcode{true}
10161016
and the expression \tcode{get_start_scheduler(get_env(rcvr))} is well-formed,
10171017
an operation state that is the result of calling \tcode{connect(sndr, rcvr)}
10181018
shall, if it is started, be started on an execution agent
@@ -1357,7 +1357,7 @@
13571357
A receiver represents the continuation of an asynchronous operation.
13581358
The \libconcept{receiver} concept defines
13591359
the requirements for a receiver type\iref{exec.async.ops}.
1360-
The \libconcept{receiver_of} concept defines
1360+
The \exposconcept{receiver-of} concept defines
13611361
the requirements for a receiver type that is usable as
13621362
the first argument of a set of completion operations
13631363
corresponding to a set of completion signatures.
@@ -1391,7 +1391,7 @@
13911391
};
13921392

13931393
template<class Rcvr, class Completions>
1394-
concept @\deflibconcept{receiver_of}@ =
1394+
concept @\defexposconcept{receiver-of}@ =
13951395
@\libconcept{receiver}@<Rcvr> && @\exposconcept{has-completions}@<Rcvr, Completions>;
13961396
}
13971397
\end{codeblock}
@@ -1619,7 +1619,7 @@
16191619
let \tcode{Sndr} be \tcode{decltype((sndr))}.
16201620
Let \tcode{rcvr} be a receiver of type \tcode{Rcvr}
16211621
with associated environment \tcode{env} of type \tcode{Env}
1622-
such that \tcode{\libconcept{sender_to}<Sndr, Rcvr>} is \tcode{true}.
1622+
such that \tcode{\exposconcept{sender-to}<Sndr, Rcvr>} is \tcode{true}.
16231623
For the default implementation of the algorithm that produced \tcode{sndr},
16241624
connecting \tcode{sndr} to \tcode{rcvr} and
16251625
starting the resulting operation state\iref{exec.async.ops}
@@ -2477,7 +2477,7 @@
24772477
The \libconcept{sender_in} concept defines
24782478
the requirements for a sender type
24792479
that can create asynchronous operations given an associated environment type.
2480-
The \libconcept{sender_to} concept defines
2480+
The \exposconcept{sender-to} concept defines
24812481
the requirements for a sender type
24822482
that can connect with a specific receiver type.
24832483
The \tcode{get_env} customization point object is used to access
@@ -2532,9 +2532,9 @@
25322532
@\libconcept{sender}@<Sndr> && bool_constant<@\exposid{is-dependent-sender-helper}@<Sndr>()>::value;
25332533

25342534
template<class Sndr, class Rcvr>
2535-
concept @\deflibconcept{sender_to}@ =
2535+
concept @\defexposconcept{sender-to}@ =
25362536
@\libconcept{sender_in}@<Sndr, env_of_t<Rcvr>> &&
2537-
@\libconcept{receiver_of}@<Rcvr, completion_signatures_of_t<Sndr, env_of_t<Rcvr>>> &&
2537+
@\exposconcept{receiver-of}@<Rcvr, completion_signatures_of_t<Sndr, env_of_t<Rcvr>>> &&
25382538
requires (Sndr&& sndr, Rcvr&& rcvr) {
25392539
connect(std::forward<Sndr>(sndr), std::forward<Rcvr>(rcvr));
25402540
};
@@ -3199,7 +3199,7 @@
31993199
return awaiter{fn};
32003200
}
32013201

3202-
@\exposid{operation-state-task}@ @\exposid{connect-awaitable}@(DS sndr, DR rcvr) requires @\libconcept{receiver_of}@<DR, Sigs> {
3202+
@\exposid{operation-state-task}@ @\exposid{connect-awaitable}@(DS sndr, DR rcvr) requires @\exposconcept{receiver-of}@<DR, Sigs> {
32033203
exception_ptr ep;
32043204
try {
32053205
if constexpr (@\libconcept{same_as}@<V, void>) {
@@ -3251,7 +3251,7 @@
32513251
\item
32523252
\tcode{\libconcept{sender_in}<Sndr, env_of_t<Rcvr>>}
32533253
\item
3254-
\tcode{\libconcept{receiver_of}<Rcvr, completion_signatures_of_t<Sndr, env_of_t<Rcvr>>>}
3254+
\tcode{\exposconcept{receiver-of}<Rcvr, completion_signatures_of_t<Sndr, env_of_t<Rcvr>>>}
32553255
\end{itemize}
32563256

32573257
\rSec2[exec.factories]{Sender factories}
@@ -6153,7 +6153,7 @@
61536153

61546154
\pnum
61556155
For a subexpression \tcode{sndr}, let \tcode{Sndr} be \tcode{decltype((sndr))}.
6156-
If \tcode{\libconcept{sender_to}<Sndr, \exposid{sync-wait-receiver}<\linebreak Sndr>>}
6156+
If \tcode{\exposconcept{sender-to}<Sndr, \exposid{sync-wait-receiver}<\linebreak Sndr>>}
61576157
is \tcode{false},
61586158
the expression \tcode{sync_wait.apply_sender(sndr)} is ill-formed;
61596159
otherwise, it is equivalent to:
@@ -6831,7 +6831,7 @@
68316831
\pnum
68326832
Let \exposid{sndr} be an expression of type \exposid{run-loop-sender},
68336833
let \exposid{rcvr} be an expression
6834-
such that \tcode{\libconcept{receiver_of}<decltype((\exposid{rcvr})), CS>} is \tcode{true}
6834+
such that \tcode{\exposconcept{receiver-of}<decl\-type((\exposid{rcvr})), CS>} is \tcode{true}
68356835
where \tcode{CS} is the \tcode{completion_signatures} specialization above.
68366836
Let \tcode{C} be either \tcode{set_value_t} or \tcode{set_stopped_t}.
68376837
Then:
@@ -7027,7 +7027,7 @@
70277027
template<class Sndr, class Promise>
70287028
concept @\defexposconcept{awaitable-sender}@ =
70297029
@\exposconcept{single-sender}@<Sndr, env_of_t<Promise>> &&
7030-
@\libconcept{sender_to}@<Sndr,
7030+
@\exposconcept{sender-to}@<Sndr,
70317031
typename @\exposid{sender-awaitable}@<Sndr, Promise>::@\exposid{awaitable-receiver}@> && // \seebelow
70327032
requires (Promise& p) {
70337033
{ p.unhandled_stopped() } -> @\libconcept{convertible_to}@<coroutine_handle<>>;
@@ -7422,7 +7422,7 @@
74227422
\pnum
74237423
Let \tcode{sndr} be an expression of type \exposid{inline-sender},
74247424
let \tcode{rcvr} be an expression such that
7425-
\tcode{\libconcept{receiver_of}<decltype((rcvr)), CS>} is \tcode{true}
7425+
\tcode{\exposconcept{receiver-of}<decl\-type((rcvr)), CS>} is \tcode{true}
74267426
where \tcode{CS} is \tcode{completion_signatures<set_value_t()>},
74277427
then the expression \tcode{connect(sndr, rcvr)} has
74287428
type \tcode{\exposid{inline-state}<remove_cvref_t<decltype((rcvr))>>}

0 commit comments

Comments
 (0)