proxygen
folly::coro::detail::BlockingWaitTask< T > Class Template Reference

#include <BlockingWait.h>

Public Types

using promise_type = BlockingWaitPromise< T >
 
using handle_t = std::experimental::coroutine_handle< promise_type >
 

Public Member Functions

 BlockingWaitTask (handle_t coro) noexcept
 
 BlockingWaitTask (BlockingWaitTask &&other) noexcept
 
BlockingWaitTaskoperator= (BlockingWaitTask &&other) noexcept=delete
 
 ~BlockingWaitTask ()
 
decltype(auto) getAsTry ()&&
 
decltype(auto) get ()&&
 

Private Attributes

handle_t coro_
 

Detailed Description

template<typename T>
class folly::coro::detail::BlockingWaitTask< T >

Definition at line 35 of file BlockingWait.h.

Member Typedef Documentation

template<typename T>
using folly::coro::detail::BlockingWaitTask< T >::handle_t = std::experimental::coroutine_handle<promise_type>

Definition at line 203 of file BlockingWait.h.

Definition at line 202 of file BlockingWait.h.

Constructor & Destructor Documentation

template<typename T>
folly::coro::detail::BlockingWaitTask< T >::BlockingWaitTask ( handle_t  coro)
inlineexplicitnoexcept

Definition at line 205 of file BlockingWait.h.

template<typename T>
folly::coro::detail::BlockingWaitTask< T >::BlockingWaitTask ( BlockingWaitTask< T > &&  other)
inlinenoexcept

Definition at line 207 of file BlockingWait.h.

References folly::pushmi::__adl::noexcept().

208  : coro_(std::exchange(other.coro_, {})) {}
T exchange(T &obj, U &&new_value)
Definition: Utility.h:120
template<typename T>
folly::coro::detail::BlockingWaitTask< T >::~BlockingWaitTask ( )
inline

Definition at line 212 of file BlockingWait.h.

212  {
213  if (coro_) {
214  coro_.destroy();
215  }
216  }

Member Function Documentation

template<typename T>
decltype(auto) folly::coro::detail::BlockingWaitTask< T >::get ( )
inline

Definition at line 222 of file BlockingWait.h.

222  {
223  return coro_.promise().get();
224  }
template<typename T>
decltype(auto) folly::coro::detail::BlockingWaitTask< T >::getAsTry ( )
inline

Definition at line 218 of file BlockingWait.h.

218  {
219  return coro_.promise().getAsTry();
220  }
template<typename T>
BlockingWaitTask& folly::coro::detail::BlockingWaitTask< T >::operator= ( BlockingWaitTask< T > &&  other)
deletenoexcept

Member Data Documentation

template<typename T>
handle_t folly::coro::detail::BlockingWaitTask< T >::coro_
private

Definition at line 227 of file BlockingWait.h.


The documentation for this class was generated from the following file: