|
536 | 536 | using tag_of_t = @\seebelow@;
|
537 | 537 |
|
538 | 538 | // \ref{exec.snd.transform}, sender transformations
|
539 |
| - template<class Domain, @\libconcept{sender}@ Sndr, @\libconcept{queryable}@... Env> |
| 539 | + template<class Domain, @\libconcept{sender}@ Sndr, @\exposconcept{queryable}@... Env> |
540 | 540 | requires (sizeof...(Env) <= 1)
|
541 | 541 | constexpr @\libconcept{sender}@ decltype(auto) transform_sender(
|
542 | 542 | Domain dom, Sndr&& sndr, const Env&... env) noexcept(@\seebelow@);
|
543 | 543 |
|
544 | 544 | // \ref{exec.snd.transform.env}, environment transformations
|
545 |
| - template<class Domain, @\libconcept{sender}@ Sndr, @\libconcept{queryable}@ Env> |
546 |
| - constexpr @\libconcept{queryable}@ decltype(auto) transform_env( |
| 545 | + template<class Domain, @\libconcept{sender}@ Sndr, @\exposconcept{queryable}@ Env> |
| 546 | + constexpr @\exposconcept{queryable}@ decltype(auto) transform_env( |
547 | 547 | Domain dom, Sndr&& sndr, Env&& env) noexcept;
|
548 | 548 |
|
549 | 549 | // \ref{exec.snd.apply}, sender algorithm application
|
|
666 | 666 | inline constexpr as_awaitable_t as_awaitable{};
|
667 | 667 |
|
668 | 668 | // \ref{exec.with.awaitable.senders}
|
669 |
| - template<@\exposconcept{class-type }@Promise> |
| 669 | + template<@\exposconcept{class-type}@ Promise> |
670 | 670 | struct with_awaitable_senders;
|
671 | 671 | }
|
672 | 672 | \end{codeblock}
|
|
806 | 806 |
|
807 | 807 | \mandates
|
808 | 808 | The type of the expression above satisfies
|
809 |
| -\libconcept{queryable}\iref{exec.queryable}. |
| 809 | +\exposconcept{queryable}\iref{exec.queryable}. |
810 | 810 | \item
|
811 | 811 | Otherwise, \tcode{empty_env\{\}}.
|
812 | 812 | \end{itemize}
|
|
978 | 978 | template<class Sch>
|
979 | 979 | concept @\deflibconcept{scheduler}@ =
|
980 | 980 | @\libconcept{derived_from}@<typename remove_cvref_t<Sch>::scheduler_concept, scheduler_t> &&
|
981 |
| - @\libconcept{queryable}@<Sch> && |
| 981 | + @\exposconcept{queryable}@<Sch> && |
982 | 982 | requires(Sch&& sch) {
|
983 | 983 | { schedule(std::forward<Sch>(sch)) } -> @\libconcept{sender}@;
|
984 | 984 | { auto(get_completion_scheduler<set_value_t>(
|
985 | 985 | get_env(schedule(std::forward<Sch>(sch))))) }
|
986 | 986 | -> @\libconcept{same_as}@<remove_cvref_t<Sch>>;
|
987 | 987 | } &&
|
988 | 988 | @\libconcept{equality_comparable}@<remove_cvref_t<Sch>> &&
|
989 |
| - @\libconcept{copy_constructible<}@remove_cvref_t<Sch>>; |
| 989 | + @\libconcept{copy_constructible}@<remove_cvref_t<Sch>>; |
990 | 990 | }
|
991 | 991 | \end{codeblock}
|
992 | 992 |
|
|
1068 | 1068 | concept @\defexposconcept{valid-completion-for}@ =
|
1069 | 1069 | requires (Signature* sig) {
|
1070 | 1070 | []<class Tag, class... Args>(Tag(*)(Args...))
|
1071 |
| - requires @\libconcept{callable}@<Tag, remove_cvref_t<Rcvr>, Args...> |
| 1071 | + requires @\exposconcept{callable}@<Tag, remove_cvref_t<Rcvr>, Args...> |
1072 | 1072 | {}(sig);
|
1073 | 1073 | };
|
1074 | 1074 |
|
|
1893 | 1893 | template<class Sndr>
|
1894 | 1894 | concept @\defexposconcept{enable-sender}@ = // \expos
|
1895 | 1895 | @\exposconcept{is-sender}@<Sndr> ||
|
1896 |
| - @\exposconcept{is-awaitable}@<Sndr, @\exposconcept{env-promise}@<empty_env>>; // \ref{exec.awaitable} |
| 1896 | + @\exposconcept{is-awaitable}@<Sndr, @\exposid{env-promise}@<empty_env>>; // \ref{exec.awaitable} |
1897 | 1897 |
|
1898 | 1898 | template<class Sndr>
|
1899 | 1899 | concept @\deflibconcept{sender}@ =
|
|
2341 | 2341 |
|
2342 | 2342 | \item
|
2343 | 2343 | Otherwise,
|
2344 |
| -if \tcode{\exposid{is-awaitable}<NewSndr, env-promise<Env>>} is \tcode{true}, |
| 2344 | +if \tcode{\exposid{is-awaitable}<NewSndr, \exposid{env-promise}<Env>>} is \tcode{true}, |
2345 | 2345 | then:
|
2346 | 2346 | \begin{codeblock}
|
2347 | 2347 | completion_signatures<
|
|
0 commit comments