in include/unifex/retry_when.hpp [252:263]
explicit type(Source2&& source, Func2&& func, Receiver2&& receiver)
noexcept(std::is_nothrow_constructible_v<Source, Source2> &&
std::is_nothrow_constructible_v<Func, Func2> &&
std::is_nothrow_constructible_v<Receiver, Receiver2> &&
is_nothrow_connectable_v<Source&, source_receiver_t>)
: source_((Source2&&)source)
, func_((Func2&&)func)
, receiver_((Receiver&&)receiver) {
unifex::activate_union_member_with(sourceOp_, [&] {
return unifex::connect(source_, source_receiver_t{this});
});
}