UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TypedElementQueryCapabilities.inl
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3// Mini-DSL to declare TEDS capabilities.
4// Do not include #pragma once here or any other guards against repeated inclusion as this file is meant to be included multiple times.
5// This file contains the definitions of all available query capabilities. The macros get expended in various ways to generate interfaces,
6// function forwarders, contexts, etc.
7
11CapabilityStart(SingleRowInfo, EContextCapabilityFlags::SupportsSingle)
12 /*
13 * Returns whether a column matches the requested type or not. This version only applies to current row. This version is faster than
14 * querying for an arbitrary row.
15 */
19
20#if defined(WithWrappers)
21 /*
22 * Returns whether a column matches the requested type or not. This version only applies to current row. This version is faster than
23 * querying for an arbitrary row.
24 */
25 template<TColumnType... ColumnTypes>
26 bool CurrentRowHasColumns() const
27 {
28 return this->CurrentRowHasColumns(TConstArrayView<const UScriptStruct*>({ ColumnTypes::StaticStruct()... }));
29 }
30#endif
32
33
36CapabilityStart(RowBatchInfo, EContextCapabilityFlags::SupportsBatch)
43
44#if defined(WithWrappers)
46 template<TColumnType... ColumnTypes>
48 {
49 return this->CurrentBatchTableHasColumns(TConstArrayView<const UScriptStruct*>({ ColumnTypes::StaticStruct()... }));
50 }
51
52 template<typename CallbackType, typename... Args>
53 void ForEachRow(CallbackType&& Callback, TBatch<Args>... Batches)
54 {
55 uint32 RowCount = this->GetBatchRowCount();
56 TTuple<Args*...> AddressTuple = MakeTuple(Batches.GetData()...);
57 for (uint32 Index = 0; Index < RowCount; ++Index)
58 {
59 AddressTuple.ApplyBefore([&](Args*&... Pointers)
60 {
61 Callback((*Pointers++)...);
62 });
63 }
64 }
65#endif
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
constexpr TTuple< std::decay_t< Types >... > MakeTuple(Types &&... Args)
Definition Tuple.h:794
#define CapabilityEnd(Capability)
Definition TypedElementQueryCapabilities.h:57
#define CapabilityStart(InCapability, InFlags)
Definition TypedElementQueryCapabilities.h:49
#define ConstFunction1(Capability, Return, Function, Arg1)
Definition TypedElementQueryCapabilities.h:44
#define ConstFunction0(Capability, Return, Function)
Definition TypedElementQueryCapabilities.h:43
TConstArrayView< const UScriptStruct * > TConstArrayView< const UScriptStruct * >
Definition TypedElementQueryCapabilities.inl:16
CurrentRowHasColumns
Definition TypedElementQueryCapabilities.inl:16
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Class.h:1720
U16 Index
Definition radfft.cpp:71
Definition Tuple.h:652