LeechCraft  0.6.70-18450-gabe19ee3b0
Modular cross-platform feature rich live environment.
LC::Util::Task< R, Extensions >::promise_type Struct Reference

#include "task.h"

+ Inheritance diagram for LC::Util::Task< R, Extensions >::promise_type:
+ Collaboration diagram for LC::Util::Task< R, Extensions >::promise_type:

Public Member Functions

void lock () const
 
void unlock () const
 
auto GetAddress ()
 
Task get_return_object ()
 
std::suspend_never initial_suspend () const noexcept
 
auto final_suspend () noexcept
 
void unhandled_exception ()
 
void IncRef ()
 
void DecRef ()
 
- Public Member Functions inherited from LC::Util::detail::PromiseRet< R >
template<typename U = R>
void return_value (this auto &&self, U &&val)
 

Additional Inherited Members

- Public Types inherited from LC::Util::detail::PromiseRet< R >
using ReturnType_t = R
 
- Public Attributes inherited from LC::Util::detail::PromiseRet< R >
std::optional< R > Ret_
 
- Public Attributes inherited from LC::Util::detail::PromiseBase
std::atomic< size_t > Refs_ = 1
 
std::atomic< std::coroutine_handle<> > Continuation_ {}
 
std::exception_ptr Exception_ {}
 
- Static Public Attributes inherited from LC::Util::detail::PromiseRet< R >
static constexpr bool IsVoid = false
 

Detailed Description

template<typename R, template< typename > typename... Extensions>
struct LC::Util::Task< R, Extensions >::promise_type

Definition at line 162 of file task.h.

Member Function Documentation

◆ DecRef()

template<typename R, template< typename > typename... Extensions>
void LC::Util::Task< R, Extensions >::promise_type::DecRef ( )
inline

Definition at line 208 of file task.h.

References LC::Util::detail::PromiseBase::Refs_.

◆ final_suspend()

template<typename R, template< typename > typename... Extensions>
auto LC::Util::Task< R, Extensions >::promise_type::final_suspend ( )
inlinenoexcept

Definition at line 186 of file task.h.

References LC::Util::requires().

+ Here is the call graph for this function:

◆ get_return_object()

template<typename R, template< typename > typename... Extensions>
Task LC::Util::Task< R, Extensions >::promise_type::get_return_object ( )
inline

Definition at line 179 of file task.h.

◆ GetAddress()

template<typename R, template< typename > typename... Extensions>
auto LC::Util::Task< R, Extensions >::promise_type::GetAddress ( )
inline

Definition at line 177 of file task.h.

◆ IncRef()

template<typename R, template< typename > typename... Extensions>
void LC::Util::Task< R, Extensions >::promise_type::IncRef ( )
inline

Definition at line 203 of file task.h.

References LC::Util::detail::PromiseBase::Refs_.

◆ initial_suspend()

template<typename R, template< typename > typename... Extensions>
std::suspend_never LC::Util::Task< R, Extensions >::promise_type::initial_suspend ( ) const
inlinenoexcept

Definition at line 184 of file task.h.

◆ lock()

template<typename R, template< typename > typename... Extensions>
void LC::Util::Task< R, Extensions >::promise_type::lock ( ) const
inline

Definition at line 165 of file task.h.

References LC::Util::requires().

+ Here is the call graph for this function:

◆ unhandled_exception()

template<typename R, template< typename > typename... Extensions>
void LC::Util::Task< R, Extensions >::promise_type::unhandled_exception ( )
inline

Definition at line 198 of file task.h.

References LC::Util::detail::PromiseBase::Exception_.

◆ unlock()

template<typename R, template< typename > typename... Extensions>
void LC::Util::Task< R, Extensions >::promise_type::unlock ( ) const
inline

Definition at line 171 of file task.h.

References LC::Util::requires().

+ Here is the call graph for this function:

The documentation for this struct was generated from the following file: