STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Functions
std::experimental::details::awaitabletraitsimpl Namespace Reference

Functions

template<typename _Ty >
bool _TryAwaitReady (_Ty &_Obj, decltype(std::declval< _Ty >().await_ready(), 0), int)
 
template<typename _Ty >
bool _TryAwaitReady (_Ty &_Obj, decltype(await_ready(std::declval< _Ty >()), 0),...)
 
template<typename _Ty , typename _Handle >
void _TryAwaitSuspend (_Ty &_Obj, _Handle _Hnd, decltype(std::declval< _Ty >().await_suspend(std::declval< _Handle >()), 0), int)
 
template<typename _Ty , typename _Handle >
void _TryAwaitSuspend (_Ty &_Obj, _Handle _Hnd, decltype(await_suspend(std::declval< _Ty >(), std::declval< _Handle >()), 0),...)
 
template<typename _Ty >
auto _TryAwaitResume (_Ty &_Obj, decltype(std::declval< _Ty >().await_resume(), 0), int)
 
template<typename _Ty >
auto _TryAwaitResume (_Ty &_Obj, decltype(await_resume(std::declval< _Ty >()), 0),...)
 
template<typename _Ty >
std::true_type _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 _TryAwaitable (...)
 

Function Documentation

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)   
)
inline
std::false_type std::experimental::details::awaitabletraitsimpl::_TryAwaitable (   ...)
inline
template<typename _Ty >
bool std::experimental::details::awaitabletraitsimpl::_TryAwaitReady ( _Ty &  _Obj,
decltype(std::declval< _Ty >().await_ready(), 0)  ,
int   
)
inline
96  {
97  return _Obj.await_ready();
98  }
template<typename _Ty >
bool std::experimental::details::awaitabletraitsimpl::_TryAwaitReady ( _Ty &  _Obj,
decltype(await_ready(std::declval< _Ty >()), 0)  ,
  ... 
)
inline
101  {
102  return await_ready(_Obj);
103  }
bool await_ready(const task< _Ty > &_Task)
Definition: pplawait.h:173
template<typename _Ty >
auto std::experimental::details::awaitabletraitsimpl::_TryAwaitResume ( _Ty &  _Obj,
decltype(std::declval< _Ty >().await_resume(), 0)  ,
int   
)
inline
118  {
119  return _Obj.await_resume();
120  }
template<typename _Ty >
auto std::experimental::details::awaitabletraitsimpl::_TryAwaitResume ( _Ty &  _Obj,
decltype(await_resume(std::declval< _Ty >()), 0)  ,
  ... 
)
inline
123  {
124  return await_resume(_Obj);
125  }
auto await_resume(const task< _Ty > &_Task)
Definition: pplawait.h:188
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   
)
inline
107  {
108  _Obj.await_suspend(_Hnd);
109  }
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)  ,
  ... 
)
inline
112  {
113  await_suspend(_Obj, _Hnd);
114  }
void await_suspend(task< _Ty > &_Task, _Handle _ResumeCb)
Definition: pplawait.h:179