|
101 | 101 | Otherwise, \tcode{make_exception_ptr(err)}.
|
102 | 102 | \end{itemize}
|
103 | 103 |
|
| 104 | +\pnum |
| 105 | +For a subexpression \tcode{expr}, |
| 106 | +let \tcode{\exposid{AS-CONST}(expr)} be expression-equivalent to |
| 107 | +\begin{codeblock} |
| 108 | +[](const auto& x) noexcept -> const auto& { return x; }(expr) |
| 109 | +\end{codeblock} |
| 110 | + |
104 | 111 | \rSec1[exec.queryable]{Queries and queryables}
|
105 | 112 |
|
106 | 113 | \rSec2[exec.queryable.general]{General}
|
|
789 | 796 | The name \tcode{get_allocator} denotes a query object.
|
790 | 797 | For a subexpression \tcode{env},
|
791 | 798 | \tcode{get_allocator(env)} is expression-equivalent to
|
792 |
| -\tcode{\exposid{MANDATE-NOTHROW}(as_const(env).query(get_allocator))}. |
| 799 | +\tcode{\exposid{MANDATE-NOTHROW}(\exposid{AS-CONST}(env).query(get_allocator))}. |
793 | 800 |
|
794 | 801 | \mandates
|
795 | 802 | If the expression above is well-formed,
|
|
811 | 818 | \tcode{get_stop_token(env)} is expression-equivalent to:
|
812 | 819 | \begin{itemize}
|
813 | 820 | \item
|
814 |
| -\tcode{\exposid{MANDATE-NOTHROW}(as_const(env).query(get_stop_token))} |
| 821 | +\tcode{\exposid{MANDATE-NOTHROW}(\exposid{AS-CONST}(env).query(get_stop_token))} |
815 | 822 | if that expression is well-formed.
|
816 | 823 |
|
817 | 824 | \mandates
|
|
833 | 840 | \tcode{execution::get_env(o)} is expression-equivalent to:
|
834 | 841 | \begin{itemize}
|
835 | 842 | \item
|
836 |
| -\tcode{\exposid{MANDATE-NOTHROW}(as_const(o).get_env())} |
| 843 | +\tcode{\exposid{MANDATE-NOTHROW}(\exposid{AS-CONST}(o).get_env())} |
837 | 844 | if that expression is well-formed.
|
838 | 845 |
|
839 | 846 | \mandates
|
|
864 | 871 | The name \tcode{get_domain} denotes a query object.
|
865 | 872 | For a subexpression \tcode{env},
|
866 | 873 | \tcode{get_domain(env)} is expression-equivalent to
|
867 |
| -\tcode{\exposid{MANDATE-NOTHROW}(as_const(env).query(get_domain))}. |
| 874 | +\tcode{\exposid{MANDATE-NOTHROW}(\exposid{AS-CONST}(env).query(get_domain))}. |
868 | 875 |
|
869 | 876 | \pnum
|
870 | 877 | \tcode{forwarding_query(execution::get_domain)} is
|
|
879 | 886 | The name \tcode{get_scheduler} denotes a query object.
|
880 | 887 | For a subexpression \tcode{env},
|
881 | 888 | \tcode{get_scheduler(env)} is expression-equivalent to
|
882 |
| -\tcode{\exposid{MANDATE-NOTHROW}(as_const(env).query(get_scheduler))}. |
| 889 | +\tcode{\exposid{MANDATE-NOTHROW}(\exposid{AS-CONST}(env).query(get_scheduler))}. |
883 | 890 |
|
884 | 891 | \mandates
|
885 | 892 | If the expression above is well-formed,
|
|
900 | 907 | The name \tcode{get_delegation_scheduler} denotes a query object.
|
901 | 908 | For a subexpression \tcode{env},
|
902 | 909 | \tcode{get_delegation_scheduler(env)} is expression-equivalent to
|
903 |
| -\tcode{\exposid{MANDATE-NOTHROW}(as_const(env).query(get_delegation_scheduler))}. |
| 910 | +\tcode{\exposid{MANDATE-NOTHROW}(\exposid{AS-CONST}(env).query(get_delegation_scheduler))}. |
904 | 911 |
|
905 | 912 | \mandates
|
906 | 913 | If the expression above is well-formed,
|
|
936 | 943 | \tcode{get_forward_progress_guarantee(sch)} is expression-equivalent to:
|
937 | 944 | \begin{itemize}
|
938 | 945 | \item
|
939 |
| -\tcode{\exposid{MANDATE-NOTHROW}(as_const(sch).query(get_forward_progress_guarantee))}, |
| 946 | +\tcode{\exposid{MANDATE-NOTHROW}(\exposid{AS-CONST}(sch).query(get_forward_progress_guarantee))}, |
940 | 947 | if that expression is well-formed.
|
941 | 948 |
|
942 | 949 | \mandates
|
|
970 | 977 | Otherwise, \tcode{get_completion_scheduler<\exposid{completion-tag}>(q)}
|
971 | 978 | is expression-equivalent to
|
972 | 979 | \begin{codeblock}
|
973 |
| -@\exposid{MANDATE-NOTHROW}@(as_const(q).query(get_completion_scheduler<@\exposid{completion-tag}@>)) |
| 980 | +@\exposid{MANDATE-NOTHROW}@(@\exposid{AS-CONST}@(q).query(get_completion_scheduler<@\exposid{completion-tag}@>)) |
974 | 981 | \end{codeblock}
|
975 | 982 | \mandates
|
976 | 983 | If the expression above is well-formed,
|
|
0 commit comments