Navigation
API > API/Runtime > API/Runtime/Core
Classes
| Type | Name | Description | |
|---|---|---|---|
| FCancellationToken | Support for canceling tasks mid-execution usage: FCancellationToken Token; Launch(UE_SOURCE_LOCATION, [&Token] { ... if (Token.IsCanceled()) return; ... }); Token.Cancel(); | ||
| FConcurrencySlots | A queue of free slots in range [0 .. max_concurrency). Initially contains all slots in the range. | ||
| FPimpl | An implementation details of FTaskConcurrenctyLimiter | ||
| FPipe | A chain of tasks that are executed one after another. | ||
| FTaskBase | An abstract base class for task implementation. | ||
| FTaskConcurrencyLimiter | A lightweight construct that limits the concurrency of tasks pushed into it. | ||
| FTaskEvent | A synchronisation primitive, a recommended substitution of `FEvent_ for signalling between tasks. | ||
| FTaskEventBase | A special kind of task that is used for signalling or dependency management. | ||
| FTaskHandle | A common part of the generic [TTask](API\Runtime\Core\Tasks\TTask)<ResultType>_ and its TTask |
||
| FTaskPriorityCVar | Console variable for configuring task priorities Example: FTaskPriorityCVar CVar{ TEXT("CVarName"), TEXT("CVarHelp"), ETaskPriority::Normal, EExtendedTaskPriority::None }; Launch(UE_SOURCE_LOCATION, [] {}, CVar.GetTaskPriority(), CVar.GetExtendedTaskPriority()).Wait(); | ||
| TExecutableTask | A separate derived class to add "small task" allocation optimization to both base class specializations | ||
| TExecutableTaskBase | Task implementation that can be executed, as it stores task body. | ||
| TTask | A movable/copyable handle of `Private::TTaskWithResult*_ with the API adopted for public usage. | ||
| TTaskWithResult | An extension of FTaskBase for tasks that return a result. |
Typedefs
| Name | Description |
|---|---|
| FExecutableTaskAllocator | |
| FTask | |
| FTaskEventBaseAllocator |
Enums
| Type | Name | Description | |
|---|---|---|---|
| UE::Tasks::EExtendedTaskPriority | Special task priorities for tasks that are never sent to the scheduler | ||
| UE::Tasks::ETaskFlags |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | UE::Tasks::AddNested
(
const TaskType& Nested |
Adds the nested task to the task that is being currently executed by the current thread. | |
| FTask | UE::Tasks::Any
(
const TaskCollectionType& Tasks |
Returns a task that gets completed as soon as any of the given tasks gets completed. | |
| bool | UE::Tasks::BusyWait
(
const TaskCollectionType& Tasks, |
Wait for multiple tasks while executing other tasks | |
| TTask< TInvokeResult_T< TaskBodyType > > | UE::Tasks::Launch
(
const TCHAR* DebugName, |
Launches a task for asynchronous execution | |
| TTask< TInvokeResult_T< TaskBodyType > > | UE::Tasks::Launch
(
const TCHAR* DebugName, |
Launches a task for asynchronous execution, with prerequisites that must be completed before the task is scheduled | |
| TTask< ResultType > | UE::Tasks::MakeCompletedTask
(
ArgTypes&&... Args |
Creates and returns an already completed task holding a result value constructed from given args | |
| TStaticArray< Private::FTaskBase *, sizeof...(TaskTypes)> | UE::Tasks::Prerequisites
(
TaskTypes&... Tasks |
||
| const TaskCollectionType & | UE::Tasks::Prerequisites
(
const TaskCollectionType& Tasks |
||
| TArray< TaskTrace::FId > | UE::Tasks::Private::GetTraceIds
(
const TaskCollectionType& Tasks |
||
| bool | UE::Tasks::Private::IsCompleted
(
const HigherLevelTaskType& Prerequisite |
||
| void | UE::Tasks::Private::PrerequisitesUnpacker
(
ArrayType& Array, |
||
| void | UE::Tasks::Private::PrerequisitesUnpacker
(
ArrayType& Array, |
||
| bool | UE::Tasks::Private::TryRetractAndExecute
(
const TaskCollectionType& Tasks, |
Task retraction of multiple tasks, with timeout. | |
| void | UE::Tasks::Wait
(
Private::FTaskHandle& Task |
||
| bool | UE::Tasks::Wait
(
const TaskCollectionType& Tasks, |
Wait for multiple tasks, with timeout | |
| int32 | UE::Tasks::WaitAny
(
const TaskCollectionType& Tasks, |
"any task" support. |