xentara-utils v1.1
Xentara utilities library
|
Lock-free algorithms. More...
Classes | |
class | ConditionVariable |
A notification that can be sent to one or more threads. More... | |
class | Pool |
A class that manages the number of memory locations available for use by lockless containers. More... | |
class | Queue |
A lock free queue. More... | |
Typedefs | |
template<typename Type > | |
using | Atomic = __opaque_atomic_lock_free_type |
An atomic that is always guaranteed to be lock free. More... | |
template<typename Type > | |
using | PreferLockFreeAtomic = __opaque_atomic_lock_free_type |
An atomic that is lock free if supported. More... | |
Lock-free algorithms.
Contains lock-free data types for use in real-time applications.
using xentara::utils::lockFree::Atomic = typedef __opaque_atomic_lock_free_type |
An atomic that is always guaranteed to be lock free.
For types for which std::atomic is lock free, this is a type alias for std::atomic<Type>. On 64-bit platforms that natively do not support lock-free 128 bit atomics, this alias provides access to a custom implementation of 128 bit lock-free atomics.
If a lock-free atomic is not available for Type, this type alias is not available. You can use PreferLockFreeAtomic to select a lock-free type if one is available, but fall back to a locking std::atomic<Type> if not.
using xentara::utils::lockFree::PreferLockFreeAtomic = typedef __opaque_atomic_lock_free_type |
An atomic that is lock free if supported.
This type alias is the same as Atomic<Type> if a lock-free atomic is available. Otherwise, it falls back to std::atomic<Type>. Use this type alias instead of Atomic if you want a lock-free type if possible, but do not necessarily need one.