carb::thread
- 
namespace thread
- Namespace for all threading operations. 
Classes
- carb::thread::AtomicBackoff: A utility class for providing a growing number of pause instructions, followed by yielding. 
- carb::thread::ThreadLocal: Base template. 
- carb::thread::ThreadLocal< T, false >: A class for declaring a dynamic thread-local variable (Large/Non-trivial specialization). 
- carb::thread::ThreadLocal< T, true >: A class for declaring a dynamic thread-local variable (Trivial/Pointer/POD specialization). 
- carb::thread::mutex: A Carbonite implementation of std::mutex . 
- carb::thread::recursive_mutex: A Carbonite implementation of std::recursive_mutex . 
- carb::thread::recursive_shared_mutex: A recursive shared mutex. 
- carb::thread::shared_mutex: A shared mutex implementation conforming to C++17's shared_mutex . 
Enumerations
- carb::thread::RelayResult: Possible result codes for Framework::runRelayTask(). 
Functions
- carb::thread::getAffinity: Gets the current CPU Affinity for the thread. 
- carb::thread::getName: Retrieves the name of the thread previously set with setName() . 
- carb::thread::hardware_concurrency: Similar to - std::thread::hardware_concurrency(), but pays attention to docker cgroup config and CPU limits.
- carb::thread::setAffinity: Sets the CPU affinity for the given thread handle. 
- carb::thread::setAffinity: Sets the CPU Affinity for the thread. 
- carb::thread::setName: Sets the name of the given thread. 
Namespaces
- carb::thread::detail: Namespace for Carbonite private threading details. 
Structs
- carb::thread::IThreadUtil: An interface to provide various thread utility operations. 
- carb::thread::RelayTaskDesc: A descriptor of the relay task to be performed. 
- carb::thread::futex: Futex namespace. 
Typedefs
- carb::thread::CpuMaskVector: Each entry in the vector is a bitmask for a set of CPUs. 
- carb::thread::ProcessId: The type for a process ID. 
- carb::thread::RecursiveSpinlock: A spinlock implementation that allows recursion. 
- carb::thread::RelayFlags: Base type for flags to the task relay system. 
- carb::thread::RelayTaskFn: Prototype for a relayed task function. 
- carb::thread::Spinlock: A spinlock implementation that does not allow recursion. 
- carb::thread::ThreadId: The type for a thread ID. 
- carb::thread::shared_lock: Alias for - std::shared_lock.
Variables
- carb::thread::fRelayAvailableFlagsMask: Flags available for use in the relay task itself. 
- carb::thread::fRelayFlagBlocking: Flag to indicate that a relay task should block until the task completes. 
- carb::thread::fRelayFlagForce: Force the execution of the task even if a failure related to relaying the task occurs. 
- carb::thread::kCpusPerMask: The number of CPUs represented by an individual cpu mask.