UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Editor::DataStorage::Queries::Private Namespace Reference

Classes

struct  FColumnsFunction
 
struct  FContextColumnsFunction
 
struct  FContextInfo
 
struct  FContextInfo< SourceType, const SourceType & >
 
struct  FContextInfo< SourceType, SourceType & >
 
struct  FContextRowHandleColumnsFunction
 
struct  FFunctionColumnInfo
 
struct  FFunctionColumnInfo< SourceContext, ValidateColumns >
 
struct  FFunctionInfo
 
struct  FFunctionInfoHelper
 
struct  FFunctionInfoHelper< SourceContext, ValidateColumns, Arg0, Arg1, Args... >
 
struct  FFunctionInfoHelper< SourceContext, ValidateColumns, Arg0, Args... >
 
struct  ForwardTesterBase
 
struct  FQueryContext
 
struct  FRowHandleColumnsFunction
 
struct  IContextContractCombiner
 
struct  IContextContractCombinerImpl
 
struct  IContextContractCombinerImpl< Base >
 
struct  IPreContextContractCombiner
 
struct  IsValidSelectFunctionSignatureImpl
 
struct  IsValidSelectFunctionSignatureImpl2
 
struct  IsValidSelectFunctionSignatureImpl2< SourceContext >
 
struct  IsValidSelectFunctionSignatureImpl2< SourceContext, Arg0, Arg1, Args... >
 
struct  IsValidSelectFunctionSignatureImpl2< SourceContext, Arg0, Args... >
 
struct  IsValidSelectFunctionSignatureImpl< SourceContext, void(*)(Args...)>
 
struct  IsValidSelectFunctionSignatureImpl< SourceContext, void(Class::*)(Args...) const >
 
struct  IsValidSelectFunctionSignatureImpl< SourceContext, void(Class::*)(Args...)>
 
struct  RegisterFunctionArgumentsHelper
 
struct  RegisterFunctionArgumentsHelper< SourceContext >
 
struct  RegisterFunctionArgumentsHelper< SourceContext, Arg0 >
 
struct  RegisterFunctionArgumentsHelper< SourceContext, Arg0, Arg1, Args... >
 
struct  ResultTypeInfo
 
struct  ResultTypeInfo< TResult< T > >
 
struct  TArgument
 
struct  TArgument< T >
 
struct  TArgument< TBatch< T > >
 
struct  TArgument< void >
 
struct  TArgumentInfo
 
struct  TForwarder
 
struct  TForwarder< Base, Capabilities... >
 
struct  TForwarder<>
 
struct  TFunctionInfo
 
struct  TFunctionInfoImpl
 
struct  TFunctionInfoImpl< Return(*)(Args...)>
 
struct  TFunctionInfoImpl< Return(Class::*)(Args...) const >
 
struct  TFunctionInfoImpl< Return(Class::*)(Args...)>
 
struct  TFunctionInfoSelection
 
struct  TFunctionInfoSelection< false, FunctionType >
 
struct  TFunctionInfoSelection< true, FunctionType >
 
struct  TIndexToArgInfoImpl
 
struct  TIndexToArgInfoImpl< Index >
 
struct  TIndexToArgInfoImpl< Index, Front, Args... >
 
struct  TPointerForwarder
 

Concepts

concept  HasStaticStructMethod
 
concept  SourceQueryContext
 
concept  IsCompatibleTargetContextType
 
concept  IsRowHandleType
 
concept  IsFunctor
 
concept  ContextType
 
concept  FunctorType
 

Typedefs

template<typename Column >
using BaseColumnType = std::remove_pointer_t< std::remove_reference_t< Column > >
 
template<typename Column >
using UndecoratedColumnType = std::remove_cv_t< BaseColumnType< Column > >
 
template<typename T >
using UnreferencedType = std::remove_reference_t< std::remove_pointer_t< T > >
 
template<typename T >
using FoundationalType = std::remove_cv_t< UnreferencedType< T > >
 
template<int32 Index, typename... Args>
using TIndexToArgInfo = typename TIndexToArgInfoImpl< Index, Args... >::Type
 

Enumerations

enum  EConflictResolution { First , Second , Conflict , Unknown }
 
