#### associated_cancellation_slot< reference_wrapper< T >, CancellationSlot >::type

Forwards `type` to the associator specialisation for the unwrapped type `T`.

    typedef associated_cancellation_slot< T, CancellationSlot >::type type;

###### Types

Name | Description
--- | ---
type | If T has a nested type cancellation_slot_type, T::cancellation_slot_type. Otherwise CancellationSlot.

###### Member Functions

Name | Description
--- | ---
get [static] | If T has a nested type cancellation_slot_type, returns t.get_cancellation_slot(). Otherwise returns type(). — If T has a nested type cancellation_slot_type, returns t.get_cancellation_slot(). Otherwise returns s.

A program may specialise this traits type if the `T` template parameter in the specialisation is a user-defined type. The template parameter `CancellationSlot` shall be a type meeting the CancellationSlot requirements.

Specialisations shall meet the following requirements, where `t` is a const reference to an object of type `T`, and `s` is an object of type `CancellationSlot`.

- Provide a nested typedef `type` that identifies a type meeting the CancellationSlot requirements.
- Provide a noexcept static member function named `get`, callable as `get(t)` and with return type `type` or a (possibly const) reference to `type`.
- Provide a noexcept static member function named `get`, callable as `get(t,s)` and with return type `type` or a (possibly const) reference to `type`.

###### Requirements

Header: `asio/associated_cancellation_slot.hpp`

Convenience header: `asio.hpp`