Classes | Namespaces | Macros | Enumerations | Functions
xsens_mutex.h File Reference
#include <cstdint>
#include <atomic>
#include <xstypes/xsthread.h>
#include <xstypes/xstimestamp.h>
#include <deque>
Include dependency graph for xsens_mutex.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  xsens::GuardedMutex
 A two-layer mutex, typically used for status+data protection. More...
 
class  xsens::Lock
 A base class for a Lock. More...
 
class  xsens::LockGuarded
 A guarded lock class. More...
 
class  xsens::LockReadWrite
 A readers-writer lock class. More...
 
class  xsens::LockSuspendable
 A readers-writer lock class that is able to be suspended. More...
 
class  xsens::Mutex
 A base mutex class. More...
 
class  xsens::MutexReadWrite
 A readers-writer mutex class. More...
 
class  xsens::MutexReadWriteSuspendable
 A readers-writer mutex class that is able to be suspended. More...
 
class  xsens::ProtectedValue< K >
 A protected value class. More...
 
class  xsens::Semaphore
 A semaphore class. More...
 
class  xsens::WaitCondition
 A platform independent wait condition implementation. More...
 
class  xsens::WaitEvent
 An event that can be set/reset and that can be waited for. More...
 

Namespaces

 xsens
 

Macros

#define CHECK_LOCK_ACQUIRE()   ((void)0)
 
#define CHECK_LOCK_DEFINE()   typedef void IgnoredLockDefine
 
#define CHECK_LOCK_RELEASE()   ((void)0)
 
#define TIMEOUTCHECKER_DEFINED   0
 

Enumerations

enum  xsens::LockState { xsens::LS_Unlocked, xsens::LS_Read, xsens::LS_Write, xsens::LS_SuspendedWrite }
 
enum  xsens::MutexStatusFlags : int {
  xsens::MSF_HaveReadLock = 1, xsens::MSF_HaveWriteLock = 2, xsens::MSF_WriteLockSuspended = 4, xsens::MSF_WriteLocked = 8,
  xsens::MSF_ReadLocked = 16, xsens::MSF_WriteLocksPending = 32, xsens::MSF_GuardedLocked = 64
}
 An enum that hold mutex status flags. More...
 

Functions

template<typename L1 , typename L2 >
void xsens::multiLock (L1 &lock1, L2 &lock2, LockState state1=LockState::LS_Write, LockState state2=LockState::LS_Write)
 Lock two mutex-locks in the order in which they appear, rolling back the locks if one fails. It repeats until they all succeed. More...
 

Macro Definition Documentation

◆ CHECK_LOCK_ACQUIRE

#define CHECK_LOCK_ACQUIRE ( )    ((void)0)

Definition at line 118 of file xsens_mutex.h.

◆ CHECK_LOCK_DEFINE

#define CHECK_LOCK_DEFINE ( )    typedef void IgnoredLockDefine

Definition at line 117 of file xsens_mutex.h.

◆ CHECK_LOCK_RELEASE

#define CHECK_LOCK_RELEASE ( )    ((void)0)

Definition at line 119 of file xsens_mutex.h.

◆ TIMEOUTCHECKER_DEFINED

#define TIMEOUTCHECKER_DEFINED   0

Definition at line 120 of file xsens_mutex.h.



xsens_mti_driver
Author(s):
autogenerated on Sun Sep 3 2023 02:43:21