in include/unifex/stop_when.hpp [174:182]
explicit type(
Source&& source,
Trigger&& trigger,
Receiver2&& receiver)
noexcept(is_nothrow_connectable_v<Source, source_receiver> &&
is_nothrow_connectable_v<Trigger, trigger_receiver> &&
std::is_nothrow_constructible_v<Receiver, Receiver2>)
: receiver_((Receiver2 &&) receiver)
, sourceOp_(unifex::connect((Source &&) source, source_receiver{this}))