File frame.cpp¶
File List > modules > portable > frame.cpp
Go to the source code of this file.
#include "coroutine/frame.h"
Classes¶
Type | Name |
---|---|
struct | clang_frame_prefix Clang coroutine frame's prefix. |
struct | msvc_frame_prefix MSVC coroutine frame's prefix. |
Public Types¶
Type | Name |
---|---|
typedef clang_frame_prefix | gcc_frame_prefix GCC coroutine frame's prefix. |
typedef void(__cdecl *)(void *) | procedure_t |
Public Attributes¶
Type | Name |
---|---|
constexpr auto | align_req_v = = sizeof(void*) * 2 |
constexpr auto | aligned_size_v = = (sizeof(P) + align_req_v - 1u) & |
~(align_req_v - 1u) |
Public Functions¶
Type | Name |
---|---|
void | _coro_destroy (void *) |
size_t | _coro_done (void *) |
bool | _coro_finished (portable_coro_prefix * _Handle) |
size_t | _coro_resume (void *) |
void | destroy_wrapper (void * p) |
bool | done_wrapper (void * p) |
constexpr ptrdiff_t | portable_aligned_size (size_t _TypeSize) Simply calculate aligned size of the type. It is multiplier of 16. |
void | portable_coro_destroy (portable_coro_prefix * _Handle) |
bool | portable_coro_done (portable_coro_prefix * _Handle) |
portable_coro_prefix * | portable_coro_from_promise (void * _PromAddr, ptrdiff_t _PromSize) Get the frame prefix 'from_promise'. |
void * | portable_coro_get_promise (portable_coro_prefix * _Handle, ptrdiff_t _PromSize) 'get_promise' from the frame prefix |
void | portable_coro_resume (portable_coro_prefix * _Handle) |
void | resume_wrapper (void * p) |
Public Types Documentation¶
typedef gcc_frame_prefix¶
using gcc_frame_prefix = clang_frame_prefix;
The layout is unknown
typedef procedure_t¶
using procedure_t = void(__cdecl*)(void*);
Public Attributes Documentation¶
variable align_req_v¶
constexpr auto align_req_v;
variable aligned_size_v¶
constexpr auto aligned_size_v;
Public Functions Documentation¶
function _coro_destroy¶
void _coro_destroy (
void *
)
function _coro_done¶
size_t _coro_done (
void *
)
function _coro_finished¶
bool _coro_finished (
portable_coro_prefix * _Handle
)
function _coro_resume¶
size_t _coro_resume (
void *
)
function destroy_wrapper¶
template<bool B>
void destroy_wrapper (
void * p
)
function done_wrapper¶
template<bool B>
bool done_wrapper (
void * p
)
function portable_aligned_size¶
constexpr ptrdiff_t portable_aligned_size (
size_t _TypeSize
)
function portable_coro_destroy¶
void portable_coro_destroy (
portable_coro_prefix * _Handle
)
function portable_coro_done¶
bool portable_coro_done (
portable_coro_prefix * _Handle
)
function portable_coro_from_promise¶
portable_coro_prefix * portable_coro_from_promise (
void * _PromAddr,
ptrdiff_t _PromSize
)
function portable_coro_get_promise¶
void * portable_coro_get_promise (
portable_coro_prefix * _Handle,
ptrdiff_t _PromSize
)
function portable_coro_resume¶
void portable_coro_resume (
portable_coro_prefix * _Handle
)
function resume_wrapper¶
template<bool B>
void resume_wrapper (
void * p
)
The documentation for this class was generated from the following file modules/portable/frame.cpp