D++ (DPP)  10.0.30
C++ Discord API Bot Library
task.h File Reference
#include <dpp/utility.h>
#include "coro.h"
#include <utility>
#include <type_traits>
#include <optional>
#include <functional>
#include <mutex>
#include <exception>
#include <atomic>
#include <iostream>
Include dependency graph for task.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  dpp::detail::std_coroutine::coroutine_traits< dpp::task< T >, Args... >
 Specialization of std::coroutine_traits, helps the standard library figure out a promise_t type from a coroutine function. More...
 
struct  dpp::detail::task::final_awaiter< R >
 The object automatically co_await-ed at the end of a task. More...
 
struct  dpp::detail::task::final_awaiter< R >
 The object automatically co_await-ed at the end of a task. More...
 
struct  dpp::detail::task::promise_base
 Base implementation of task::promise_t, without the logic that would depend on the return type. More...
 
struct  dpp::detail::task::promise_t< R >
 A task's promise_t type, with special logic for handling nested tasks. More...
 
struct  dpp::detail::task::promise_t< R >
 A task's promise_t type, with special logic for handling nested tasks. More...
 
struct  dpp::detail::task::promise_t< void >
 Implementation of task::promise_t for void return type. More...
 
struct  dpp::detail::task::promise_base::proxy_awaiter< A >
 Proxy awaitable that wraps any co_await inside the task and checks for cancellation on resumption. More...
 
class  dpp::task
 A coroutine task. It starts immediately on construction and can be co_await-ed, making it perfect for parallel coroutines returning a value. More...
 
class  dpp::detail::task::task_base< R >
 Base class of dpp::task. More...
 
struct  dpp::task_dummy
 

Namespaces

 dpp
 The main namespace for D++ functions.
 
 dpp::detail
 Implementation details for internal use only.
 
 dpp::detail::task
 

Typedefs

template<typename R >
using dpp::detail::task::handle_t = std_coroutine::coroutine_handle< promise_t< R > >
 Alias for <a href="https://en.cppreference.com/w/cpp/coroutine/coroutine_handle"std::coroutine_handle for a task's promise_t. More...
 

Enumerations

enum  dpp::detail::task::state_t {
  dpp::detail::task::state_t::started,
  dpp::detail::task::state_t::awaited,
  dpp::detail::task::state_t::done,
  dpp::detail::task::state_t::dangling
}
 State of a task. More...
 

Functions

 dpp::DPP_CHECK_ABI_COMPAT (task< void >, task_dummy) DPP_CHECK_ABI_COMPAT(task< uint64_t >