UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Editor::DataStorage::ICommonQueryContext Struct Referenceabstract

#include <TypedElementQueryStorageInterfaces.h>

+ Inheritance diagram for UE::Editor::DataStorage::ICommonQueryContext:

Classes

struct  FEmplaceObjectParams
 

Public Member Functions

virtual ~ICommonQueryContext ()=default
 
virtual uint32 GetRowCount () const =0
 
virtual TConstArrayView< RowHandleGetRowHandles () const =0
 
virtual const voidGetColumn (const UScriptStruct *ColumnType) const =0
 
template<TDataColumnType Column>
const Column * GetColumn () const
 
template<TDynamicColumnTemplate TemplateType>
const TemplateType * GetColumn (const FName &Identifier) const
 
virtual voidGetMutableColumn (const UScriptStruct *ColumnType)=0
 
template<typename Column >
Column * GetMutableColumn ()
 
template<TDynamicColumnTemplate TemplateType>
TemplateType * GetMutableColumn (const FName &Identifier)
 
virtual void GetColumns (TArrayView< char * > RetrievedAddresses, TConstArrayView< TWeakObjectPtr< const UScriptStruct > > ColumnTypes, TConstArrayView< EQueryAccessType > AccessTypes)=0
 
virtual void GetColumnsUnguarded (int32 TypeCount, char **RetrievedAddresses, const TWeakObjectPtr< const UScriptStruct > *ColumnTypes, const EQueryAccessType *AccessTypes)=0
 
virtual bool HasColumn (const UScriptStruct *ColumnType) const =0
 
template<typename Column >
bool HasColumn () const
 
virtual bool HasColumn (RowHandle Row, const UScriptStruct *ColumnType) const =0
 
template<typename Column >
bool HasColumn (RowHandle Row) const
 
template<TDynamicColumnTemplate DynamicColumnTemplate>
bool HasColumn (RowHandle Row, const FName &Identifier) const
 
virtual const UScriptStructFindDynamicColumnType (const FDynamicColumnDescription &Description) const =0
 
template<TDynamicColumnTemplate TemplateType>
const UScriptStructFindDynamicColumnType (const FName &Identifier) const
 
virtual void SetParentRow (RowHandle Target, RowHandle Parent)=0
 
virtual void SetUnresolvedParent (RowHandle Target, FMapKey ParentId, FName MappingDomain)=0
 
virtual RowHandle GetParentRow (RowHandle Target) const =0
 
virtual float GetDeltaTimeSeconds () const =0
 
template<typename T >
void PushCommand (T CommandContext)
 
virtual void PushCommand (void(*CommandFunction)(void *), void *InCommandData)=0
 

Protected Member Functions

virtual voidEmplaceObjectInScratch (const FEmplaceObjectParams &Params)=0
 

Detailed Description

Base interface for any contexts provided to query callbacks.

Constructor & Destructor Documentation

◆ ~ICommonQueryContext()

virtual UE::Editor::DataStorage::ICommonQueryContext::~ICommonQueryContext ( )
virtualdefault

Member Function Documentation

◆ EmplaceObjectInScratch()

virtual void * UE::Editor::DataStorage::ICommonQueryContext::EmplaceObjectInScratch ( const FEmplaceObjectParams Params)
protectedpure virtual

◆ FindDynamicColumnType() [1/2]

virtual const UScriptStruct * UE::Editor::DataStorage::ICommonQueryContext::FindDynamicColumnType ( const FDynamicColumnDescription Description) const
pure virtual

Finds the type of a dynamic column

Returns
The UScriptStruct for a previously created Dynamic Column. If no column exists, then nullptr

◆ FindDynamicColumnType() [2/2]

template<TDynamicColumnTemplate TemplateType>
const UScriptStruct * UE::Editor::DataStorage::ICommonQueryContext::FindDynamicColumnType ( const FName Identifier) const

◆ GetColumn() [1/3]

template<TDataColumnType Column>
const Column * UE::Editor::DataStorage::ICommonQueryContext::GetColumn ( ) const

Return the address of a immutable column matching the requested type or a nullptr if not found.

◆ GetColumn() [2/3]

template<TDynamicColumnTemplate TemplateType>
const TemplateType * UE::Editor::DataStorage::ICommonQueryContext::GetColumn ( const FName Identifier) const

◆ GetColumn() [3/3]

virtual const void * UE::Editor::DataStorage::ICommonQueryContext::GetColumn ( const UScriptStruct ColumnType) const
pure virtual

Return the address of a immutable column matching the requested type or a nullptr if not found.

Implemented in UE::Editor::DataStorage::Queries::FQueryContextForwarder, and UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext.

◆ GetColumns()

virtual void UE::Editor::DataStorage::ICommonQueryContext::GetColumns ( TArrayView< char * >  RetrievedAddresses,
TConstArrayView< TWeakObjectPtr< const UScriptStruct > >  ColumnTypes,
TConstArrayView< EQueryAccessType AccessTypes 
)
pure virtual

Get a list of columns or nullptrs if the column type wasn't found. Mutable addresses are returned and it's up to the caller to not change immutable addresses.

