### execution::set_value

A customisation point that delivers a value to a receiver.

    constexpr unspecified set_value = unspecified;

The name `execution::set_value` denotes a customisation point object. The expression `execution::set_value(R, Vs...)` for some subexpressions `R` and `Vs...` is expression-equivalent to:

- `R.set_value(Vs...)`, if that expression is valid. If the function selected does not send the value(s) `Vs...` to the receiver `R`'s value channel, the program is ill-formed with no diagnostic required.
- Otherwise, `set_value(R, Vs...)`, if that expression is valid, with overload resolution performed in a context that includes the declaration `void set_value();` and that does not include a declaration of `execution::set_value`. If the function selected by overload resolution does not send the value(s) `Vs...` to the receiver `R`'s value channel, the program is ill-formed with no diagnostic required.
- Otherwise, `execution::set_value(R, Vs...)` is ill-formed.

##### Requirements

Header: `asio/execution/set_value.hpp`

Convenience header: `asio/execution.hpp`