Namespaces | |
DebugTools | |
Classes | |
class | GuardedMutex |
A two-layer mutex, typically used for status+data protection. More... | |
class | JanitorClassFunc |
Class function calling janitor class. More... | |
class | JanitorClassFuncP1 |
Class function calling janitor class with a parameter. More... | |
class | JanitorDelete |
Memory releasing janitor class. More... | |
class | JanitorDeleteArray |
Memory releasing janitor class. More... | |
class | JanitorDeleteNull |
Memory releasing and nulling janitor class. More... | |
class | JanitorFree |
Memory releasing janitor class. More... | |
class | JanitorFunc0 |
Function calling janitor class for function with 0 parameters. More... | |
class | JanitorFunc1 |
Function calling janitor class for function with 1 parameter. More... | |
class | JanitorFunc1R |
Function calling janitor class for function with 1 reference parameter. More... | |
class | JanitorFunc2 |
Function calling janitor class for function with 2 parameters. More... | |
class | JanitorFunc2R |
Function calling janitor class for function with 2 reference parameters. More... | |
class | JanitorFuncStdCall |
Function calling janitor class. More... | |
class | JanitorLogFunc |
Log / printf-like function calling janitor class. More... | |
class | JanitorRCDeallocation |
Reference counting janitor class. More... | |
class | JanitorRCDeallocationPolicy_Delete |
Reference counting janitor class. More... | |
class | JanitorRCDeallocationPolicy_Free |
Reference counting janitor class. More... | |
class | JanitorRCDelete |
A reference counter memory releasing janitor class. More... | |
class | JanitorRCFree |
A reference counter memory releasing janitor class. More... | |
class | JanitorRestore |
Value restoring janitor class. More... | |
class | JanitorSet |
Value restoring janitor class. More... | |
class | JanitorSimpleLogFunc |
Log / printf-like function calling janitor class. More... | |
class | JanitorStdFunc0 |
Function calling janitor class for std::function with 0 parameters. More... | |
class | Lock |
A base class for a Lock. More... | |
class | LockGuarded |
A guarded lock class. More... | |
class | LockReadWrite |
A readers-writer lock class. More... | |
class | LockSuspendable |
A readers-writer lock class that is able to be suspended. More... | |
class | Mutex |
A base mutex class. More... | |
class | MutexReadWrite |
A readers-writer mutex class. More... | |
class | MutexReadWriteSuspendable |
A readers-writer mutex class that is able to be suspended. More... | |
class | PooledTask |
A class that contains a task and some administrative stuff. More... | |
class | PooledThread |
A class that contains a thread that runs in a ThreadPool to execute tasks. More... | |
class | ProtectedValue |
A protected value class. More... | |
class | ReplyMonitor |
A monitor class for receiving replies messages in a thread. More... | |
class | ReplyObjectDeleter |
A class that deletes a reply object and removes it from the given monitor. More... | |
class | ReplyObjectRemover |
A class that removes a reply object from the given monitor. More... | |
class | Semaphore |
A semaphore class. More... | |
class | StandardThread |
A class for a standard thread that has to perform the same action repeatedly. More... | |
class | TaskCompletionWaiter |
A class that allows multiple-dependency waiting. More... | |
class | TaskThread |
Class for handling small tasks. More... | |
class | ThreadedFunction |
A class that will run a single (lambda) function in a separate thread. More... | |
class | ThreadPool |
This class creates and maintains a number of threads that can execute finite-length tasks. More... | |
class | ThreadPoolObjectDeleter |
Task that will delete its object parameter. More... | |
class | ThreadPoolTask |
A generic task implementation for the thread pool. More... | |
class | WaitCondition |
A platform independent wait condition implementation. More... | |
class | WaitEvent |
An event that can be set/reset and that can be waited for. More... | |
class | WatchDogThread |
A class that keeps an eye on a threads timer. More... | |
Typedefs | |
typedef std::vector< std::shared_ptr< PooledTask > > | TaskList |
typedef std::map< unsigned int, std::shared_ptr< PooledTask > > | TaskSet |
typedef std::set< PooledThread * > | ThreadSet |
typedef void(CDECL_XS * | WatchDogFunction) (void *) |
Enumerations | |
enum | LockState { LS_Unlocked, LS_Read, LS_Write, LS_SuspendedWrite } |
enum | MutexStatusFlags : int { MSF_HaveReadLock = 1, MSF_HaveWriteLock = 2, MSF_WriteLockSuspended = 4, MSF_WriteLocked = 8, MSF_ReadLocked = 16, MSF_WriteLocksPending = 32, MSF_GuardedLocked = 64 } |
An enum that hold mutex status flags. More... | |
Functions | |
template<typename L1 , typename L2 > | |
void | 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... | |
int | processorCount () |
Returns the number of processor cores in the current system. More... | |
Variables | |
bool | gManagePool = true |
ThreadPool * | gPool = NULL |
class XSNOEXPORT | SettingsFile |
typedef std::vector<std::shared_ptr<PooledTask> > xsens::TaskList |
Definition at line 90 of file xsens_threadpool.cpp.
typedef std::map<unsigned int, std::shared_ptr<PooledTask> > xsens::TaskSet |
Definition at line 88 of file xsens_threadpool.cpp.
typedef std::set<PooledThread*> xsens::ThreadSet |
Definition at line 89 of file xsens_threadpool.cpp.
typedef void(CDECL_XS* xsens::WatchDogFunction) (void *) |
Definition at line 163 of file threading.h.
enum xsens::LockState |
Enumerator | |
---|---|
LS_Unlocked | |
LS_Read | |
LS_Write | |
LS_SuspendedWrite |
Definition at line 127 of file xsens_mutex.h.
enum xsens::MutexStatusFlags : int |
An enum that hold mutex status flags.
Enumerator | |
---|---|
MSF_HaveReadLock | |
MSF_HaveWriteLock | |
MSF_WriteLockSuspended | |
MSF_WriteLocked | |
MSF_ReadLocked | |
MSF_WriteLocksPending | |
MSF_GuardedLocked |
Definition at line 550 of file xsens_mutex.h.
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.
lock1 | The first Lock to lock |
lock2 | The second Lock to lock |
state1 | desired LockState for lock1 |
state2 | desired LockState for lock2 |
Definition at line 1874 of file xsens_mutex.h.
int xsens::processorCount | ( | ) |
Returns the number of processor cores in the current system.
Definition at line 94 of file xsens_threadpool.cpp.
bool xsens::gManagePool = true |
Definition at line 734 of file xsens_threadpool.cpp.
ThreadPool* xsens::gPool = NULL |
Definition at line 733 of file xsens_threadpool.cpp.
class XSNOEXPORT xsens::SettingsFile |
Definition at line 72 of file xsdevice_public.h.