C++ Library Extensions 2022.12.09
To help learn modern C++ programming
ResumableType< SemanticReturnType > Class Template Reference

#include <032-coroutine.hpp>

Classes

class  PromiseType
 

Public Types

using promise_type = PromiseType< SemanticReturnType >
 
using promise_handle_type = std::experimental::coroutine_handle< promise_type >
 
using promise_type = PromiseType< SemanticReturnType >
 
using coroutine_frame_type = typename promise_type::coroutine_frame_type
 

Public Member Functions

 ResumableType (const ResumableType &)=delete
 
 ResumableType (ResumableType &&rhs)
 
SemanticReturnType get ()
 
bool resume ()
 
SemanticReturnType next ()
 
 ~ResumableType ()
 
 ResumableType (const ResumableType &)=delete
 
 ResumableType (ResumableType &&rhs)
 
bool resume ()
 
SemanticReturnType get ()
 
void destroy ()
 
 ~ResumableType ()
 

Friends

template<typename Type >
class PromiseType
 

Detailed Description

template<typename SemanticReturnType>
class ResumableType< SemanticReturnType >

Definition at line 51 of file 033-coroutine.hpp.

Member Typedef Documentation

◆ coroutine_frame_type

template<typename SemanticReturnType >
using ResumableType< SemanticReturnType >::coroutine_frame_type = typename promise_type::coroutine_frame_type

Definition at line 135 of file 033-coroutine.hpp.

◆ promise_handle_type

template<typename SemanticReturnType >
using ResumableType< SemanticReturnType >::promise_handle_type = std::experimental::coroutine_handle<promise_type>

Definition at line 144 of file 032-coroutine.hpp.

◆ promise_type [1/2]

template<typename SemanticReturnType >
using ResumableType< SemanticReturnType >::promise_type = PromiseType<SemanticReturnType>

Definition at line 141 of file 032-coroutine.hpp.

◆ promise_type [2/2]

template<typename SemanticReturnType >
using ResumableType< SemanticReturnType >::promise_type = PromiseType<SemanticReturnType>

Definition at line 133 of file 033-coroutine.hpp.

Constructor & Destructor Documentation

◆ ResumableType() [1/4]

template<typename SemanticReturnType >
ResumableType< SemanticReturnType >::ResumableType ( const ResumableType< SemanticReturnType > &  )
delete

◆ ResumableType() [2/4]

template<typename SemanticReturnType >
ResumableType< SemanticReturnType >::ResumableType ( ResumableType< SemanticReturnType > &&  rhs)
inline

Definition at line 162 of file 032-coroutine.hpp.

◆ ~ResumableType() [1/2]

template<typename SemanticReturnType >
ResumableType< SemanticReturnType >::~ResumableType ( )
inline

Definition at line 200 of file 032-coroutine.hpp.

◆ ResumableType() [3/4]

template<typename SemanticReturnType >
ResumableType< SemanticReturnType >::ResumableType ( const ResumableType< SemanticReturnType > &  )
delete

◆ ResumableType() [4/4]

template<typename SemanticReturnType >
ResumableType< SemanticReturnType >::ResumableType ( ResumableType< SemanticReturnType > &&  rhs)
inline

Definition at line 149 of file 033-coroutine.hpp.

◆ ~ResumableType() [2/2]

template<typename SemanticReturnType >
ResumableType< SemanticReturnType >::~ResumableType ( )
inline

Definition at line 191 of file 033-coroutine.hpp.

Here is the call graph for this function:

Member Function Documentation

◆ destroy()

template<typename SemanticReturnType >
void ResumableType< SemanticReturnType >::destroy ( )
inline

Definition at line 182 of file 033-coroutine.hpp.

Here is the caller graph for this function:

◆ get() [1/2]

template<typename SemanticReturnType >
SemanticReturnType ResumableType< SemanticReturnType >::get ( )
inline

Definition at line 170 of file 032-coroutine.hpp.

Here is the caller graph for this function:

◆ get() [2/2]

template<typename SemanticReturnType >
SemanticReturnType ResumableType< SemanticReturnType >::get ( )
inline

Definition at line 169 of file 033-coroutine.hpp.

◆ next()

template<typename SemanticReturnType >
SemanticReturnType ResumableType< SemanticReturnType >::next ( )
inline

Definition at line 194 of file 032-coroutine.hpp.

Here is the call graph for this function:

◆ resume() [1/2]

template<typename SemanticReturnType >
bool ResumableType< SemanticReturnType >::resume ( )
inline

Definition at line 182 of file 032-coroutine.hpp.

Here is the caller graph for this function:

◆ resume() [2/2]

template<typename SemanticReturnType >
bool ResumableType< SemanticReturnType >::resume ( )
inline

Definition at line 157 of file 033-coroutine.hpp.

Friends And Related Function Documentation

◆ PromiseType

template<typename SemanticReturnType >
template<typename Type >
friend class PromiseType
friend

Definition at line 132 of file 032-coroutine.hpp.


The documentation for this class was generated from the following files: