#include <cstdint>#include <atomic>#include <xstypes/xsthread.h>#include <xstypes/xstimestamp.h>#include <deque>

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... | |
| #define CHECK_LOCK_ACQUIRE | ( | ) | ((void)0) |
Definition at line 118 of file xsens_mutex.h.
| #define CHECK_LOCK_DEFINE | ( | ) | typedef void IgnoredLockDefine |
Definition at line 117 of file xsens_mutex.h.
| #define CHECK_LOCK_RELEASE | ( | ) | ((void)0) |
Definition at line 119 of file xsens_mutex.h.
| #define TIMEOUTCHECKER_DEFINED 0 |
Definition at line 120 of file xsens_mutex.h.