#include <dpp/utility.h>
#include "coro.h"
#include <utility>
#include <type_traits>
#include <optional>
#include <functional>
#include <mutex>
#include <exception>
#include <atomic>
#include <iostream>
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 > | |