|
1805 | 1805 | static constexpr const auto& @\exposidnc{complete}@ = @\exposidnc{impls-for}@<@\exposidnc{tag-t}@>::@\exposidnc{complete}@; // \expos |
1806 | 1806 |
|
1807 | 1807 | template<class... Args> |
1808 | | - requires @\exposconcept{callable}@<decltype(@\exposid{complete}@), Index, @\exposid{state-t}@&, Rcvr&, set_value_t, Args...> |
1809 | 1808 | void set_value(Args&&... args) && noexcept { |
1810 | 1809 | @\exposid{complete}@(Index(), @\exposidnc{op}@->@\exposid{state}@, @\exposidnc{op}@->@\exposid{rcvr}@, set_value_t(), std::forward<Args>(args)...); |
1811 | 1810 | } |
1812 | 1811 |
|
1813 | 1812 | template<class Error> |
1814 | | - requires @\exposconcept{callable}@<decltype(@\exposid{complete}@), Index, @\exposid{state-t}@&, Rcvr&, set_error_t, Error> |
1815 | 1813 | void set_error(Error&& err) && noexcept { |
1816 | 1814 | @\exposid{complete}@(Index(), @\exposidnc{op}@->@\exposid{state}@, @\exposidnc{op}@->@\exposid{rcvr}@, set_error_t(), std::forward<Error>(err)); |
1817 | 1815 | } |
1818 | 1816 |
|
1819 | 1817 | void set_stopped() && noexcept |
1820 | | - requires @\exposconcept{callable}@<decltype(@\exposid{complete}@), Index, @\exposid{state-t}@&, Rcvr&, set_stopped_t> { |
1821 | 1818 | @\exposid{complete}@(Index(), @\exposidnc{op}@->@\exposid{state}@, @\exposidnc{op}@->@\exposid{rcvr}@, set_stopped_t()); |
1822 | 1819 | } |
1823 | 1820 |
|
|
6730 | 6727 | Then: |
6731 | 6728 | \begin{itemize} |
6732 | 6729 | \item |
6733 | | -If \tcode{\libconcept{constructible_from}<\exposid{result-type}, decltype((vs))...>} |
6734 | | -is satisfied, |
6735 | | -the expression \tcode{set_value(\newline rcvr, vs...)} is equivalent to: |
| 6730 | +The expression \tcode{set_value(rcvr, vs...)} is equivalent to: |
6736 | 6731 | \begin{codeblock} |
6737 | 6732 | try { |
6738 | 6733 | rcvr.@\exposid{result-ptr}@->template emplace<1>(vs...); |
|
6741 | 6736 | } |
6742 | 6737 | @\placeholder{MAKE-NOEXCEPT}@(rcvr.@\exposid{continuation}@.resume()); |
6743 | 6738 | \end{codeblock} |
6744 | | -Otherwise, \tcode{set_value(rcvr, vs...)} is ill-formed. |
| 6739 | + |
| 6740 | +\mandates |
| 6741 | +\tcode{\libconcept{constructible_from}<\exposid{result-type}, decltype((vs))...>} |
| 6742 | +is satisfied. |
6745 | 6743 | \item |
6746 | 6744 | The expression \tcode{set_error(rcvr, err)} is equivalent to: |
6747 | 6745 | \begin{codeblock} |
|
0 commit comments