UDocumentation
UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TypedElementQueryCapabilities.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>
6
#include "
Containers/ContainersFwd.h
"
7
#include "
DataStorage/Handles.h
"
8
#include "
Misc/EnumClassFlags.h
"
9
#include "
UObject/NameTypes.h
"
10
11
class
UScriptStruct
;
12
13
namespace
UE::Editor::DataStorage::Queries
14
{
15
enum class
EContextCapabilityFlags
16
{
17
SupportsSingle
= 1 << 0,
18
SupportsBatch
= 1 << 1
19
};
20
ENUM_CLASS_FLAGS
(
EContextCapabilityFlags
)
21
22
29
struct
IContextCapability
30
{
31
virtual
~IContextCapability
() =
default
;
32
};
33
34
35
#define ArgTypeName(Type, Name) Type Name
36
37
#define Function0(Capability, Return, Function) virtual Return Function() = 0;
38
#define Function1(Capability, Return, Function, Arg1) virtual Return Function(ArgTypeName Arg1 ) = 0;
39
#define Function2(Capability, Return, Function, Arg1, Arg2) virtual Return Function(ArgTypeName Arg1 , ArgTypeName Arg2 ) = 0;
40
#define Function3(Capability, Return, Function, Arg1, Arg2, Arg3) virtual Return Function(ArgTypeName Arg1 , ArgTypeName Arg2 , ArgTypeName Arg3 ) = 0;
41
#define Function4(Capability, Return, Function, Arg1, Arg2, Arg3, Arg4) virtual Return Function(ArgTypeName Arg1 , ArgTypeName Arg2 , ArgTypeName Arg3 , ArgTypeName Arg4 ) = 0;
42
43
#define ConstFunction0(Capability, Return, Function) virtual Return Function() const = 0;
44
#define ConstFunction1(Capability, Return, Function, Arg1) virtual Return Function(ArgTypeName Arg1 ) const = 0;
45
#define ConstFunction2(Capability, Return, Function, Arg1, Arg2) virtual Return Function(ArgTypeName Arg1 , ArgTypeName Arg2 ) const = 0;
46
#define ConstFunction3(Capability, Return, Function, Arg1, Arg2, Arg3) virtual Return Function(ArgTypeName Arg1 , ArgTypeName Arg2 , ArgTypeName Arg3 ) const = 0;
47
#define ConstFunction4(Capability, Return, Function, Arg1, Arg2, Arg3, Arg4) virtual Return Function(ArgTypeName Arg1 , ArgTypeName Arg2 , ArgTypeName Arg3 , ArgTypeName Arg4 ) const = 0;
48
49
#define CapabilityStart(InCapability, InFlags) \
50
template<typename Base> \
51
struct I##InCapability : Base \
52
{ \
53
inline static const FName Name = #InCapability ; \
54
static constexpr EContextCapabilityFlags Flags = InFlags; \
55
virtual ~I##InCapability () override = default;
56
57
#define CapabilityEnd(Capability) \
58
}; \
59
using Capability = I##Capability <IContextCapability>;
60
61
#include "
Elements/Framework/TypedElementQueryCapabilities.inl
"
62
63
#undef ArgTypeName
64
#undef Function0
65
#undef Function1
66
#undef Function2
67
#undef Function3
68
#undef Function4
69
#undef ConstFunction0
70
#undef ConstFunction1
71
#undef ConstFunction2
72
#undef ConstFunction3
73
#undef ConstFunction4
74
#undef CapabilityStart
75
#undef CapabilityEnd
76
}
// namespace UE::Editor::DataStorage::Queries
ContainersFwd.h
StaticCastSharedRef
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition
SharedPointer.h:127
EnumClassFlags.h
ENUM_CLASS_FLAGS
#define ENUM_CLASS_FLAGS(Enum)
Definition
EnumClassFlags.h:6
NameTypes.h
Handles.h
TypedElementQueryCapabilities.inl
UScriptStruct
Definition
Class.h:1720
UE::Editor::DataStorage::Queries
Definition
Conditions.cpp:11
UE::Editor::DataStorage::Queries::EContextCapabilityFlags
EContextCapabilityFlags
Definition
TypedElementQueryCapabilities.h:16
UE::Editor::DataStorage::Queries::EContextCapabilityFlags::SupportsBatch
@ SupportsBatch
UE::Editor::DataStorage::Queries::EContextCapabilityFlags::SupportsSingle
@ SupportsSingle
UE::Editor::DataStorage::Queries::IContextCapability
Definition
TypedElementQueryCapabilities.h:30
UE::Editor::DataStorage::Queries::IContextCapability::~IContextCapability
virtual ~IContextCapability()=default
Engine
Source
Runtime
TypedElementFramework
Public
Elements
Framework
TypedElementQueryCapabilities.h
Generated by
1.9.8