RTOS Wrapper
API reference
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
RtosSharedMutex Class Reference

#include <RtosMutex.h>

Public Member Functions

 RtosSharedMutex () noexcept
 
 ~RtosSharedMutex () noexcept
 
 RtosSharedMutex (const RtosSharedMutex &)=delete
 
RtosSharedMutex & operator= (const RtosSharedMutex &)=delete
 
 RtosSharedMutex (RtosSharedMutex &&other) noexcept
 
RtosSharedMutex & operator= (RtosSharedMutex &&other) noexcept
 
bool lock () noexcept
 
bool try_lock () noexcept
 
bool try_lock_for (uint32_t timeout_ms) noexcept
 
void unlock () noexcept
 
bool lock_shared () noexcept
 
bool try_lock_shared () noexcept
 
bool try_lock_shared_for (uint32_t timeout_ms) noexcept
 
void unlock_shared () noexcept
 

Private Attributes

OS_Mutex writer_mutex_
 
OS_Mutex reader_mutex_
 
std::atomic< int > readers_
 
std::atomic< bool > writer_active_
 

Constructor & Destructor Documentation

◆ RtosSharedMutex() [1/3]

RtosSharedMutex::RtosSharedMutex ( )
noexcept

◆ ~RtosSharedMutex()

RtosSharedMutex::~RtosSharedMutex ( )
noexcept

◆ RtosSharedMutex() [2/3]

RtosSharedMutex::RtosSharedMutex ( const RtosSharedMutex &  )
delete

◆ RtosSharedMutex() [3/3]

RtosSharedMutex::RtosSharedMutex ( RtosSharedMutex &&  other)
noexcept

Member Function Documentation

◆ lock()

bool RtosSharedMutex::lock ( )
noexcept

◆ lock_shared()

bool RtosSharedMutex::lock_shared ( )
noexcept

◆ operator=() [1/2]

RtosSharedMutex & RtosSharedMutex::operator= ( const RtosSharedMutex &  )
delete

◆ operator=() [2/2]

RtosSharedMutex & RtosSharedMutex::operator= ( RtosSharedMutex &&  other)
noexcept

◆ try_lock()

bool RtosSharedMutex::try_lock ( )
noexcept

◆ try_lock_for()

bool RtosSharedMutex::try_lock_for ( uint32_t  timeout_ms)
noexcept

◆ try_lock_shared()

bool RtosSharedMutex::try_lock_shared ( )
noexcept

◆ try_lock_shared_for()

bool RtosSharedMutex::try_lock_shared_for ( uint32_t  timeout_ms)
noexcept

◆ unlock()

void RtosSharedMutex::unlock ( )
noexcept

◆ unlock_shared()

void RtosSharedMutex::unlock_shared ( )
noexcept

Member Data Documentation

◆ reader_mutex_

OS_Mutex RtosSharedMutex::reader_mutex_
private

◆ readers_

std::atomic<int> RtosSharedMutex::readers_
private

◆ writer_active_

std::atomic<bool> RtosSharedMutex::writer_active_
private

◆ writer_mutex_

OS_Mutex RtosSharedMutex::writer_mutex_
private

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