enum class  EArgumentFlags {
  IsConst = 1 << 0 , IsMutable = 1 << 1 , SingleArgument = 1 << 2 , BatchArgument = 1 << 3 ,
  Type_Result = 1 << 4 , Type_Context = 1 << 5 , Type_RowHandle = 1 << 6 , Type_Column = 1 << 7 ,
  Type_FlowControl = 1 << 8
}
 

Functions

EConflictResolution Resolve (EQueryAccessType First, EQueryAccessType Second)
 
EConflictResolution Resolve (FQueryDescription::EOperatorType First, FQueryDescription::EOperatorType Second)
 
EConflictResolution Resolve (EQueryAccessType First, FQueryDescription::EOperatorType Second)
 
void RemoveSelection (FQueryDescription &Query, int32 SelectionIndex, bool bDynamic)
 
void RemoveCondition (FQueryDescription &Query, int32 ConditionIndex, bool bDynamic)
 
void ResolveSelectDuplicate (FQueryDescription &Query, int32 OriginalIndex, int32 DuplicateIndex, bool bDynamic)
 
bool ResolveConditionDuplicate (FQueryDescription &Query, int32 OriginalIndex, int32 DuplicateIndex, bool bDynamic, FText *OutErrorMessage)
 
bool ResolveConditionSelectionDuplicate (FQueryDescription &Query, int32 SelectionIndex, int32 ConditionIndex, bool bDynamic, FText *OutErrorMessage)
 
bool ResolveDuplicatesInQuery (FQueryDescription &Query, FText *OutErrorMessage)
 
bool AreMergeablePrecheck (const FQueryDescription &Destination, const FQueryDescription &Source, FText *OutErrorMessage)
 
void MergeSelect (FQueryDescription &Destination, const FQueryDescription &Source)
 
void MergeConditions (FQueryDescription &Destination, const FQueryDescription &Source)
 
template<typename Target , typename ArgsCurrent , typename... ArgsRemainder>
constexpr uint32 GetVarArgIndex ()
 
template<typename Type >
constexpr EQueryAccessType GetAccessType ()
 
template<typename Type >
constexpr EQueryDependencyFlags GetDependencyFlags ()
 
template<typename... Columns>
constexpr bool AreAllColumnsReferences ()
 
template<typename... Columns>
constexpr bool AreAllColumnsPointers ()
 
template<typename Column >
constexpr bool IsValidColumnType ()
 
template<typename Column >
const UScriptStructGetColumnType ()
 
template<typename RowType , typename... Columns>
constexpr bool IsRowTypeCompatibleWithColumns ()
 
template<SourceQueryContext SourceContext, bool ValidateColumns, typename... Args>
void BindQueryFunction (QueryCallback &Function, void(*Callback)(Args...))
 
template<SourceQueryContext SourceContext, bool ValidateColumns, typename Class , typename... Args>
void BindQueryFunction (QueryCallback &Function, Class *Target, void(Class::*Callback)(Args...))
 
template<SourceQueryContext SourceContext, bool ValidateColumns, typename Functor , typename Class , typename... Args>
void BindQueryFunction_Expand (QueryCallback &Function, Functor &&CallbackObject, void(Class::*Callback)(Args...) const)
 
template<SourceQueryContext SourceContext, bool ValidateColumns, typename Functor >
void BindQueryFunction (QueryCallback &Function, Functor &&Callback)
 
template<bool ValidateColumns, SourceQueryContext SourceContext, typename... Args>
void CallQueryFunction (const FQueryDescription &Description, SourceContext &Context, QueryCallback &Function, void(*Callback)(Args...))
 
template<bool ValidateColumns, SourceQueryContext SourceContext, typename Class , typename... Args>
void CallQueryFunction (const FQueryDescription &Description, SourceContext &Context, Class *Target, void(Class::*Callback)(Args...))
 
template<bool ValidateColumns, SourceQueryContext SourceContext, typename Functor , typename Class , typename... Args>
void CallQueryFunction_Expand (const FQueryDescription &Description, SourceContext &Context, const Functor &CallbackObject, void(Class::*Callback)(Args...) const)
 
template<bool ValidateColumns, SourceQueryContext SourceContext, typename Functor >
void CallQueryFunction (const FQueryDescription &Description, SourceContext &Context, const Functor &Callback)
 
template<typename Arg >
void AddColumnToSelect (Select &Target)
 
template<typename ContextType >
void RegisterDependencies (FQueryDescription &Query)
 
template<SourceQueryContext SourceContext, typename... Args>
void RegisterFunctionArguments (FQueryDescription &Query, Select &Target, void(*)(Args...))
 
template<SourceQueryContext SourceContext, typename Class , typename... Args>
void RegisterFunctionArguments (FQueryDescription &Query, Select &Target, void(Class::*)(Args...))
 
template<SourceQueryContext SourceContext, typename Functor >
void RegisterFunctionArguments (FQueryDescription &Query, Select &Target, Functor)
 
template<SourceQueryContext SourceContext, typename T >
constexpr bool IsValidSelectFunctionSignature ()
 
void PrepareForQueryBinding (FQueryDescription &Query, const FProcessor &Processor)
 
void PrepareForQueryBinding (FQueryDescription &Query, const FObserver &Observer)
 
void PrepareForQueryBinding (FQueryDescription &Query, const FPhaseAmble &PhaseAmble)
 
template<typename CallbackType , typename Function >
void PrepareForQueryBinding (Select &Target, FQueryDescription &Query, FName Name, const CallbackType &Type, Function Callback)
 
template<EArgumentFlags TypeFlag, int32 Index>
constexpr int32 FirstIndexOfTypeImpl ()
 
template<EArgumentFlags TypeFlag, int32 Index, typename Arg , typename... Args>
constexpr int32 FirstIndexOfTypeImpl ()
 
template<typename FunctionInfo , typename ArgumentInfo , typename ReturnType , typename FunctionType >
void CallBody (TResult< ReturnType > &QueryResult, IContextContract &Contract, IQueryFunctionResponse &Response, typename TQueryFunction< ReturnType >::FunctionSpecializationCallback Specialization, FunctionType &&Callback)
 

Detailed Description

MergeQueries

This file contains the arguments that can be used in functions for Query Callbacks. In addition to the options in this file, the following arguments can be added as well:

  • TQueryContext - Addition is typically required to interact with TEDS, e.g. to add/remove columns.
  • Columns - When using the single row mode any column with data can be added by reference and it will automatically be bound. Note that the use of const is important as it will determine if read-only or read-write access is requested from TEDS, which can have performance implications as read-only generally provides better parallelization.

Typedef Documentation

◆ BaseColumnType

template<typename Column >
using UE::Editor::DataStorage::Queries::Private::BaseColumnType = typedef std::remove_pointer_t<std::remove_reference_t<Column> >

◆ FoundationalType

◆ TIndexToArgInfo

◆ UndecoratedColumnType

◆ UnreferencedType

template<typename T >
using UE::Editor::DataStorage::Queries::Private::UnreferencedType = typedef std::remove_reference_t<std::remove_pointer_t<T> >

Enumeration Type Documentation

◆ EArgumentFlags

Enumerator
IsConst 
IsMutable 
SingleArgument 
BatchArgument 
Type_Result 
Type_Context 
Type_RowHandle 
Type_Column 
Type_FlowControl 

◆ EConflictResolution

Enumerator
First 
Second 
Conflict 
Unknown 

Function Documentation

◆ AddColumnToSelect()

template<typename Arg >
void UE::Editor::DataStorage::Queries::Private::AddColumnToSelect ( Select Target)

◆ AreAllColumnsPointers()

template<typename... Columns>
constexpr bool UE::Editor::DataStorage::Queries::Private::AreAllColumnsPointers ( )
constexpr

◆ AreAllColumnsReferences()

template<typename... Columns>
constexpr bool UE::Editor::DataStorage::Queries::Private::AreAllColumnsReferences ( )
constexpr

◆ AreMergeablePrecheck()

bool UE::Editor::DataStorage::Queries::Private::AreMergeablePrecheck ( const FQueryDescription Destination,
const FQueryDescription Source,
FText OutErrorMessage 
)

◆ BindQueryFunction() [1/3]

template<SourceQueryContext SourceContext, bool ValidateColumns, typename Class , typename... Args>
void UE::Editor::DataStorage::Queries::Private::BindQueryFunction ( QueryCallback Function,
Class Target,
void(Class::*)(Args...)  Callback 
)

◆ BindQueryFunction() [2/3]

template<SourceQueryContext SourceContext, bool ValidateColumns, typename Functor >
void UE::Editor::DataStorage::Queries::Private::BindQueryFunction ( QueryCallback Function,
Functor &&  Callback 
)