Implemented in UE::Editor::DataStorage::Queries::FQueryContextForwarder.

◆ GetColumnsUnguarded()

virtual void UE::Editor::DataStorage::ICommonQueryContext::GetColumnsUnguarded ( int32  TypeCount,
char **  RetrievedAddresses,
const TWeakObjectPtr< const UScriptStruct > *  ColumnTypes,
const EQueryAccessType AccessTypes 
)
pure virtual

Get a list of columns or nullptrs if the column type wasn't found. Mutable addresses are returned and it's up to the caller to not change immutable addresses. This version doesn't verify that the enough space is provided and it's up to the caller to guarantee the target addresses have enough space.

Implemented in UE::Editor::DataStorage::Queries::FQueryContextForwarder.

◆ GetDeltaTimeSeconds()

virtual float UE::Editor::DataStorage::ICommonQueryContext::GetDeltaTimeSeconds ( ) const
pure virtual

Returns the amount of time now and the last update in seconds.

◆ GetMutableColumn() [1/3]

template<typename Column >
Column * UE::Editor::DataStorage::ICommonQueryContext::GetMutableColumn ( )

Return the address of a mutable column matching the requested type or a nullptr if not found.

◆ GetMutableColumn() [2/3]

template<TDynamicColumnTemplate TemplateType>
TemplateType * UE::Editor::DataStorage::ICommonQueryContext::GetMutableColumn ( const FName Identifier)

◆ GetMutableColumn() [3/3]

virtual void * UE::Editor::DataStorage::ICommonQueryContext::GetMutableColumn ( const UScriptStruct ColumnType)
pure virtual

Return the address of a mutable column matching the requested type or a nullptr if not found.

Implemented in UE::Editor::DataStorage::Queries::FQueryContextForwarder, and UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext.

◆ GetParentRow()

virtual RowHandle UE::Editor::DataStorage::ICommonQueryContext::GetParentRow ( RowHandle  Target) const
pure virtual

◆ GetRowCount()

virtual uint32 UE::Editor::DataStorage::ICommonQueryContext::GetRowCount ( ) const
pure virtual

Returns the number rows in the batch.

Implemented in UE::Editor::DataStorage::Queries::FQueryContextForwarder.

◆ GetRowHandles()

virtual TConstArrayView< RowHandle > UE::Editor::DataStorage::ICommonQueryContext::GetRowHandles ( ) const
pure virtual

Returns an immutable view that contains the row handles for all returned results. The returned size will be the same as the value returned by GetRowCount().

Implemented in UE::Editor::DataStorage::Queries::FQueryContextForwarder.

◆ HasColumn() [1/5]

template<typename Column >
bool UE::Editor::DataStorage::ICommonQueryContext::HasColumn ( ) const

◆ HasColumn() [2/5]

virtual bool UE::Editor::DataStorage::ICommonQueryContext::HasColumn ( const UScriptStruct ColumnType) const
pure virtual

◆ HasColumn() [3/5]

template<typename Column >
bool UE::Editor::DataStorage::ICommonQueryContext::HasColumn ( RowHandle  Row) const

◆ HasColumn() [4/5]

template<TDynamicColumnTemplate DynamicColumnTemplate>
bool UE::Editor::DataStorage::ICommonQueryContext::HasColumn ( RowHandle  Row,
const FName Identifier 
) const

◆ HasColumn() [5/5]

virtual bool UE::Editor::DataStorage::ICommonQueryContext::HasColumn ( RowHandle  Row,
const UScriptStruct ColumnType 
) const
pure virtual

◆ PushCommand() [1/2]

template<typename T >
void UE::Editor::DataStorage::ICommonQueryContext::PushCommand ( CommandContext)

Creates a command that will run at the termination of an execution context. Intended to be used for cases where the query callback requires doing some work that needs to be serialized with respect to other callback invocations. Note that commands will be executed in order with respect to the thread that pushed them and will be executed on the query exection thread serially.

Usage: Define a command struct with a mutable operator() overload struct FMyCommand { void operator()() { DoSomethingWithSideEffects(MyActor) }; TWeakObjectPtr<AActor> MyActor; };

Context.PushCommand(FMyCommand{ .MyActor = Actor });

◆ PushCommand() [2/2]

virtual void UE::Editor::DataStorage::ICommonQueryContext::PushCommand ( void(*)(void *)  CommandFunction,
void InCommandData 
)
pure virtual

◆ SetParentRow()

virtual void UE::Editor::DataStorage::ICommonQueryContext::SetParentRow ( RowHandle  Target,
RowHandle  Parent 
)
pure virtual

◆ SetUnresolvedParent()

virtual void UE::Editor::DataStorage::ICommonQueryContext::SetUnresolvedParent ( RowHandle  Target,
FMapKey  ParentId,
FName  MappingDomain 
)
pure virtual

Establishes a parent relationship between the Target row and a Parent that is not registered in TEDS yet. Every frame, TEDS will attempt to resolve the missing relation by looking up the parent using TEDS Mapping. An optional MaxFrameCount can be specified, which will be decremented every frame until the potential relationship is discarded


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