MCPcopy Create free account
hub / github.com/NVIDIA/stdexec / __start_next

Method __start_next

include/exec/sequence/iterate.hpp:138–158  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

136 {}
137
138 constexpr void __start_next() noexcept final
139 {
140 if (this->__iterator_ == this->__sentinel_)
141 {
142 STDEXEC::set_value(static_cast<_Receiver&&>(this->__rcvr_));
143 }
144 else
145 {
146 STDEXEC_TRY
147 {
148 STDEXEC::start(__op_.__emplace_from(
149 STDEXEC::connect,
150 exec::set_next(this->__rcvr_,
151 exec::sequence(STDEXEC::schedule(this->__scheduler_),
152 __sender<_Iterator, _Sentinel>{this})),
153 __next_receiver_t{this}));
154 }
155 STDEXEC_CATCH_ALL
156 {
157 STDEXEC::set_error(static_cast<_Receiver&&>(this->__rcvr_), std::current_exception());
158 }
159 }
160 }
161

Callers 1

set_valueMethod · 0.45

Calls 6

set_valueFunction · 0.85
startFunction · 0.70
sequenceClass · 0.50
scheduleFunction · 0.50
set_errorFunction · 0.50
__emplace_fromMethod · 0.45

Tested by

no test coverage detected