carb::tasking
-
namespace tasking
Namespace for carb.tasking.plugin and related utilities.
Classes
carb::tasking::ConditionVariable: A fiber-aware condition_variable: a synchronization primitive that, together with a Mutex , blocks one or more threads or tasks until a condition becomes true.
carb::tasking::ConditionVariableWrapper: Wrapper for carb::tasking::ConditionVariable .
carb::tasking::Counter: Used to create dependencies between tasks and to wait for a set of tasks to finish.
carb::tasking::CounterWrapper: Wrapper for a carb::tasking::Counter .
carb::tasking::Delegate< void(Args…)>: Implements a task-aware, task-safe callback system that can have multiple subscribers.
carb::tasking::DelegateRef< void(Args…)>: Holds a reference to a Delegate .
carb::tasking::Future: A Future is a counterpart to a Promise .
carb::tasking::Mutex: A fiber-aware mutex: a synchronization primitive for mutual exclusion.
carb::tasking::MutexWrapper: Wrapper for a carb::tasking::Mutex that conforms to C++ Named Requirements of Lockable .
carb::tasking::PinGuard: Causes the currently executing TaskContext to be "pinned" to the thread it is currently running on until PinGuard is destroyed.
carb::tasking::Promise: A facility to store a value that is later acquired asynchronously via a Future created via Promise::get_future() .
carb::tasking::RecursiveMutexWrapper: Wrapper for a recursive carb::tasking::Mutex that conforms to C++ Named Requirements of Lockable .
carb::tasking::ScopedTracking: When instantiated, begins tracking the passed Trackers .
carb::tasking::Semaphore: A fiber-aware semaphore: a synchronization primitive that limits to N threads/fibers.
carb::tasking::SemaphoreWrapper: Wrapper for a carb::tasking::Semaphore .
carb::tasking::SharedFuture: SharedFuture is a shareable version of Future .
carb::tasking::SharedMutex: A fiber-aware shared_mutex: a synchronization primitive that functions as a multiple-reader/single-writer lock.
carb::tasking::SharedMutexWrapper: Wrapper for a carb::tasking::SharedMutex that (mostly) conforms to C++ Named Requirements of SharedMutex .
carb::tasking::TaskGroup: TaskGroup is a small and fast counter for tasks.
carb::tasking::ThreadPool: Opaque handle for a thread pool.
carb::tasking::ThreadPoolWrapper: Helper class for using IThreadPool API.
Enumerations
carb::tasking::ObjectType: Object type for Object .
carb::tasking::Priority: Defines a task priority.
carb::tasking::TaskDebugState: Debug state of a task.
Functions
carb::tasking::getDefaultTaskingDesc: Default TaskingDesc plugin starts with.
Structs
carb::tasking::All: Specifies an "all" grouping of RequiredObject(s).
carb::tasking::Any: Specifies an "any" grouping of RequiredObject(s).
carb::tasking::IFiberEvents: Defines the fiber events interface that receives fiber-related notifications.
carb::tasking::ITasking: Defines a tasking plugin interface, acquired with carb::Framework::acquireInterface() when carb.tasking.plugin is loaded.
carb::tasking::IThreadPool: Optional plugin providing helpful facilities for utilizing a pool of threads to perform basic small tasks.
carb::tasking::Object: A generic.
carb::tasking::RefFromDelegate: A helper class for determining the type of a carb::tasking::DelegateRef based on a carb::tasking::Delegate .
carb::tasking::RequiredObject: Helper class to ensure correct compliance with the requiredObject parameter of ITasking::add[Throttled]SubTask() and wait() functions.
carb::tasking::SpinMutex: This atomic spin lock conforms to C++ Named Requirements of Lockable which makes it compatible with std::lock_guard.
carb::tasking::SpinSharedMutex: Spin lock conforming to C++ named requirements of SharedMutex .
carb::tasking::TaskDebugInfo: Defines debug information about a task retrieved by ITasking::getTaskDebugInfo() or ITasking::walkTaskDebugInfo() .
carb::tasking::TaskDesc: Defines a task descriptor.
carb::tasking::TaskingDesc: Defines a tasking plugin descriptor.
carb::tasking::Tracker: Helper class to provide correct types to the Trackers class.
carb::tasking::Trackers: Helper class to ensure correct compliance with trackers parameter of ITasking::addTask() variants.
Typedefs
carb::tasking::ApplyBatchFn: The function executed by ITasking::applyRangeBatch()
carb::tasking::ApplyFn: The function executed by ITasking::applyRange()
carb::tasking::JobFn: Defines the function for performing a user-provided job.
carb::tasking::OnTaskFn: The function to execute as a task.
carb::tasking::RefFromDelegate_t: Definition helper for
RefFromDelegate<Del>::type
carb::tasking::TaskContext: An opaque handle that is used with getTaskContext(), suspendTask() and wakeTask().
carb::tasking::TaskDebugInfoFn: Callback function for ITasking::walkTaskDebugInfo() .
carb::tasking::TaskStorageDestructorFn: A destructor function for a Task Storage slot.
carb::tasking::TaskStorageKey: An opaque handle representing a Task Storage slot.
Variables
carb::tasking::kInfinite: A constant for ITasking wait functions indicating "infinite" timeout.
carb::tasking::kInvalidTaskContext: A specific value for TaskContext that indicates a non-valid TaskContext.
carb::tasking::kInvalidTaskStorageKey: Represents an invalid TaskStorageKey.
carb::tasking::kMaxFibers: The absolute maximum number of fibers that ITasking will create.