### Disposition

A type `X` satisfies the `disposition` concept if it is nothrow default-constructible, nothrow move-constructible, nothrow move-assignable, as well as satisfying the additional requirements listed below. In the following table `x` denotes a glvalue of type `X`.

Table 12. Disposition requirements

expression | return type | assertion/note pre/post-conditions
--- | --- | ---
`asio::disposition_traits<X>::not_an_error(x)` | `bool` |
`asio::disposition_traits<X>::throw_exception(x)` |  | pre: `asio::disposition_traits<X>::not_an_error(x)` is `false.` This function call must exit via an exception.
`asio::disposition_traits<X>::to_exception_ptr(x)` | `std::exception_ptr` |