libcopp 2.3.1
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Data Structures | Namespaces | Macros | Functions
coroutine_context.h File Reference
#include <libcopp/utils/config/libcopp_build_features.h>
#include <libcopp/utils/nostd/type_traits.h>
#include "libcopp/coroutine/coroutine_context_base.h"
#include "libcopp/coroutine/stackful_channel_common.h"
Include dependency graph for coroutine_context.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  coroutine_context
 base type of all stackful coroutine context More...
 
struct  coroutine_context::jump_src_data_t
 

Namespaces

namespace  this_coroutine
 

Macros

#define COROUTINE_CONTEXT_BASE_USING_BASE_SEGMENTED_STACKS(base_type)
 
#define COROUTINE_CONTEXT_BASE_USING_BASE(base_type)
 

Functions

LIBCOPP_COPP_API coroutine_contextthis_coroutine::get_coroutine () LIBCOPP_MACRO_NOEXCEPT
 get current coroutine
 
template<typename Tc >
LIBCOPP_COPP_API_HEAD_ONLY Tc * this_coroutine::get ()
 get current coroutine and try to convert type
 
LIBCOPP_COPP_API int this_coroutine::yield (void **priv_data=nullptr) LIBCOPP_MACRO_NOEXCEPT
 yield current coroutine
 

Macro Definition Documentation

◆ COROUTINE_CONTEXT_BASE_USING_BASE

#define COROUTINE_CONTEXT_BASE_USING_BASE (   base_type)
Value:
protected: \
using base_type::caller_; \
using base_type::callee_; \
using base_type::callee_stack_; \
COROUTINE_CONTEXT_BASE_USING_BASE_SEGMENTED_STACKS(base_type)

Definition at line 17 of file coroutine_context.h.

◆ COROUTINE_CONTEXT_BASE_USING_BASE_SEGMENTED_STACKS

#define COROUTINE_CONTEXT_BASE_USING_BASE_SEGMENTED_STACKS (   base_type)

Definition at line 14 of file coroutine_context.h.