Async

Windows
MacOS
Linux

Classes

Name

Description

Public class

FAsyncGraphTaskBase

Base class for asynchronous functions that are executed in the Task Graph system.

Public class

FAsyncTask

Insights.

Public struct

FAsyncThreadIndex

Helper struct used to generate unique ids for the stats.

Public class

FAutoConsoleTaskPriority

Public class

FAutoDeleteAsyncTask

FAutoDeleteAsyncTask - template task for jobs that delete themselves when complete

Public class

FBaseGraphTask

Base class for all tasks.

Public class

FCompletionList

List of tasks that can be "joined" into one task which can be waited on or used as a prerequisite.

Public class

FCustomStatIDGraphTaskBase

Class that generalizes functionality of storing and exposing custom stat id.

Public class

FDelegateGraphTask

Task class for more full featured delegate based tasks.

Public class

FFunctionGraphTask

Task class for lambda based tasks.

Public class

FFutureState

Base class for the internal state of asynchronous return values (futures).

Public class

FGraphEvent

A FGraphEvent is a list of tasks waiting for something.

Public class

FNonAbandonableTask

Stub class to use a base class for tasks that cannot be abandoned

Public class

FNullGraphTask

FNullGraphTask is a task that does nothing.

Public struct

FRenderThreadStatics

Public class

FReturnGraphTask

FReturnGraphTask is a task used to return flow control from a named thread back to the original caller of ProcessThreadUntilRequestReturn

Public class

FSimpleDelegateGraphTask

Task class for simple delegate based tasks.

Public class

FTaskGraphInterface

Interface tot he task graph system

Public class

FTriggerEventGraphTask

FTriggerEventGraphTask is a task that triggers an event

Public class

IAsyncProgress

Interface for checking the progress of asynchronous tasks.

Public class

IAsyncReadFileHandle

Public class

IAsyncReadRequest

Public class

IAsyncTask

Interface for asynchronous tasks.

Public class

IMappedFileHandle

Public class

IMappedFileRegion

Public class

TAsyncGraphTask

Template for asynchronous functions that are executed in the Task Graph system.

Public class

TAsyncQueuedWork

Template for asynchronous functions that are executed in the queued thread pool.

Public class

TAsyncResult

Template for asynchronous return values.

Public class

TAsyncRunnable

Template for asynchronous functions that are executed in a separate thread.

Public class

TFuture

Template for unshared futures.

Public class

TFutureBase

TFuture Abstract base template for futures and shared futures.

Public class

TFutureState

Implements the internal state of asynchronous return values (futures).

Public class

TGraphTask

The user defined task type can take arguments to a constructor.

Public struct

TParallelForData

Struct to hold the working data; this outlives the ParallelFor call; lifetime is controlled by a shared pointer

Public class

TParallelForTask

Public class

TPromise

Template for promises.

Public class

TPromiseBase

TPromise

Public class

TSharedFuture

TSharedFuture Template for shared futures.

Typedefs

Name

Description

FAsyncFileCallBack

FGraphEventArray

Convenience typedef for a an array a graph events

FGraphEventRef

Convenience typedef for a reference counted pointer to a graph event

Enums

Name

Description

Public enum

EAsyncExecution

Enumerates available asynchronous execution methods.

Public enum

EAsyncTaskState

Enumerates possible states of slow running tasks.

Public enum

ENamedThreads::Type

Forward declaration for ENamedThreads

Public enum

EParallelForFlags

Flags controlling the ParallelFor's behavior.

Public enum

EPowerSavingEligibility

Public enum

ESubsequentsMode::Type

Functions

Name Description

Public function

int32

 

ENamedThreads::GetQueueIndex

(
    Type ThreadAndIndex
)

Public function

Type

 

ENamedThreads::GetRenderThread()

Public function

Type

 

ENamedThreads::GetRenderThread_Local()

Public function

int32

 

ENamedThreads::GetTaskPriority

(
    Type ThreadAndIndex
)

Public function

Type

 

ENamedThreads::GetThreadIndex

(
    Type ThreadAndIndex
)

Public function

int32

 

ENamedThreads::GetThreadPriorityIndex

(
    Type ThreadAndIndex
)

Public function

Type

 

ENamedThreads::SetPriorities

(
    Type ThreadAndIndex,
    int32 PriorityIndex,
    bool bHiPri
)

