UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TaskPrivate.h File Reference
#include "Async/EventCount.h"
#include "Async/Fundamental/Scheduler.h"
#include "Async/Fundamental/Task.h"
#include "Async/Mutex.h"
#include "Async/TaskGraphFwd.h"
#include "Async/TaskTrace.h"
#include "Async/UniqueLock.h"
#include "Containers/Array.h"
#include "Containers/LockFreeFixedSizeAllocator.h"
#include "Containers/LockFreeList.h"
#include "CoreGlobals.h"
#include "CoreTypes.h"
#include "Experimental/ConcurrentLinearAllocator.h"
#include "HAL/Event.h"
#include "HAL/PlatformProcess.h"
#include "HAL/PlatformTLS.h"
#include "HAL/Thread.h"
#include "Logging/LogCategory.h"
#include "Logging/LogMacros.h"
#include "Math/NumericLimits.h"
#include "Math/UnrealMathUtility.h"
#include "Misc/AssertionMacros.h"
#include "Misc/Timeout.h"
#include "Misc/Timespan.h"
#include "ProfilingDebugging/CpuProfilerTrace.h"
#include "Templates/EnableIf.h"
#include "Templates/Invoke.h"
#include "Templates/MemoryOps.h"
#include "Templates/RefCounting.h"
#include "Templates/TypeCompatibleBytes.h"
#include "Templates/UnrealTemplate.h"
#include "Templates/UnrealTypeTraits.h"
#include "Async/InheritedContext.h"
#include <atomic>
#include <type_traits>

Go to the source code of this file.

Classes

class  UE::Tasks::Private::FTaskBase
 
class  UE::Tasks::Private::TTaskWithResult< ResultType >
 
class  UE::Tasks::Private::TExecutableTaskBase< TaskBodyType, ResultType, Enable >
 
class  UE::Tasks::Private::TExecutableTaskBase< TaskBodyType, typename TEnableIf< std::is_same_v< TInvokeResult_T< TaskBodyType >, void > >::Type >
 
class  UE::Tasks::Private::TExecutableTask< TaskBodyType >
 
class  UE::Tasks::Private::FTaskEventBase
 

Namespaces

namespace  UE
 
namespace  UE::Tasks
 
namespace  UE::Tasks::Private
 

Macros

#define WITH_TASKGRAPH_VERBOSE_TRACE   0
 
#define TASKGRAPH_VERBOSE_EVENT_SCOPE(Name)
 

Typedefs

using UE::Tasks::Private::FExecutableTaskAllocator = TLockFreeFixedSizeAllocator_TLSCache< SmallTaskSize, PLATFORM_CACHE_LINE_SIZE >
 
using UE::Tasks::Private::FTaskEventBaseAllocator = TLockFreeFixedSizeAllocator_TLSCache< sizeof(FTaskEventBase), PLATFORM_CACHE_LINE_SIZE >
 

Enumerations

enum class  UE::Tasks::EExtendedTaskPriority : int8 {
  UE::Tasks::None , UE::Tasks::Inline , UE::Tasks::TaskEvent , UE::Tasks::GameThreadNormalPri ,
  UE::Tasks::GameThreadHiPri , UE::Tasks::GameThreadNormalPriLocalQueue , UE::Tasks::GameThreadHiPriLocalQueue , UE::Tasks::RenderThreadNormalPri ,
  UE::Tasks::RenderThreadHiPri , UE::Tasks::RenderThreadNormalPriLocalQueue , UE::Tasks::RenderThreadHiPriLocalQueue , UE::Tasks::RHIThreadNormalPri ,
  UE::Tasks::RHIThreadHiPri , UE::Tasks::RHIThreadNormalPriLocalQueue , UE::Tasks::RHIThreadHiPriLocalQueue , UE::Tasks::Count
}
 
enum class  UE::Tasks::ETaskFlags { UE::Tasks::None , UE::Tasks::DoNotRunInsideBusyWait }
 

Functions

const TCHARUE::Tasks::ToString (EExtendedTaskPriority ExtendedPriority)
 
bool UE::Tasks::ToExtendedTaskPriority (const TCHAR *ExtendedPriorityStr, EExtendedTaskPriority &OutExtendedPriority)
 
void UE::Tasks::Private::TranslatePriority (ENamedThreads::Type ThreadType, ETaskPriority &OutPriority, EExtendedTaskPriority &OutExtendedPriority)
 
ENamedThreads::Type UE::Tasks::Private::TranslatePriority (ETaskPriority Priority, EExtendedTaskPriority ExtendedPriority)
 
FTaskBaseUE::Tasks::Private::GetCurrentTask ()
 
FTaskBaseUE::Tasks::Private::ExchangeCurrentTask (FTaskBase *Task)
 
bool UE::Tasks::Private::IsThreadRetractingTask ()
 
bool UE::Tasks::Private::TryWaitOnNamedThread (FTaskBase &Task)
 
template<typename TaskCollectionType >
bool UE::Tasks::Private::TryRetractAndExecute (const TaskCollectionType &Tasks, FTimeout Timeout)
 

Variables

constexpr int32 UE::Tasks::Private::SmallTaskSize = 256
 

Macro Definition Documentation

◆ TASKGRAPH_VERBOSE_EVENT_SCOPE

#define TASKGRAPH_VERBOSE_EVENT_SCOPE (   Name)

◆ WITH_TASKGRAPH_VERBOSE_TRACE

#define WITH_TASKGRAPH_VERBOSE_TRACE   0