UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ISlateMetaData.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6
11{
12public:
14 template<class TType>
15 bool IsOfType() const
16 {
17 return IsOfTypeImpl(TType::GetTypeId());
18 }
19
21 virtual ~ISlateMetaData() {}
22
23protected:
27 virtual bool IsOfTypeImpl(const FName& Type) const
28 {
29 return false;
30 }
31};
32
43#define SLATE_METADATA_TYPE(TYPE, BASE) \
44 static const FName& GetTypeId() { static FName Type(TEXT(#TYPE)); return Type; } \
45 virtual bool IsOfTypeImpl(const FName& Type) const override { return GetTypeId() == Type || BASE::IsOfTypeImpl(Type); }
46
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define SLATE_METADATA_TYPE(TYPE, BASE)
Definition ISlateMetaData.h:43
Definition NameTypes.h:617
Definition ISlateMetaData.h:51
FName Tag
Definition ISlateMetaData.h:60
Definition ISlateMetaData.h:11
bool IsOfType() const
Definition ISlateMetaData.h:15
virtual bool IsOfTypeImpl(const FName &Type) const
Definition ISlateMetaData.h:27
virtual ~ISlateMetaData()
Definition ISlateMetaData.h:21