Public function

Type

 

ENamedThreads::SetPriorities

(
    Type ThreadAndIndex,
    Type ThreadPriority,
    Type TaskPriority
)

Public function

void

 

ENamedThreads::SetRenderThread

(
    Type Thread
)

Public function

void

 

ENamedThreads::SetRenderThread_Local

(
    Type Thread
)

Public function

Type

 

ENamedThreads::SetTaskPriority

(
    Type ThreadAndIndex,
    Type TaskPriority
)

Public function

Type

 

ENamedThreads::SetThreadPriority

(
    Type ThreadAndIndex,
    Type ThreadPriority
)

Public function

void

 

FutureDetail::SetPromiseValue

(
    TPromise< void >& Promise,
    Func& Function,
    TFuture< ParamType >&& Param
)

Public function

void

 

FutureDetail::SetPromiseValue

(
    TPromise< ResultType >& Promise,
    Func& Function,
    TFuture< ParamType >&& Param
)

Template for setting a promise value from a continuation.

Public function

TPromise< Re...

 

MakeFulfilledPromise

(
    ArgTypes&&... Args
)

Helper to create and immediately fulfill a promise

Public function

constexpr bo...

 

operator!

(
    EParallelForFlags E
)

Public function

constexpr EP...

 

operator&

(
    EParallelForFlags Lhs,
    EParallelForFlags Rhs
)

Public function

EParallelFor...

 

operator&=

(
    EParallelForFlags& Lhs,
    EParallelForFlags Rhs
)

Public function

constexpr EP...

 

operator^

(
    EParallelForFlags Lhs,
    EParallelForFlags Rhs
)

Public function

EParallelFor...

 

operator^=

(
    EParallelForFlags& Lhs,
    EParallelForFlags Rhs
)

Public function

constexpr EP...

 

operator|

(
    EParallelForFlags Lhs,
    EParallelForFlags Rhs
)

Public function

EParallelFor...

 

operator|=

(
    EParallelForFlags& Lhs,
    EParallelForFlags Rhs
)

Public function

constexpr EP...

 

operator~

(
    EParallelForFlags E
)

Public function

void

 

ParallelFor

(
    int32 Num,
    TFunctionRef< void)> Body,
    EParallelForFlags Flags
)

General purpose parallel for that uses the taskgraph for unbalanced tasks Offers better work distribution among threads at the cost of a little bit more synchronization.

Public function

void

 

ParallelFor

(
    int32 Num,
    TFunctionRef< void)> Body,
    bool bForceSingleThread,
    bool bPumpRenderingThread
)

General purpose parallel for that uses the taskgraph

Public function

void

 

ParallelForImpl::ParallelForInternal

(
    int32 Num,
    FunctionType Body,
    EParallelForFlags Flags
)

Public function

void

 

ParallelForImpl::ParallelForWithPreWorkInternal

(
    int32 Num,
    FunctionType Body,
    TFunctionRef< void()> CurrentThread...,
    EParallelForFlags Flags
)

General purpose parallel for that uses the taskgraph

Public function

void

 

ParallelForTemplate

(
    int32 Num,
    const FunctionType& Body,
    EParallelForFlags Flags
)

General purpose parallel for that uses the taskgraph

Public function

void

 

ParallelForWithPreWork

(
    int32 Num,
    TFunctionRef< void)> Body,
    TFunctionRef< void()> CurrentThread...,
    EParallelForFlags Flags
)

General purpose parallel for that uses the taskgraph

Public function

void

 

ParallelForWithPreWork

(
    int32 Num,
    TFunctionRef< void)> Body,
    TFunctionRef< void()> CurrentThread...,
    bool bForceSingleThread,
    bool bPumpRenderingThread
)

General purpose parallel for that uses the taskgraph

Public function

void

 

SetPromise

(
    TPromise< ResultType >& Promise,
    CallableType&& Callable
)

Template for setting a promise value from a callable.

Public function

void

 

SetPromise

(
    TPromise< void >& Promise,
    CallableType&& Callable
)

Variables

Name Description

Public variable

int32

 

GEnablePowerSavingThreadPriorityReductionCVar

Public variable

*auto

 

Result

Public variable

 

STATCAT_Advanced

Public variable

*TUniqueFun...

 

Task

Execute a given function asynchronously.

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss