D++ (DPP)
C++ Discord API Bot Library
dpp::detail::task Namespace Reference

Classes

struct  final_awaiter
 The object automatically co_await-ed at the end of a task. Ensures nested coroutine chains are resolved, and the promise_t cleans up if it needs to. More...
 
struct  promise_base
 Base implementation of task::promise_t, without the logic that would depend on the return type. Meant to be inherited from. More...
 
struct  promise_t
 A task's promise_t type, with special logic for handling nested tasks. More...
 
struct  promise_t< void >
 Implementation of task::promise_t for void return type. More...
 
class  task_base
 Base class of dpp::task. More...
 

Typedefs

template<typename R >
using 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 class  state_t { started , awaited , done , dangling }
 State of a task. More...
 

Typedef Documentation

◆ handle_t

template<typename R >
using dpp::detail::task::handle_t = typedef 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.

Template Parameters
RReturn type of the task

Enumeration Type Documentation

◆ state_t

enum class dpp::detail::task::state_t
strong

State of a task.

Enumerator
started 

Task was started but never co_await-ed.

awaited 

Task was co_await-ed and is pending completion.

done 

Task is completed.

dangling 

Task is still running but the actual dpp::task object is destroyed.

D++ Library version 10.0.30D++ Library version 10.0.29D++ Library version 10.0.28D++ Library version 10.0.27D++ Library version 10.0.26D++ Library version 10.0.25D++ Library version 10.0.24D++ Library version 10.0.23D++ Library version 10.0.22D++ Library version 10.0.21D++ Library version 10.0.20D++ Library version 10.0.19D++ Library version 10.0.18D++ Library version 10.0.17D++ Library version 10.0.16D++ Library version 10.0.15D++ Library version 10.0.14D++ Library version 10.0.13D++ Library version 10.0.12D++ Library version 10.0.11D++ Library version 10.0.10D++ Library version 10.0.9D++ Library version 10.0.8D++ Library version 10.0.7D++ Library version 10.0.6D++ Library version 10.0.5D++ Library version 10.0.4D++ Library version 10.0.3D++ Library version 10.0.2D++ Library version 10.0.1D++ Library version 10.0.0D++ Library version 9.0.19D++ Library version 9.0.18D++ Library version 9.0.17D++ Library version 9.0.16D++ Library version 9.0.15D++ Library version 9.0.14D++ Library version 9.0.13D++ Library version 9.0.12D++ Library version 9.0.11D++ Library version 9.0.10D++ Library version 9.0.9D++ Library version 9.0.8D++ Library version 9.0.7D++ Library version 9.0.6D++ Library version 9.0.5D++ Library version 9.0.4D++ Library version 9.0.3D++ Library version 9.0.2D++ Library version 9.0.1D++ Library version 9.0.0D++ Library version 1.0.2D++ Library version 1.0.1D++ Library version 1.0.0