#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.