#include <cstdint>
#include <cstring>
#include <cstdio>
#include <cassert>
#include <string>
#include <vector>
#include <list>
#include <thread>
#include <future>
#include <ucontext.h>
Go to the source code of this file.
Classes | |
class | coroutine::Channel< Type > |
struct | coroutine::Ordinator |
struct | coroutine::Routine |
Namespaces | |
coroutine | |
Macros | |
#define | STACK_LIMIT (1024 * 1024) |
Typedefs | |
typedef unsigned | coroutine::routine_t |
Enumerations | |
enum | coroutine::ResumeResult { coroutine::ResumeResult::INVALID = -1, coroutine::ResumeResult::FINISHED = -2, coroutine::ResumeResult::YIELD = 0 } |
Functions | |
template<typename Function > | |
std::result_of< Function()>::type | coroutine::await (Function &&func) |
routine_t | coroutine::create (std::function< void()> f) |
routine_t | coroutine::current () |
void | coroutine::destroy (routine_t id) |
void | coroutine::entry () |
ResumeResult | coroutine::resume (routine_t id) |
void | coroutine::yield () |
Variables | |
static thread_local Ordinator | coroutine::ordinator |
#define STACK_LIMIT (1024 * 1024) |
Definition at line 24 of file coroutine.h.