proxygen
Traits.h File Reference
#include <folly/Traits.h>
#include <experimental/coroutine>
#include <type_traits>

Go to the source code of this file.

Classes

struct  folly::coro::detail::_is_coroutine_handle< T >
 
struct  folly::coro::detail::_is_coroutine_handle< std::experimental::coroutine_handle< T > >
 
struct  folly::coro::detail::_is_valid_await_suspend_return_type< T >
 
struct  folly::coro::is_awaiter< T, typename >
 
struct  folly::coro::detail::_has_member_operator_co_await< Awaitable, typename >
 
struct  folly::coro::detail::void_t< decltype(std::declval< Awaitable >().operator co_await())>
 
struct  folly::coro::detail::_has_free_operator_co_await< Awaitable, typename >
 
struct  folly::coro::detail::void_t< decltype(operator co_await(std::declval< Awaitable >()))>
 
struct  folly::coro::is_awaitable< T >
 
struct  folly::coro::awaiter_type< Awaitable, typename >
 
struct  folly::coro::awaiter_type< Awaitable, std::enable_if_t< is_awaitable_v< Awaitable > > >
 
struct  folly::coro::await_result< Awaitable, typename >
 
struct  folly::coro::await_result< Awaitable, std::enable_if_t< is_awaitable_v< Awaitable > > >
 

Namespaces

 folly
 —— Concurrent Priority Queue Implementation ——
 
 folly::coro
 
 folly::coro::detail
 

Typedefs

template<typename Awaitable >
using folly::coro::awaiter_type_t = typename awaiter_type< Awaitable >::type
 
template<typename Awaitable >
using folly::coro::await_result_t = typename await_result< Awaitable >::type
 

Functions

template<typename Awaitable , std::enable_if_t< folly::Conjunction< is_awaiter< Awaitable >, folly::Negation< detail::_has_free_operator_co_await< Awaitable >>, folly::Negation< detail::_has_member_operator_co_await< Awaitable >>>::value, int > = 0>
Awaitable & folly::coro::get_awaiter (Awaitable &&awaitable)
 
template<typename Awaitable , std::enable_if_t< detail::_has_member_operator_co_await< Awaitable >::value, int > = 0>
decltype(auto) folly::coro::get_awaiter (Awaitable &&awaitable)
 

Variables

template<typename T >
constexpr bool folly::coro::is_awaiter_v = is_awaiter<T>::value
 
template<typename T >
constexpr bool folly::coro::is_awaitable_v = is_awaitable<T>::value