D++ (DPP)
C++ Discord API Bot Library
|
Implementation details for internal use only. More...
Namespaces | |
namespace | async |
namespace | coroutine |
namespace | event_router |
Internal cogwheels for dpp::event_router_t. | |
namespace | job |
namespace | std_coroutine |
Alias for either std or std::experimental depending on compiler and library. Used by coroutine implementation. | |
namespace | task |
namespace | when_any |
Internal cogwheels for dpp::when_any. | |
Classes | |
struct | empty_tag_t |
Empty struct used for overload resolution. More... | |
Typedefs | |
template<typename T > | |
using | awaitable_result = decltype(co_await_resolve(std::declval< T >()).await_resume()) |
Convenience alias for the result of a certain awaitable's await_resume. More... | |
Functions | |
decltype(auto) | co_await_resolve (auto &&expr) |
Mimics the compiler's behavior of using co_await. That is, it returns whichever works first, in order : expr.operator co_await(); > operator co_await(expr) > expr More... | |
Variables | |
template<typename T > | |
bool | has_co_await_member |
Concept to check if a type has a useable operator co_await() member. More... | |
template<typename T > | |
bool | has_free_co_await |
Concept to check if a type has a useable overload of the free function operator co_await(expr) More... | |
template<typename T > | |
bool | has_await_members |
Concept to check if a type has useable await_ready() , await_suspend() and await_resume() member functions. More... | |
Implementation details for internal use only.
using dpp::detail::awaitable_result = typedef decltype(co_await_resolve(std::declval<T>()).await_resume()) |
Convenience alias for the result of a certain awaitable's await_resume.
decltype(auto) dpp::detail::co_await_resolve | ( | auto && | expr | ) |
Mimics the compiler's behavior of using co_await. That is, it returns whichever works first, in order : expr.operator co_await();
> operator co_await(expr)
> expr
This function is conditionally noexcept, if the returned expression also is.
bool dpp::detail::has_await_members |
Concept to check if a type has useable await_ready()
, await_suspend()
and await_resume()
member functions.
bool dpp::detail::has_co_await_member |
Concept to check if a type has a useable operator co_await()
member.
bool dpp::detail::has_free_co_await |
Concept to check if a type has a useable overload of the free function operator co_await(expr)