If sizeof...(Ts) is greater than zero,
variant-or-empty<Ts...> denotes variant<Us...>
where Us... is the pack decay_t<Ts>...
with duplicate types removed.
The exposition-only concept single-sender is defined as follows:
namespace std::execution {template<class Sndr, class... Env>conceptsingle-sender=sender_in<Sndr, Env...>&&requires{typenamesingle-sender-value-type<Sndr, Env...>;
};
}
A type satisfies and models the exposition-only concept
valid-completion-signatures if
it is a specialization of the completion_signatures class template.