16 FW_ASSERT(&this->m_delegate == reinterpret_cast<MutexInterface*>(&this->m_handle_storage[0]));
20 FW_ASSERT(&this->m_delegate == reinterpret_cast<MutexInterface*>(&this->m_handle_storage[0]));
25 FW_ASSERT(&this->m_delegate == reinterpret_cast<MutexInterface*>(&this->m_handle_storage[0]));
30 FW_ASSERT(&this->m_delegate == reinterpret_cast<MutexInterface*>(&this->m_handle_storage[0]));
31 return this->m_delegate.
take();
35 FW_ASSERT(&this->m_delegate == reinterpret_cast<MutexInterface*>(&this->m_handle_storage[0]));
36 return this->m_delegate.
release();
DelegateMutex()
Constructor. Mutex is unlocked when created.
virtual Status release()=0
unlock the mutex return status
~DelegateMutex() final
Destructor.
virtual Status take()=0
lock the mutex return status
virtual MutexHandle * getHandle()=0
return the underlying mutex handle (implementation specific)
Status release() override
unlock the mutex and get return status
virtual ~MutexInterface()=default
default virtual destructor
MutexHandle * getHandle() override
return the underlying mutex handle (implementation specific)
Status take() override
lock the mutex and get return status