◆ BindQueryFunction() [3/3]

template<SourceQueryContext SourceContext, bool ValidateColumns, typename... Args>
void UE::Editor::DataStorage::Queries::Private::BindQueryFunction ( QueryCallback Function,
void(*)(Args...)  Callback 
)

◆ BindQueryFunction_Expand()

template<SourceQueryContext SourceContext, bool ValidateColumns, typename Functor , typename Class , typename... Args>
void UE::Editor::DataStorage::Queries::Private::BindQueryFunction_Expand ( QueryCallback Function,
Functor &&  CallbackObject,
void(Class::*)(Args...) const  Callback 
)

◆ CallBody()

template<typename FunctionInfo , typename ArgumentInfo , typename ReturnType , typename FunctionType >
void UE::Editor::DataStorage::Queries::Private::CallBody ( TResult< ReturnType > &  QueryResult,
IContextContract Contract,
IQueryFunctionResponse Response,
typename TQueryFunction< ReturnType >::FunctionSpecializationCallback  Specialization,
FunctionType &&  Callback 
)

◆ CallQueryFunction() [1/3]

template<bool ValidateColumns, SourceQueryContext SourceContext, typename Class , typename... Args>
void UE::Editor::DataStorage::Queries::Private::CallQueryFunction ( const FQueryDescription Description,
SourceContext &  Context,
Class Target,
void(Class::*)(Args...)  Callback 
)

◆ CallQueryFunction() [2/3]

template<bool ValidateColumns, SourceQueryContext SourceContext, typename Functor >
void UE::Editor::DataStorage::Queries::Private::CallQueryFunction ( const FQueryDescription Description,
SourceContext &  Context,
const Functor &  Callback 
)

◆ CallQueryFunction() [3/3]

template<bool ValidateColumns, SourceQueryContext SourceContext, typename... Args>
void UE::Editor::DataStorage::Queries::Private::CallQueryFunction ( const FQueryDescription Description,
SourceContext &  Context,
QueryCallback Function,
void(*)(Args...)  Callback 
)

◆ CallQueryFunction_Expand()

template<bool ValidateColumns, SourceQueryContext SourceContext, typename Functor , typename Class , typename... Args>
void UE::Editor::DataStorage::Queries::Private::CallQueryFunction_Expand ( const FQueryDescription Description,
SourceContext &  Context,
const Functor &  CallbackObject,
void(Class::*)(Args...) const  Callback 
)

◆ FirstIndexOfTypeImpl() [1/2]

template<EArgumentFlags TypeFlag, int32 Index>
constexpr int32 UE::Editor::DataStorage::Queries::Private::FirstIndexOfTypeImpl ( )
constexpr

◆ FirstIndexOfTypeImpl() [2/2]

template<EArgumentFlags TypeFlag, int32 Index, typename Arg , typename... Args>
constexpr int32 UE::Editor::DataStorage::Queries::Private::FirstIndexOfTypeImpl ( )
constexpr

◆ GetAccessType()

template<typename Type >
constexpr EQueryAccessType UE::Editor::DataStorage::Queries::Private::GetAccessType ( )
constexpr

◆ GetColumnType()

template<typename Column >
const UScriptStruct * UE::Editor::DataStorage::Queries::Private::GetColumnType ( )

◆ GetDependencyFlags()

template<typename Type >
constexpr EQueryDependencyFlags UE::Editor::DataStorage::Queries::Private::GetDependencyFlags ( )
constexpr

◆ GetVarArgIndex()

template<typename Target , typename ArgsCurrent , typename... ArgsRemainder>
constexpr uint32 UE::Editor::DataStorage::Queries::Private::GetVarArgIndex ( )
constexpr

◆ IsRowTypeCompatibleWithColumns()

template<typename RowType , typename... Columns>
constexpr bool UE::Editor::DataStorage::Queries::Private::IsRowTypeCompatibleWithColumns ( )
constexpr

◆ IsValidColumnType()

template<typename Column >
constexpr bool UE::Editor::DataStorage::Queries::Private::IsValidColumnType ( )
constexpr

◆ IsValidSelectFunctionSignature()

template<SourceQueryContext SourceContext, typename T >
constexpr bool UE::Editor::DataStorage::Queries::Private::IsValidSelectFunctionSignature ( )
constexpr

