10#define UE_API VERSECOMPILER_API
17class CSemanticProgram;
36template <
typename TIterator,
typename ClassOrFunction>
106 enum class EFindAttributeMode { Exact, IncludeSubtypes };
107 template<EFindAttributeMode Mode>
109 template<EFindAttributeMode Mode>
111 template<EFindAttributeMode Mode>
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_API
Definition SColorGradingComponentViewer.h:12
Base class for everything that can have attributes attached to it (classes, expressions,...
Definition Attributable.h:51
UE_API TOptional< CUTF8String > GetAttributeTextValue(const CClass *AttributeClass, const CSemanticProgram &Program) const
Definition Attributable.cpp:316
UE_API bool HasAttributeClassHack(const CClass *AttributeClass, const CSemanticProgram &) const
Definition Attributable.cpp:321
UE_API const CExpressionBase * FindAttributeSubclassExpr(const CClass *AttributeClass, const CSemanticProgram &Program) const
Definition Attributable.cpp:236
UE_API TArray< const CExpressionBase * > GetAttributesWithAttribute(const CClass *AttributeClass, const CSemanticProgram &Program) const
Definition Attributable.cpp:115
CAttributable & operator=(const CAttributable &Other)=delete
EAttributableScope
Definition Attributable.h:81
@ AttributeClassTypeFunction
UE_API bool HasAttributeClass(const CClass *AttributeClass, const CSemanticProgram &Program) const
Definition Attributable.cpp:89
bool HasAttributes() const
Definition Attributable.h:55
UE_API const CExpressionBase * FindAttributeExpr(const CClass *AttributeClass, const CSemanticProgram &Program) const
Definition Attributable.cpp:230
UE_API TArray< SAttribute > FindAttributes(const CClass *AttributeClass, const CSemanticProgram &Program) const
Definition Attributable.cpp:215
UE_API bool HasAttributeSubclass(const CClass *AttributeClass, const CSemanticProgram &Program) const
Definition Attributable.cpp:94
UE_API void RemoveAttributeClass(const CClass *AttributeClass, const CSemanticProgram &Program)
Definition Attributable.cpp:283
UE_API const TArray< CExpressionBase * > FindAttributeSubclassExprs(const CClass *AttributeClass, const CSemanticProgram &Program) const
Definition Attributable.cpp:257
UE_API bool HasAttributeFunctionHack(const CFunction *AttributeFunction, const CSemanticProgram &) const
Definition Attributable.cpp:327
UE_API void AddAttributeClass(const CClass *AttributeClass)
Definition Attributable.cpp:272
TArray< SAttribute > _Attributes
Definition Attributable.h:53
UE_API int32_t GetAttributeClassCount(const CClass *AttributeClass, const CSemanticProgram &Program) const
Definition Attributable.cpp:99
UE_API void AddAttribute(SAttribute Attribute)
Definition Attributable.cpp:278
CAttributable & operator=(CAttributable &&Other)=delete
UE_API TOptional< SAttribute > FindAttribute(const CClass *AttributeClass, const CSemanticProgram &Program) const
Definition Attributable.cpp:209
UE_API const TArray< CExpressionBase * > FindAttributeExprs(const CClass *AttributeClass, const CSemanticProgram &Program) const
Definition Attributable.cpp:242
Definition SemanticClass.h:33
Definition Expression.h:387
Definition SemanticFunction.h:75
Definition SemanticProgram.h:277
Definition SharedPointer.h:77
Definition VVMEngineEnvironment.h:23
TIterator FindAttributeHack(TIterator First, TIterator Last, const ClassOrFunction *AttributeClassOrFunction, const CSemanticProgram &Program)
Definition Attributable.h:37
bool IsAttributeHack(const SAttribute &Attribute, const CClass *AttributeClass, const CSemanticProgram &Program)
Definition Attributable.cpp:49
Definition Attributable.h:20
EType
Definition Attributable.h:22
VERSECOMPILER_API TOptional< CUTF8String > GetTextValue() const
Definition Attributable.cpp:63
TSRef< CExpressionBase > _Expression
Definition Attributable.h:27
EType _Type
Definition Attributable.h:28