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