CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::TAsyncSharedMutex< ExecutorType >::LockOperation Class Reference

#include <CeresEngine/Foundation/Threading/AsyncMutex.hpp>

Public Member Functions

 LockOperation (TAsyncSharedMutex &sm, const bool exclusive)
 
bool await_ready () const noexcept
 
bool await_suspend (const CoroutineHandle<> awaitingCoroutine) noexcept
 
Lock await_resume () noexcept
 

Private Attributes

TAsyncSharedMutexmMutex
 
bool mExclusive = false
 
CoroutineHandle mAwaitingCoroutine
 
LockOperationmNext = nullptr
 

Friends

class TAsyncSharedMutex
 

Constructor & Destructor Documentation

◆ LockOperation()

template<typename ExecutorType = InlineExecutor>
CeresEngine::TAsyncSharedMutex< ExecutorType >::LockOperation::LockOperation ( TAsyncSharedMutex sm,
const bool  exclusive 
)
inline

Member Function Documentation

◆ await_ready()

template<typename ExecutorType = InlineExecutor>
bool CeresEngine::TAsyncSharedMutex< ExecutorType >::LockOperation::await_ready ( ) const
inlinenoexcept

◆ await_resume()

template<typename ExecutorType = InlineExecutor>
Lock CeresEngine::TAsyncSharedMutex< ExecutorType >::LockOperation::await_resume ( )
inlinenoexcept

◆ await_suspend()

template<typename ExecutorType = InlineExecutor>
bool CeresEngine::TAsyncSharedMutex< ExecutorType >::LockOperation::await_suspend ( const CoroutineHandle<>  awaitingCoroutine)
inlinenoexcept

Friends And Related Symbol Documentation

◆ TAsyncSharedMutex

template<typename ExecutorType = InlineExecutor>
friend class TAsyncSharedMutex
friend

Member Data Documentation

◆ mAwaitingCoroutine

template<typename ExecutorType = InlineExecutor>
CoroutineHandle CeresEngine::TAsyncSharedMutex< ExecutorType >::LockOperation::mAwaitingCoroutine
private

◆ mExclusive

template<typename ExecutorType = InlineExecutor>
bool CeresEngine::TAsyncSharedMutex< ExecutorType >::LockOperation::mExclusive = false
private

◆ mMutex

template<typename ExecutorType = InlineExecutor>
TAsyncSharedMutex& CeresEngine::TAsyncSharedMutex< ExecutorType >::LockOperation::mMutex
private

◆ mNext

template<typename ExecutorType = InlineExecutor>
LockOperation* CeresEngine::TAsyncSharedMutex< ExecutorType >::LockOperation::mNext = nullptr
private

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