### is_disposition

Trait used for testing whether a type satisfies the requirements of a disposition.

    template<
        typename T>
    struct is_disposition :
      public integral_constant< bool, automatically_determined >

To be a valid disposition, a type must be nothrow default-constructible, nothrow move-constructible, nothrow move-assignable, and there must be a specialisation of the `disposition_traits` template for the type that provides the following static member functions: * `not_an_error:` Takes an argument of type `const T&` and returns a `bool`.

- `throw_exception:` Takes an argument of type `T`. The caller of this function must not pass a disposition value for which `not_an_error` returns true. This function must not return.
- `to_exception_ptr:` Takes an argument of type `T` and returns a value of type `std::exception_ptr`.

##### Requirements

Header: `asio/disposition.hpp`

Convenience header: `asio.hpp`