RTOS Wrapper
API reference
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
RtosUniqueLock< MutexT > Class Template Reference

#include <RtosMutex.h>

Public Member Functions

 RtosUniqueLock (MutexT &mutex, uint32_t timeout_ms=0) noexcept
 Construct and lock the mutex.
 
 ~RtosUniqueLock () noexcept
 
 RtosUniqueLock (const RtosUniqueLock &)=delete
 
RtosUniqueLock & operator= (const RtosUniqueLock &)=delete
 
 RtosUniqueLock (RtosUniqueLock &&other) noexcept
 
RtosUniqueLock & operator= (RtosUniqueLock &&other) noexcept
 
bool IsLocked () const noexcept
 Check if the mutex was successfully locked.
 
void Unlock () noexcept
 Manually unlock before destruction.
 

Private Attributes

MutexT * mutex_
 
bool locked_
 

Constructor & Destructor Documentation

◆ RtosUniqueLock() [1/3]

template<typename MutexT >
RtosUniqueLock< MutexT >::RtosUniqueLock ( MutexT &  mutex,
uint32_t  timeout_ms = 0 
)
inlineexplicitnoexcept

Construct and lock the mutex.

Parameters
mutexReference to the mutex to lock.
timeout_msTimeout in ms (0 = block forever).

◆ ~RtosUniqueLock()

template<typename MutexT >
RtosUniqueLock< MutexT >::~RtosUniqueLock ( )
inlinenoexcept

◆ RtosUniqueLock() [2/3]

template<typename MutexT >
RtosUniqueLock< MutexT >::RtosUniqueLock ( const RtosUniqueLock< MutexT > &  )
delete

◆ RtosUniqueLock() [3/3]

template<typename MutexT >
RtosUniqueLock< MutexT >::RtosUniqueLock ( RtosUniqueLock< MutexT > &&  other)
inlinenoexcept

Member Function Documentation

◆ IsLocked()

template<typename MutexT >
bool RtosUniqueLock< MutexT >::IsLocked ( ) const
inlinenoexcept

Check if the mutex was successfully locked.

◆ operator=() [1/2]

template<typename MutexT >
RtosUniqueLock & RtosUniqueLock< MutexT >::operator= ( const RtosUniqueLock< MutexT > &  )
delete

◆ operator=() [2/2]

template<typename MutexT >
RtosUniqueLock & RtosUniqueLock< MutexT >::operator= ( RtosUniqueLock< MutexT > &&  other)
inlinenoexcept

◆ Unlock()

template<typename MutexT >
void RtosUniqueLock< MutexT >::Unlock ( )
inlinenoexcept

Manually unlock before destruction.

Member Data Documentation

◆ locked_

template<typename MutexT >
bool RtosUniqueLock< MutexT >::locked_
private

◆ mutex_

template<typename MutexT >
MutexT* RtosUniqueLock< MutexT >::mutex_
private

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