|
110 | 110 | <div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include <beman/execution/detail/sender_decompose.hpp></span></div> |
111 | 111 | <div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include <beman/execution/detail/tag_of_t.hpp></span></div> |
112 | 112 | <div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include <beman/execution/detail/state_type.hpp></span></div> |
113 | | -<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include <utility></span></div> |
114 | | -<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> </div> |
115 | | -<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment">// ----------------------------------------------------------------------------</span></div> |
116 | | -<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div> |
117 | | -<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="keyword">namespace </span>beman::execution::detail {</div> |
118 | | -<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="keyword">template</span> <<span class="keyword">typename</span> Sender, <span class="keyword">typename</span> Receiver></div> |
119 | | -<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="keyword">struct </span>basic_state {</div> |
120 | | -<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> basic_state(Sender&& sender, Receiver&& rcvr) <span class="keyword">noexcept</span>(<span class="keyword">true</span>)</div> |
121 | | -<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> : receiver(::std::move(rcvr)),</div> |
122 | | -<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> state(::beman::execution::detail::impls_for< ::beman::execution::tag_of_t<Sender> >::get_state(</div> |
123 | | -<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> ::std::forward<Sender>(sender), this->receiver)) {}</div> |
124 | | -<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div> |
125 | | -<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> Receiver receiver;</div> |
126 | | -<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> ::beman::execution::detail::state_type<Sender, Receiver> state;</div> |
127 | | -<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span>};</div> |
128 | | -<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="keyword">template</span> <<span class="keyword">typename</span> Sender, <span class="keyword">typename</span> Receiver></div> |
129 | | -<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span>basic_state(Sender&&, Receiver&&) -> basic_state<Sender&&, Receiver>;</div> |
130 | | -<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span>} <span class="comment">// namespace beman::execution::detail</span></div> |
131 | | -<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div> |
132 | | -<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="comment">// ----------------------------------------------------------------------------</span></div> |
133 | | -<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> </div> |
134 | | -<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="preprocessor">#endif</span></div> |
| 113 | +<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include <exception></span></div> |
| 114 | +<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include <utility></span></div> |
| 115 | +<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div> |
| 116 | +<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">// ----------------------------------------------------------------------------</span></div> |
| 117 | +<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div> |
| 118 | +<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="keyword">namespace </span>beman::execution::detail {</div> |
| 119 | +<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="keyword">template</span> <<span class="keyword">typename</span> Sender, <span class="keyword">typename</span> Receiver></div> |
| 120 | +<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="keyword">struct </span>basic_state {</div> |
| 121 | +<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> basic_state(Sender&& sender, Receiver&& rcvr) <span class="keyword">noexcept</span>(<span class="keyword">true</span>)</div> |
| 122 | +<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> : receiver(::std::move(rcvr)),</div> |
| 123 | +<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> state(::beman::execution::detail::impls_for< ::beman::execution::tag_of_t<Sender> >::get_state(</div> |
| 124 | +<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> ::std::forward<Sender>(sender), this->receiver)) {}</div> |
| 125 | +<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div> |
| 126 | +<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> Receiver receiver;</div> |
| 127 | +<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> ::beman::execution::detail::state_type<Sender, Receiver> state;</div> |
| 128 | +<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span>};</div> |
| 129 | +<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="keyword">template</span> <<span class="keyword">typename</span> Sender, <span class="keyword">typename</span> Receiver></div> |
| 130 | +<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span>basic_state(Sender&&, Receiver&&) -> basic_state<Sender&&, Receiver>;</div> |
| 131 | +<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span>} <span class="comment">// namespace beman::execution::detail</span></div> |
| 132 | +<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div> |
| 133 | +<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="comment">// ----------------------------------------------------------------------------</span></div> |
| 134 | +<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> </div> |
| 135 | +<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="preprocessor">#endif</span></div> |
135 | 136 | </div><!-- fragment --></div><!-- contents --> |
136 | 137 | </div><!-- doc-content --> |
137 | 138 | <!-- start footer part --> |
|
0 commit comments