◆ MergeConditions()

void UE::Editor::DataStorage::Queries::Private::MergeConditions ( FQueryDescription Destination,
const FQueryDescription Source 
)

◆ MergeSelect()

void UE::Editor::DataStorage::Queries::Private::MergeSelect ( FQueryDescription Destination,
const FQueryDescription Source 
)

◆ PrepareForQueryBinding() [1/4]

void UE::Editor::DataStorage::Queries::Private::PrepareForQueryBinding ( FQueryDescription Query,
const FObserver Observer 
)
inline

◆ PrepareForQueryBinding() [2/4]

void UE::Editor::DataStorage::Queries::Private::PrepareForQueryBinding ( FQueryDescription Query,
const FPhaseAmble PhaseAmble 
)
inline

◆ PrepareForQueryBinding() [3/4]

void UE::Editor::DataStorage::Queries::Private::PrepareForQueryBinding ( FQueryDescription Query,
const FProcessor Processor 
)
inline

◆ PrepareForQueryBinding() [4/4]

void UE::Editor::DataStorage::Queries::Private::PrepareForQueryBinding ( Select Target,
FQueryDescription Query,
FName  Name,
const CallbackType Type,
Function  Callback 
)

◆ RegisterDependencies()

template<typename ContextType >
void UE::Editor::DataStorage::Queries::Private::RegisterDependencies ( FQueryDescription Query)

◆ RegisterFunctionArguments() [1/3]

template<SourceQueryContext SourceContext, typename Functor >
void UE::Editor::DataStorage::Queries::Private::RegisterFunctionArguments ( FQueryDescription Query,
Select Target,
Functor   
)

◆ RegisterFunctionArguments() [2/3]

template<SourceQueryContext SourceContext, typename... Args>
void UE::Editor::DataStorage::Queries::Private::RegisterFunctionArguments ( FQueryDescription Query,
Select Target,
void(*)(Args...)   
)

◆ RegisterFunctionArguments() [3/3]

template<SourceQueryContext SourceContext, typename Class , typename... Args>
void UE::Editor::DataStorage::Queries::Private::RegisterFunctionArguments ( FQueryDescription Query,
Select Target,
void(Class::*)(Args...)   
)

◆ RemoveCondition()

void UE::Editor::DataStorage::Queries::Private::RemoveCondition ( FQueryDescription Query,
int32  ConditionIndex,
bool  bDynamic 
)

◆ RemoveSelection()

void UE::Editor::DataStorage::Queries::Private::RemoveSelection ( FQueryDescription Query,
int32  SelectionIndex,
bool  bDynamic 
)

◆ Resolve() [1/3]

EConflictResolution UE::Editor::DataStorage::Queries::Private::Resolve ( EQueryAccessType  First,
EQueryAccessType  Second 
)

◆ Resolve() [2/3]

EConflictResolution UE::Editor::DataStorage::Queries::Private::Resolve ( EQueryAccessType  First,
FQueryDescription::EOperatorType  Second 
)

◆ Resolve() [3/3]

EConflictResolution UE::Editor::DataStorage::Queries::Private::Resolve ( FQueryDescription::EOperatorType  First,
FQueryDescription::EOperatorType  Second 
)

◆ ResolveConditionDuplicate()

bool UE::Editor::DataStorage::Queries::Private::ResolveConditionDuplicate ( FQueryDescription Query,
int32  OriginalIndex,
int32  DuplicateIndex,
bool  bDynamic,
FText OutErrorMessage 
)

◆ ResolveConditionSelectionDuplicate()

bool UE::Editor::DataStorage::Queries::Private::ResolveConditionSelectionDuplicate ( FQueryDescription Query,
int32  SelectionIndex,
int32  ConditionIndex,
bool  bDynamic,
FText OutErrorMessage 
)

◆ ResolveDuplicatesInQuery()

bool UE::Editor::DataStorage::Queries::Private::ResolveDuplicatesInQuery ( FQueryDescription Query,
FText OutErrorMessage 
)

◆ ResolveSelectDuplicate()

void UE::Editor::DataStorage::Queries::Private::ResolveSelectDuplicate ( FQueryDescription Query,
int32  OriginalIndex,
int32  DuplicateIndex,
bool  bDynamic 
)