UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IQueuedWork Class Referenceabstract

#include <IQueuedWork.h>

+ Inheritance diagram for IQueuedWork:

Public Types

using IInternalDataType = TRefCountPtr< IQueuedWorkInternalData >
 

Public Member Functions

virtual void DoThreadedWork ()=0
 
virtual void Abandon ()=0
 
virtual EQueuedWorkFlags GetQueuedWorkFlags () const
 
virtual int64 GetRequiredMemory () const
 
virtual const TCHARGetDebugName () const
 
virtual ~IQueuedWork ()
 

Public Attributes

IInternalDataType InternalData
 

Detailed Description

Interface for queued work objects.

This interface is a type of runnable object that requires no per thread initialization. It is meant to be used with pools of threads in an abstract way that prevents the pool from needing to know any details about the object being run. This allows queuing of disparate tasks and servicing those tasks with a generic thread pool.

Member Typedef Documentation

◆ IInternalDataType

Constructor & Destructor Documentation

◆ ~IQueuedWork()

virtual IQueuedWork::~IQueuedWork ( )
inlinevirtual

Virtual destructor so that child implementations are guaranteed a chance to clean up any resources they allocated.

Member Function Documentation

◆ Abandon()

virtual void IQueuedWork::Abandon ( )
pure virtual

Tells the queued work that it is being abandoned so that it can do per object clean up as needed. This will only be called if it is being abandoned before completion. NOTE: This requires the object to delete itself using whatever heap it was allocated in.

Implemented in FAsyncEncode< TPendingTextureType >, and TAsyncQueuedWork< ResultType >.

◆ DoThreadedWork()

virtual void IQueuedWork::DoThreadedWork ( )
pure virtual

This is where the real thread work is done. All work that is done for this queued object should be done from within the call to this function.

Implemented in FAsyncEncode< TPendingTextureType >, TAsyncQueuedWork< ResultType >, and FQueuedThreadPoolWrapper::FScheduledWork.

◆ GetDebugName()

virtual const TCHAR * IQueuedWork::GetDebugName ( ) const
inlinevirtual

Returns text to identify the Work, for debug/log purposes only

Reimplemented in FAsyncTaskBase, and FQueuedThreadPoolWrapper::FScheduledWork.

◆ GetQueuedWorkFlags()

virtual EQueuedWorkFlags IQueuedWork::GetQueuedWorkFlags ( ) const
inlinevirtual

Returns any special work flags.

◆ GetRequiredMemory()

virtual int64 IQueuedWork::GetRequiredMemory ( ) const
inlinevirtual

Returns an approximation of the peak memory (in bytes) this task could require during it's execution.

Reimplemented in FAsyncTaskBase.

Member Data Documentation

◆ InternalData

IInternalDataType IQueuedWork::InternalData

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