UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TypedElementQueryFunctions.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include <type_traits>
10#include "Templates/Function.h"
11#include "UObject/NameTypes.h"
12
13class UScriptStruct;
14
16{
17 struct IContextContract;
18
29
31 {
32 None = 0,
34 VerifyColumns = 1 << 0,
35 };
37
38 template<typename T>
39 concept FunctionType =
40 requires { &std::remove_reference_t<T>::operator(); } // non-generic lambdas & single-operator() functors
41 || std::is_function_v<std::remove_pointer_t<std::decay_t<T>>> // functions, function pointers & function references
42 || std::is_member_function_pointer_v<std::decay_t<T>>; // member function pointers
43
45 template<typename ReturnType>
70
71 template<typename ReturnType>
72 class TQueryFunction final : public TQueryFunctionBase<ReturnType>
73 {
74 public:
75 template<EFunctionCallConfig Config>
77 {
78 this->template CallInternal<Config>(Result, Contract, Response);
79 }
80
82 {
83 this->template CallInternal<EFunctionCallConfig::None>(Result, Contract, Response);
84 }
85 };
86
87 template<>
89 {
90 public:
91 template<EFunctionCallConfig Config>
93 {
95 this->template CallInternal<Config>(Dummy, Contract, Response);
96 }
97
102 };
103
104 template<typename Return, FunctionType Function>
106
107 template<typename Return, FunctionType Function>
108 TQueryFunction<void> BuildQueryFunction(TResult<Return>& Result, Function&& Callback);
109
110} // namespace UE::Editor::DataStorage::Queries
111
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
auto Response
Definition ExternalRpcRegistry.cpp:598
const bool
Definition NetworkReplayStreaming.h:178
TConstArrayView< const UScriptStruct * > TConstArrayView< const UScriptStruct * >
Definition TypedElementQueryCapabilities.inl:16
Definition ArrayView.h:139
Definition TypedElementQueryFunctions.h:47
TConstArrayView< FName > Capabilities
Definition TypedElementQueryFunctions.h:60
bool(*)(IQueryFunctionResponse &Response, TArrayView< const void * > ConstColumns, TArrayView< void * > MutableColumns) FunctionSpecializationCallback
Definition TypedElementQueryFunctions.h:50
TConstArrayView< const UScriptStruct * > MutableColumnTypes
Definition TypedElementQueryFunctions.h:62
TConstArrayView< const UScriptStruct * > ConstColumnTypes
Definition TypedElementQueryFunctions.h:61
void CallInternal(TResult< ReturnType > &Result, IContextContract &Contract, IQueryFunctionResponse &Response)
Definition TypedElementQueryFunctions.inl:209
bool bIsSingleRowProcessor
Definition TypedElementQueryFunctions.h:64
WrapperFunctionType Function
Definition TypedElementQueryFunctions.h:63
void Call(IContextContract &Contract, IQueryFunctionResponse &Response)
Definition TypedElementQueryFunctions.h:98
void Call(IContextContract &Contract, IQueryFunctionResponse &Response)
Definition TypedElementQueryFunctions.h:92
Definition TypedElementQueryFunctions.h:73
void Call(TResult< ReturnType > &Result, IContextContract &Contract, IQueryFunctionResponse &Response)
Definition TypedElementQueryFunctions.h:81
void Call(TResult< ReturnType > &Result, IContextContract &Contract, IQueryFunctionResponse &Response)
Definition TypedElementQueryFunctions.h:76
Definition Class.h:1720
Definition TypedElementQueryFunctions.h:39
Definition Conditions.cpp:11
EFunctionCallConfig
Definition TypedElementQueryFunctions.h:31
TQueryFunction< Return > BuildQueryFunction(Function &&Callback)
Definition TypedElementQueryFunctions.inl:236
Definition TypedElementQueryContract.h:113
Definition TypedElementQueryFunctions.h:20
virtual void GetConstColumns(TArrayView< const void * > ColumnsData, TConstArrayView< const UScriptStruct * > ColumnTypes)=0
virtual void GetMutableColumns(TArrayView< void * > ColumnsData, TConstArrayView< const UScriptStruct * > ColumnTypes)=0
Definition TypedElementQueryFunctionArgumentTypes.h:46