UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Tasks::Private::TTaskWithResult< ResultType > Class Template Reference

#include <TaskPrivate.h>

+ Inheritance diagram for UE::Tasks::Private::TTaskWithResult< ResultType >:

Public Member Functions

ResultType & GetResult ()
 
- Public Member Functions inherited from UE::Tasks::Private::FTaskBase
void AddRef ()
 
void Release ()
 
uint32 GetRefCount (std::memory_order MemoryOrder=std::memory_order_relaxed) const
 
bool IsAwaitable () const
 
bool IsNamedThreadTask () const
 
ETaskPriority GetPriority () const
 
EExtendedTaskPriority GetExtendedPriority () const
 
bool AddPrerequisites (FTaskBase &Prerequisite)
 
template<typename HigherLevelTaskType , decltype(std::declval< HigherLevelTaskType >().Pimpl) * = nullptr>
bool AddPrerequisites (const HigherLevelTaskType &Prerequisite)
 
template<typename HigherLevelTaskType , std::enable_if_t< std::is_same_v< HigherLevelTaskType, FGraphEventRef > > * = nullptr>
bool AddPrerequisites (const HigherLevelTaskType &Prerequisite)
 
template<typename PrerequisiteCollectionType , decltype(std::declval< PrerequisiteCollectionType >().begin()) * = nullptr>
void AddPrerequisites (const PrerequisiteCollectionType &InPrerequisites)
 
bool AddSubsequent (FTaskBase &Subsequent)
 
void SetPipe (FPipe &InPipe)
 
FPipeGetPipe () const
 
bool Trigger (uint64 TaskSize)
 
bool TryLaunch (uint64 TaskSize)
 
bool IsCompleted () const
 
CORE_API bool TryRetractAndExecute (FTimeout Timeout, uint32 RecursionDepth=0)
 
void ReleaseInternalReference ()
 
void AddNested (FTaskBase &Nested)
 
CORE_API bool Wait (FTimeout Timeout)
 
CORE_API void Wait ()
 
CORE_API void WaitWithNamedThreadsSupport ()
 
TaskTrace::FId GetTraceId () const
 

Protected Member Functions

 TTaskWithResult (const TCHAR *InDebugName, ETaskPriority InPriority, EExtendedTaskPriority InExtendedPriority, uint32 InitRefCount, ETaskFlags Flags)
 
virtual ~TTaskWithResult () override
 
- Protected Member Functions inherited from UE::Tasks::Private::FTaskBase
 FTaskBase (uint32 InitRefCount, bool bUnlockPrerequisites=true)
 
void Init (const TCHAR *InDebugName, ETaskPriority InPriority, EExtendedTaskPriority InExtendedPriority, ETaskFlags Flags)
 
virtual ~FTaskBase ()
 
virtual void ExecuteTask ()=0
 
template<typename PrerequisiteCollectionType , decltype(std::declval< PrerequisiteCollectionType >().begin()) * = nullptr>
void AddPrerequisites (const PrerequisiteCollectionType &InPrerequisites, bool bLockPrerequisite)
 
bool TryExecuteTask ()
 
void Close ()
 
CORE_API void ClearPipe ()
 
void UnlockPrerequisites ()
 

Protected Attributes

TTypeCompatibleBytes< ResultType > ResultStorage
 

Constructor & Destructor Documentation

◆ TTaskWithResult()

template<typename ResultType >
UE::Tasks::Private::TTaskWithResult< ResultType >::TTaskWithResult ( const TCHAR InDebugName,
ETaskPriority  InPriority,
EExtendedTaskPriority  InExtendedPriority,
uint32  InitRefCount,
ETaskFlags  Flags 
)
inlineexplicitprotected

◆ ~TTaskWithResult()

template<typename ResultType >
virtual UE::Tasks::Private::TTaskWithResult< ResultType >::~TTaskWithResult ( )
inlineoverrideprotectedvirtual

Member Function Documentation

◆ GetResult()

template<typename ResultType >
ResultType & UE::Tasks::Private::TTaskWithResult< ResultType >::GetResult ( )
inline

Member Data Documentation

◆ ResultStorage

template<typename ResultType >
TTypeCompatibleBytes<ResultType> UE::Tasks::Private::TTaskWithResult< ResultType >::ResultStorage
protected

The documentation for this class was generated from the following file: