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

#include <TypedElementQueryStorageInterfaces.h>

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

Public Types

using ObjectCopyOrMove = void(*)(const UScriptStruct &TypeInfo, void *Destination, void *Source)
 

Public Member Functions

template<typename DynamicColumnTemplate >
const DynamicColumnTemplate * GetColumn (const FName &Identifier) const
 
template<typename DynamicColumnTemplate >
DynamicColumnTemplate * GetMutableColumn (const FName &Identifier)
 
template<typename DynamicColumnTemplate >
bool HasColumn (const FName &Identifier) const
 
template<typename DynamicColumnTemplate >
bool HasColumn (RowHandle Row, const FName &Identifier) const
 
virtual uint64 GetUpdateCycleId () const =0
 
virtual bool IsRowAvailable (RowHandle Row) const =0
 
virtual bool IsRowAssigned (RowHandle Row) const =0
 
virtual void ActivateQueries (FName ActivationName)=0
 
virtual RowHandle AddRow (TableHandle Table)=0
 
virtual void RemoveRow (RowHandle Row)=0
 
virtual void RemoveRows (TConstArrayView< RowHandle > Rows)=0
 
template<typename ColumnType >
ColumnType & AddColumn (RowHandle Row, ColumnType &&Column)
 
template<typename ColumnTypeTemplate >
ColumnTypeTemplateAddColumn (RowHandle Row, const FName &Identifier)
 
template<typename ColumnTypeTemplate >
ColumnTypeTemplateAddColumn (RowHandle Row, const FName &Identifier, ColumnTypeTemplate &&Column)
 
template<typename... Columns>
void AddColumns (RowHandle Row)
 
template<typename... Columns>
void AddColumns (TConstArrayView< RowHandle > Rows)
 
virtual void AddColumns (RowHandle Row, TConstArrayView< const UScriptStruct * > ColumnTypes)=0
 
virtual void AddColumns (TConstArrayView< RowHandle > Rows, TConstArrayView< const UScriptStruct * > ColumnTypes)=0
 
virtual void AddColumns (TConstArrayView< RowHandle > Rows, TConstArrayView< FDynamicColumnDescription > DynamicColumnDescriptions)=0
 
virtual voidAddColumnUninitialized (RowHandle Row, const UScriptStruct *ColumnType)=0
 
virtual voidAddColumnUninitialized (RowHandle Row, const UScriptStruct *ObjectType, ObjectCopyOrMove Relocator)=0
 
virtual voidAddColumnUninitialized (RowHandle Row, const FDynamicColumnDescription &DynamicColumnDescription, ObjectCopyOrMove Relocator)=0
 
virtual voidAddColumnUninitialized (RowHandle Row, const FDynamicColumnDescription &DynamicColumnDescription)=0
 
template<typename... Columns>
void RemoveColumns (RowHandle Row)
 
template<typename... Columns>
void RemoveColumns (TConstArrayView< RowHandle > Rows)
 
virtual void RemoveColumns (RowHandle Row, TConstArrayView< const UScriptStruct * > ColumnTypes)=0
 
virtual void RemoveColumns (TConstArrayView< RowHandle > Rows, TConstArrayView< const UScriptStruct * > ColumnTypes)=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 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 voidGetMutableColumn (const UScriptStruct *ColumnType)=0
 
template<typename Column >
Column * GetMutableColumn ()
 
template<TDynamicColumnTemplate TemplateType>
TemplateType * GetMutableColumn (const FName &Identifier)
 
- Public Member Functions inherited from UE::Editor::DataStorage::ICommonQueryContext
virtual ~ICommonQueryContext ()=default
 
virtual uint32 GetRowCount () const =0
 
virtual TConstArrayView< RowHandleGetRowHandles () const =0
 
template<TDataColumnType Column>
const Column * GetColumn () const
 
template<TDynamicColumnTemplate TemplateType>
const TemplateType * GetColumn (const FName &Identifier) const
 
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
 
template<typename Column >
bool HasColumn () const
 
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
 

Additional Inherited Members

- Protected Member Functions inherited from UE::Editor::DataStorage::ICommonQueryContext
virtual voidEmplaceObjectInScratch (const FEmplaceObjectParams &Params)=0
 

Member Typedef Documentation

◆ ObjectCopyOrMove

Member Function Documentation

◆ ActivateQueries()

virtual void UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext::ActivateQueries ( FName  ActivationName)
pure virtual

Triggers all queries registered under the activation name to run for one update cycle. The activatable queries will be activated at start of the cycle and disabled at the end of the cycle and act like regular queries for that cycle. This includes not running if there are not columns to match against.

◆ AddColumn() [1/3]

template<typename ColumnType >
ColumnType & UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext::AddColumn ( RowHandle  Row,
ColumnType &&  Column 
)

Adds the provided column to the requested row.

Note: The addition of the column will not be immediately done. Instead it will be deferred until the end of the tick group. Changes made to the return column will still be applied when the column is added to the row.

◆ AddColumn() [2/3]

ColumnTypeTemplate * UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext::AddColumn ( RowHandle  Row,
const FName Identifier 
)

Helper template for adding a dynamic column to the requested row. The resulting column will be default initialized.

Template Parameters
ColumnTypeTemplateThe template layout of the column
Parameters
RowThe row to add the column to
IdentifierCombined with the template type, the dynamic column is uniquely identified with this parameter
Returns
An ephemeral reference to the data of the column. The returned column will have been constructed.

◆ AddColumn() [3/3]

ColumnTypeTemplate & UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext::AddColumn ( RowHandle  Row,
const FName Identifier,
ColumnTypeTemplate &&  Column 
)

Helper template for adding a dynamic column to the requested row

Template Parameters
ColumnTypeTemplateThe template layout of the column
Parameters
RowThe row to add the column to
IdentifierCombined with the template type, the dynamic column is uniquely identified with this parameter
Returns
An ephemeral reference to the data of the column. The returned column will have been constructed.

◆ AddColumns() [1/5]

template<typename... Columns>
void UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext::AddColumns ( RowHandle  Row)

Adds new empty columns to a row of the provided type. The addition will not be immediately done but delayed until the end of the tick group.

◆ AddColumns() [2/5]

virtual void UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext::AddColumns ( RowHandle  Row,
TConstArrayView< const UScriptStruct * >  ColumnTypes 
)
pure virtual

Adds new empty columns to a row of the provided type. The addition will not be immediately done but delayed until the end of the tick group.

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

◆ AddColumns() [3/5]

template<typename... Columns>
void UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext::AddColumns ( TConstArrayView< RowHandle Rows)

Adds new empty columns to the listed rows of the provided type. The addition will not be immediately done but delayed until the end of the tick group.

◆ AddColumns() [4/5]

virtual void UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext::AddColumns ( TConstArrayView< RowHandle Rows,
TConstArrayView< const UScriptStruct * >  ColumnTypes 
)
pure virtual

Adds new empty columns to the listed rows of the provided type. The addition will not be immediately done but delayed until the end of the tick group.

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

◆ AddColumns() [5/5]

virtual void UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext::AddColumns ( TConstArrayView< RowHandle Rows,
TConstArrayView< FDynamicColumnDescription DynamicColumnDescriptions 
)
pure virtual

◆ AddColumnUninitialized() [1/4]

virtual void * UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext::AddColumnUninitialized ( RowHandle  Row,
const FDynamicColumnDescription DynamicColumnDescription 
)
pure virtual

◆ AddColumnUninitialized() [2/4]

virtual void * UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext::AddColumnUninitialized ( RowHandle  Row,
const FDynamicColumnDescription DynamicColumnDescription,
ObjectCopyOrMove  Relocator 
)
pure virtual

◆ AddColumnUninitialized() [3/4]

virtual void * UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext::AddColumnUninitialized ( RowHandle  Row,
const UScriptStruct ColumnType 
)
pure virtual

Add a new uninitialized column of the provided type if one does not exist. Returns a staged column which is used to copy into the database at a later time via the UStructScript Copy operator at the end of the tick group. It is the caller's responsibility to ensure the staged column's constructor is called. The caller may modify other values in the column. This function can not be used to add a tag as tags do not contain any data.

◆ AddColumnUninitialized() [4/4]

virtual void * UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext::AddColumnUninitialized ( RowHandle  Row,
const UScriptStruct ObjectType,
ObjectCopyOrMove  Relocator 
)
pure virtual

Add a new uninitialized column of the provided type if one does not exist. Returns a staged column which is used to copy/move into the database at a later time via the provided relocator at the end of the tick group. It is the caller's responsibility to ensure the staged column's constructor is called. The caller may modify other values in the column. This function can not be used to add a tag as tags do not contain any data.

◆ AddRow()

virtual RowHandle UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext::AddRow ( TableHandle  Table)
pure virtual

Adds a row to the given table.

◆ GetColumn() [1/4]

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/4]

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

◆ GetColumn() [3/4]

template<typename DynamicColumnTemplate >
const DynamicColumnTemplate * UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext::GetColumn ( const FName Identifier) const

Helper template that returns a const reference to the column array data for the range of rows being processed Returns nullptr if type not found or column not assigned to row

Warning
It is advised to only use this function in a query callback that handles multiple rows the returned reference will be to the first column in the table chunk, not necessarily the column corresponding to the row that the singular callback form is using.

◆ GetColumn() [4/4]

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

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

Implements UE::Editor::DataStorage::ICommonQueryContext.

◆ GetMutableColumn() [1/4]

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/4]

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

◆ GetMutableColumn() [3/4]

template<typename DynamicColumnTemplate >
DynamicColumnTemplate * UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext::GetMutableColumn ( const FName Identifier)

Helper template that returns the reference to the column array data for the range of rows being processed Returns nullptr if type not found or column not assigned to row

Warning
It is advised to only use this function in a query callback that handles multiple rows the returned reference will be to the first column in the table chunk, not necessarily the column corresponding to the row that the singular callback form is using.

◆ GetMutableColumn() [4/4]

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

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

Implements UE::Editor::DataStorage::ICommonQueryContext.

◆ GetUpdateCycleId()

virtual uint64 UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext::GetUpdateCycleId ( ) const
pure virtual

Returns the id for the current update cycle. Every time TEDS goes through a cycle of running query callbacks, this is incremented by one. This guarantees that all query callbacks in the same run see the same cycle id. This can be useful in avoiding duplicated work.

◆ HasColumn() [1/7]

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

◆ HasColumn() [2/7]

template<typename DynamicColumnTemplate >
bool UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext::HasColumn ( const FName Identifier) const

◆ HasColumn() [3/7]

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

◆ HasColumn() [4/7]

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

◆ HasColumn() [5/7]

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

◆ HasColumn() [6/7]

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

◆ HasColumn() [7/7]

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

◆ IsRowAssigned()

virtual bool UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext::IsRowAssigned ( RowHandle  Row) const
pure virtual

Checks whether or not a row has been reserved but not yet assigned to a table.

◆ IsRowAvailable()

virtual bool UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext::IsRowAvailable ( RowHandle  Row) const
pure virtual

Checks whether or not a row is in use. This is true even if the row has only been reserved.

◆ RemoveColumns() [1/4]

template<typename... Columns>
void UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext::RemoveColumns ( RowHandle  Row)

Removes columns of the provided types from a row. The removal will not be immediately done but delayed until the end of the tick group.

◆ RemoveColumns() [2/4]

virtual void UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext::RemoveColumns ( RowHandle  Row,
TConstArrayView< const UScriptStruct * >  ColumnTypes 
)
pure virtual

Removes columns of the provided types from a row. The removal will not be immediately done but delayed until the end of the tick group.

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

◆ RemoveColumns() [3/4]

template<typename... Columns>
void UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext::RemoveColumns ( TConstArrayView< RowHandle Rows)

Removes columns of the provided types from the listed rows. The removal will not be immediately done but delayed until the end of the tick group.

◆ RemoveColumns() [4/4]

virtual void UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext::RemoveColumns ( TConstArrayView< RowHandle Rows,
TConstArrayView< const UScriptStruct * >  ColumnTypes 
)
pure virtual

Removes columns of the provided types from the listed rows. The removal will not be immediately done but delayed until the end of the tick group.

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

◆ RemoveRow()

virtual void UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext::RemoveRow ( RowHandle  Row)
pure virtual

Removes the row with the provided row handle. The removal will not be immediately done but delayed until the end of the tick group.

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

◆ RemoveRows()

virtual void UE::Editor::DataStorage::ICommonQueryWithEnvironmentContext::RemoveRows ( TConstArrayView< RowHandle Rows)
pure virtual

Removes rows with the provided row handles. The removal will not be immediately done but delayed until the end of the tick group.

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


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