|  | 
| template<typename _Ty > | 
| bool | std::experimental::details::awaitabletraitsimpl::_TryAwaitReady (_Ty &_Obj, decltype(std::declval< _Ty >().await_ready(), 0), int) | 
|  | 
| template<typename _Ty > | 
| bool | std::experimental::details::awaitabletraitsimpl::_TryAwaitReady (_Ty &_Obj, decltype(await_ready(std::declval< _Ty >()), 0),...) | 
|  | 
| template<typename _Ty , typename _Handle > | 
| void | std::experimental::details::awaitabletraitsimpl::_TryAwaitSuspend (_Ty &_Obj, _Handle _Hnd, decltype(std::declval< _Ty >().await_suspend(std::declval< _Handle >()), 0), int) | 
|  | 
| template<typename _Ty , typename _Handle > | 
| void | std::experimental::details::awaitabletraitsimpl::_TryAwaitSuspend (_Ty &_Obj, _Handle _Hnd, decltype(await_suspend(std::declval< _Ty >(), std::declval< _Handle >()), 0),...) | 
|  | 
| template<typename _Ty > | 
| auto | std::experimental::details::awaitabletraitsimpl::_TryAwaitResume (_Ty &_Obj, decltype(std::declval< _Ty >().await_resume(), 0), int) | 
|  | 
| template<typename _Ty > | 
| auto | std::experimental::details::awaitabletraitsimpl::_TryAwaitResume (_Ty &_Obj, decltype(await_resume(std::declval< _Ty >()), 0),...) | 
|  | 
| template<typename _Ty > | 
| std::true_type | std::experimental::details::awaitabletraitsimpl::_TryAwaitable (_Ty, decltype(_TryAwaitReady(std::declval< std::decay_t< _Ty >>(), 0, 0), _TryAwaitSuspend(std::declval< std::decay_t< _Ty >>(), std::experimental::coroutine_handle<>(), 0, 0), _TryAwaitResume(std::declval< std::decay_t< _Ty >>(), 0, 0), 0)) | 
|  | 
| std::false_type | std::experimental::details::awaitabletraitsimpl::_TryAwaitable (...) | 
|  | 
| template<class _Ty > | 
| bool | Concurrency::await_ready (const task< _Ty > &_Task) | 
|  | 
| template<class _Ty , typename _Handle > | 
| void | Concurrency::await_suspend (task< _Ty > &_Task, _Handle _ResumeCb) | 
|  | 
| template<class _Ty > | 
| auto | Concurrency::await_resume (const task< _Ty > &_Task) | 
|  |