KiCad PCB EDA Suite
Loading...
Searching...
No Matches
EASYPC::LOAD_TASK Class Reference

A loader coroutine. Awaiting one queues it on its archive's frame stack instead of nesting the call. More...

#include <easypc_archive.h>

Classes

struct  promise_type
 

Public Types

using HANDLE = std::coroutine_handle<promise_type>
 

Public Member Functions

 LOAD_TASK (LOAD_TASK &&aOther) noexcept
 
LOAD_TASK & operator= (LOAD_TASK &&)=delete
 
 ~LOAD_TASK ()
 
HANDLE Release ()
 
bool await_ready () const noexcept
 
void await_suspend (std::coroutine_handle<> aAwaiting)
 
void await_resume () const noexcept
 

Private Member Functions

 LOAD_TASK (HANDLE aHandle)
 

Private Attributes

HANDLE m_handle
 

Detailed Description

A loader coroutine. Awaiting one queues it on its archive's frame stack instead of nesting the call.

Definition at line 55 of file easypc_archive.h.

Member Typedef Documentation

◆ HANDLE

using EASYPC::LOAD_TASK::HANDLE = std::coroutine_handle<promise_type>

Definition at line 88 of file easypc_archive.h.

Constructor & Destructor Documentation

◆ LOAD_TASK() [1/2]

EASYPC::LOAD_TASK::LOAD_TASK ( LOAD_TASK && aOther)
inlinenoexcept

Definition at line 90 of file easypc_archive.h.

References LOAD_TASK(), and m_handle.

Referenced by EASYPC::LOAD_TASK::promise_type::get_return_object(), LOAD_TASK(), and operator=().

◆ ~LOAD_TASK()

EASYPC::LOAD_TASK::~LOAD_TASK ( )
inline

Definition at line 97 of file easypc_archive.h.

References m_handle.

◆ LOAD_TASK() [2/2]

EASYPC::LOAD_TASK::LOAD_TASK ( HANDLE aHandle)
inlineexplicitprivate

Definition at line 110 of file easypc_archive.h.

References m_handle.

Member Function Documentation

◆ await_ready()

bool EASYPC::LOAD_TASK::await_ready ( ) const
inlinenoexcept

Definition at line 105 of file easypc_archive.h.

◆ await_resume()

void EASYPC::LOAD_TASK::await_resume ( ) const
inlinenoexcept

Definition at line 107 of file easypc_archive.h.

◆ await_suspend()

void EASYPC::LOAD_TASK::await_suspend ( std::coroutine_handle<> aAwaiting)

Definition at line 340 of file easypc_archive.cpp.

References m_handle, and Release().

◆ operator=()

LOAD_TASK & EASYPC::LOAD_TASK::operator= ( LOAD_TASK && )
delete

References LOAD_TASK().

◆ Release()

HANDLE EASYPC::LOAD_TASK::Release ( )
inline

Definition at line 103 of file easypc_archive.h.

References m_handle.

Referenced by await_suspend(), EASYPC::ARCHIVE::drive(), and EASYPC::ARCHIVE::pushObjectLoad().

Member Data Documentation

◆ m_handle

HANDLE EASYPC::LOAD_TASK::m_handle
private

Definition at line 115 of file easypc_archive.h.

Referenced by await_suspend(), LOAD_TASK(), LOAD_TASK(), Release(), and ~LOAD_TASK().


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