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  state_t { state_t::started, state_t::awaited, state_t::done, state_t::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

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 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