UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TypedElementQueryContextImplementation.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
10
11#define ArgTypeName(Type, Name) Type Name
12
13#define Function0(Capability, Return, Function) virtual Return Function() override;
14#define Function1(Capability, Return, Function, Arg1) virtual Return Function(ArgTypeName Arg1 ) override;
15#define Function2(Capability, Return, Function, Arg1, Arg2) virtual Return Function(ArgTypeName Arg1 , ArgTypeName Arg2 ) override;
16#define Function3(Capability, Return, Function, Arg1, Arg2, Arg3) virtual Return Function(ArgTypeName Arg1 , ArgTypeName Arg2 , ArgTypeName Arg3 ) override;
17#define Function4(Capability, Return, Function, Arg1, Arg2, Arg3, Arg4) virtual Return Function(ArgTypeName Arg1 , ArgTypeName Arg2 , ArgTypeName Arg3 , ArgTypeName Arg4 ) override;
18
19#define ConstFunction0(Capability, Return, Function) virtual Return Function() const override;
20#define ConstFunction1(Capability, Return, Function, Arg1) virtual Return Function(ArgTypeName Arg1 ) const override;
21#define ConstFunction2(Capability, Return, Function, Arg1, Arg2) virtual Return Function(ArgTypeName Arg1 , ArgTypeName Arg2 ) const override;
22#define ConstFunction3(Capability, Return, Function, Arg1, Arg2, Arg3) virtual Return Function(ArgTypeName Arg1 , ArgTypeName Arg2 , ArgTypeName Arg3 ) const override;
23#define ConstFunction4(Capability, Return, Function, Arg1, Arg2, Arg3, Arg4) virtual Return Function(ArgTypeName Arg1 , ArgTypeName Arg2 , ArgTypeName Arg3 , ArgTypeName Arg4 ) const override;
24
25#define CapabilityStart(Capability, Flags)
26#define CapabilityEnd(Capability)
27
28#define WithWrappers 1
29
31{
40 template<typename ImplementationType, ContextCapability... SupportedCapabilities>
42 {
43 public:
44 template<typename... TArgs>
45 explicit TQueryContextImpl(TArgs&&... Args);
46
47 virtual ~TQueryContextImpl() override = default;
48
49 static bool SupportsCapabilities(TConstArrayView<FName> Capabilities);
50
52
53 // Generic access
54 template<typename ReturnType>
58
59 private:
60 template<ContextCapability RequestedCapability>
61 static constexpr bool SupportsCapability();
62 static bool SupportsCapability(const FName& Capability);
63
64 ImplementationType Implementation;
65 };
66}
67// namespace UE::Editor::DataStorage::Queries
68
69#undef ArgTypeName
70#undef Function0
71#undef Function1
72#undef Function2
73#undef Function3
74#undef Function4
75#undef ConstFunction0
76#undef ConstFunction1
77#undef ConstFunction2
78#undef ConstFunction3
79#undef ConstFunction4
80#undef CapabilityStart
81#undef CapabilityEnd
82#undef WithWrappers
83
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition NameTypes.h:617
Definition TypedElementQueryContextImplementation.h:42
const ImplementationType & GetContextImplementation() const
Definition TypedElementQueryContextImplementation.inl:170
bool CheckCompatiblity(const TQueryFunction< ReturnType > &Function) const
Definition TypedElementQueryContextImplementation.inl:154
static bool SupportsCapabilities(TConstArrayView< FName > Capabilities)
Definition TypedElementQueryContextImplementation.inl:42
Definition TypedElementQueryFunctions.h:73
Definition Conditions.cpp:11
Definition TypedElementQueryContract.h:113