File frame.h

File List > coroutine > frame.h

Go to the source code of this file.

<coroutine> header withstd:: namespace/More...

  • #include <cstddef>
  • #include <cstdint>
  • #include <type_traits>
  • #include <exception>
  • #include <functional>

Namespaces

Type Name
namespace std
namespace experimental

Classes

Type Name
struct coro_traits_sfinae <class _Ret, class>
struct coro_traits_sfinae< _Ret, void_t< typename _Ret::promise_type > > <class _Ret>
struct coroutine_handle <_PromiseT>
struct coroutine_handle <_PromiseT>
struct coroutine_handle< noop_coroutine_promise > <>
struct coroutine_handle< void > <>
struct coroutine_traits <typename _Ret, _Ts>
struct hash< coroutine_handle< _PromiseT > > <typename _PromiseT>
struct noop_coroutine_promise
class suspend_always
class suspend_never

Public Functions

Type Name
void portable_coro_destroy (portable_coro_prefix * _Handle)
bool portable_coro_done (portable_coro_prefix * _Handle)
auto 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)

Macros

Type Name
define _COROUTINE_
define _EXPERIMENTAL_RESUMABLE_
define _RESUMABLE_FUNCTIONS_SUPPORTED

Detailed Description

Author:

github.com/luncliff (luncliff@gmail.com)

Note:

The implementation adjusts difference of coroutine frame between compilers

See also: <experimental/resumable> from Microsoft VC++ (since 2017 Feb.)

See also: <experimental/coroutine> from LLVM libcxx (since 6.0)

See also: https://github.com/iains/gcc-cxx-coroutines/tree/c%2B%2B-coroutines/gcc/testsuite/g%2B%2B.dg/coroutines

See also: 17.12 Coroutines [support.coroutine]

See also: https://en.cppreference.com/w/cpp/header

See also: http://www.open-std.org/jtc1/sc22/wg21/docs/papers

Copyright:

CC BY 4.0

Public Functions Documentation

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

auto 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
) 

Macro Definition Documentation

define _COROUTINE_

#define _COROUTINE_ 

define _EXPERIMENTAL_RESUMABLE_

#define _EXPERIMENTAL_RESUMABLE_ 

define _RESUMABLE_FUNCTIONS_SUPPORTED

#define _RESUMABLE_FUNCTIONS_SUPPORTED 

The documentation for this class was generated from the following file interface/coroutine/frame.h