concept Sender
The Sender concept holds all the requirements for a
sender.
Prototype
template<typename T>
concept Sender = ...;
Requirements
T has a value_type, is move constructible, and can be
connected.
Examples
struct [[nodiscard]] write_sender {
using value_type = int; // Status code
uv_stream_t *handle;
const uv_buf_t *bufs;
size_t nbufs;
};
/* operation omitted for brevity */
template <typename Receiver>
/*operation*/<Receiver> connect(write_sender s, Receiver r) {
return {s, std::move(r)};
}
static_assert(async::Sender<write_sender>);