UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FieldNotificationDeclaration.h File Reference

Go to the source code of this file.

Macros

#define UE_FIELD_NOTIFICATION_OVERRIDE_GET_FIELD_NOTIFICATION_DESCRIPTOR()
 
#define UE_FIELD_NOTIFICATION_DECLARE_CLASS_DESCRIPTOR_BEGIN(API_STRING)
 
#define UE_FIELD_NOTIFICATION_DECLARE_CLASS_DESCRIPTOR_END()
 
#define UE_FIELD_NOTIFICATION_DECLARE_CLASS_DESCRIPTOR_BASE_BEGIN(API_STRING)
 
#define UE_FIELD_NOTIFICATION_DECLARE_CLASS_DESCRIPTOR_BASE_END()
 
#define UE_FIELD_NOTIFICATION_DECLARE_ENUM_FIELD_BEGIN(Name)
 
#define UE_FIELD_NOTIFICATION_DECLARE_ENUM_FIELD_END()
 
#define UE_FIELD_NOTIFICATION_DECLARE_FIELD(Name, API_STRING)    static API_STRING const ::UE::FieldNotification::FFieldId Name;
 
#define UE_FIELD_NOTIFICATION_DECLARE_ENUM_FIELD(Name)    IndexOf_##Name,
 
#define UE_FIELD_NOTIFICATION_IMPLEMENTATION_BEGIN(ClassName)
 
#define UE_FIELD_NOTIFICATION_IMPLEMENTATION_END(ClassName)   }
 
#define UE_FIELD_NOTIFICATION_IMPLEMENT_FIELD(ClassName, MemberName)   const ::UE::FieldNotification::FFieldId ClassName::FFieldNotificationClassDescriptor::MemberName( FName(TEXT(#MemberName)), ClassName::FFieldNotificationClassDescriptor::IndexOf_##MemberName );
 
#define UE_FIELD_NOTIFICATION_IMPLEMENT_ENUM_FIELD(ClassName, MemberName)   &ClassName::FFieldNotificationClassDescriptor::MemberName,
 
#define UE_FIELD_NOTIFICATION_IMPLEMENT_CLASS_DESCRIPTOR_OneField(ClassName, Field1)
 
#define UE_FIELD_NOTIFICATION_IMPLEMENT_CLASS_DESCRIPTOR_TwoFields(ClassName, Field1, Field2)
 
#define UE_FIELD_NOTIFICATION_IMPLEMENT_CLASS_DESCRIPTOR_ThreeFields(ClassName, Field1, Field2, Field3)
 
#define UE_FIELD_NOTIFICATION_IMPLEMENT_CLASS_DESCRIPTOR_FourFields(ClassName, Field1, Field2, Field3, Field4)
 
#define UE_FIELD_NOTIFICATION_IMPLEMENT_CLASS_DESCRIPTOR_FiveFields(ClassName, Field1, Field2, Field3, Field4, Field5)
 
#define UE_FIELD_NOTIFICATION_IMPLEMENT_CLASS_DESCRIPTOR_SixFields(ClassName, Field1, Field2, Field3, Field4, Field5, Field6)
 
#define UE_FIELD_NOTIFICATION_IMPLEMENT_CLASS_DESCRIPTOR_SevenFields(ClassName, Field1, Field2, Field3, Field4, Field5, Field6, Field7)
 
#define UE_FIELD_NOTIFICATION_IMPLEMENT_CLASS_DESCRIPTOR_EightFields(ClassName, Field1, Field2, Field3, Field4, Field5, Field6, Field7, Field8)
 

Macro Definition Documentation

◆ UE_FIELD_NOTIFICATION_DECLARE_CLASS_DESCRIPTOR_BASE_BEGIN

#define UE_FIELD_NOTIFICATION_DECLARE_CLASS_DESCRIPTOR_BASE_BEGIN (   API_STRING)
Value:
struct FFieldNotificationClassDescriptor : public ::UE::FieldNotification::IClassDescriptor \
{ \
private: \
static API_STRING const ::UE::FieldNotification::FFieldId* AllFields[]; \
static API_STRING const ::UE::FieldNotification::IClassDescriptor& GetDescriptor(); \
friend ThisClass; \
public: \
API_STRING virtual void ForEachField(const UClass* Class, TFunctionRef<bool(::UE::FieldNotification::FFieldId FielId)> Callback) const override; \
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition AssetRegistryState.h:50
Definition Class.h:3793
Definition FieldNotificationId.h:16
Definition IFieldNotificationClassDescriptor.h:12
virtual void ForEachField(const UClass *Class, TFunctionRef< bool(FFieldId FielId)> Callback) const
Definition IFieldNotificationClassDescriptor.h:35
Examples
/work/Engine/Source/Runtime/UMG/Public/Components/Widget.h.

◆ UE_FIELD_NOTIFICATION_DECLARE_CLASS_DESCRIPTOR_BASE_END

#define UE_FIELD_NOTIFICATION_DECLARE_CLASS_DESCRIPTOR_BASE_END ( )

◆ UE_FIELD_NOTIFICATION_DECLARE_CLASS_DESCRIPTOR_BEGIN

#define UE_FIELD_NOTIFICATION_DECLARE_CLASS_DESCRIPTOR_BEGIN (   API_STRING)
Value:
struct FFieldNotificationClassDescriptor : public Super::FFieldNotificationClassDescriptor \
{ \
private: \
using SuperDescriptor = Super::FFieldNotificationClassDescriptor; \
static API_STRING const ::UE::FieldNotification::FFieldId* AllFields[]; \
static API_STRING const ::UE::FieldNotification::IClassDescriptor& GetDescriptor(); \
friend ThisClass; \
public:

◆ UE_FIELD_NOTIFICATION_DECLARE_CLASS_DESCRIPTOR_END

#define UE_FIELD_NOTIFICATION_DECLARE_CLASS_DESCRIPTOR_END ( )
Value:
virtual void ForEachField(const UClass* Class, TFunctionRef<bool(::UE::FieldNotification::FFieldId FielId)> Callback) const override \
{ \
for (int32 Index = 0; Index < Max_IndexOf_-SuperDescriptor::Max_IndexOf_; ++Index) \
{ \
if (!Callback(*AllFields[Index])) \
{ \
return; \
} \
} \
SuperDescriptor::ForEachField(Class, Callback); \
} \
}; \
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
U16 Index
Definition radfft.cpp:71

◆ UE_FIELD_NOTIFICATION_DECLARE_ENUM_FIELD

#define UE_FIELD_NOTIFICATION_DECLARE_ENUM_FIELD (   Name)     IndexOf_##Name,

◆ UE_FIELD_NOTIFICATION_DECLARE_ENUM_FIELD_BEGIN

#define UE_FIELD_NOTIFICATION_DECLARE_ENUM_FIELD_BEGIN (   Name)
Value:
enum EField \
{ \
IndexOf_##Name = SuperDescriptor::Max_IndexOf_ + 0,
Examples
/work/Engine/Source/Runtime/UMG/Public/Components/Widget.h.

◆ UE_FIELD_NOTIFICATION_DECLARE_ENUM_FIELD_END

#define UE_FIELD_NOTIFICATION_DECLARE_ENUM_FIELD_END ( )

◆ UE_FIELD_NOTIFICATION_DECLARE_FIELD

◆ UE_FIELD_NOTIFICATION_IMPLEMENT_CLASS_DESCRIPTOR_EightFields

◆ UE_FIELD_NOTIFICATION_IMPLEMENT_CLASS_DESCRIPTOR_FiveFields

◆ UE_FIELD_NOTIFICATION_IMPLEMENT_CLASS_DESCRIPTOR_FourFields

◆ UE_FIELD_NOTIFICATION_IMPLEMENT_CLASS_DESCRIPTOR_OneField

#define UE_FIELD_NOTIFICATION_IMPLEMENT_CLASS_DESCRIPTOR_OneField (   ClassName,
  Field1 
)

◆ UE_FIELD_NOTIFICATION_IMPLEMENT_CLASS_DESCRIPTOR_SevenFields

◆ UE_FIELD_NOTIFICATION_IMPLEMENT_CLASS_DESCRIPTOR_SixFields

◆ UE_FIELD_NOTIFICATION_IMPLEMENT_CLASS_DESCRIPTOR_ThreeFields

◆ UE_FIELD_NOTIFICATION_IMPLEMENT_CLASS_DESCRIPTOR_TwoFields

◆ UE_FIELD_NOTIFICATION_IMPLEMENT_ENUM_FIELD

#define UE_FIELD_NOTIFICATION_IMPLEMENT_ENUM_FIELD (   ClassName,
  MemberName 
)    &ClassName::FFieldNotificationClassDescriptor::MemberName,

◆ UE_FIELD_NOTIFICATION_IMPLEMENT_FIELD

#define UE_FIELD_NOTIFICATION_IMPLEMENT_FIELD (   ClassName,
  MemberName 
)    const ::UE::FieldNotification::FFieldId ClassName::FFieldNotificationClassDescriptor::MemberName( FName(TEXT(#MemberName)), ClassName::FFieldNotificationClassDescriptor::IndexOf_##MemberName );

◆ UE_FIELD_NOTIFICATION_IMPLEMENTATION_BEGIN

#define UE_FIELD_NOTIFICATION_IMPLEMENTATION_BEGIN (   ClassName)
Value:
const ::UE::FieldNotification::IClassDescriptor& ClassName::FFieldNotificationClassDescriptor::GetDescriptor() \
{ \
static FFieldNotificationClassDescriptor Instance; \
return Instance; \
} \
const ::UE::FieldNotification::FFieldId* ClassName::FFieldNotificationClassDescriptor::AllFields[] = {

◆ UE_FIELD_NOTIFICATION_IMPLEMENTATION_END

#define UE_FIELD_NOTIFICATION_IMPLEMENTATION_END (   ClassName)    }

◆ UE_FIELD_NOTIFICATION_OVERRIDE_GET_FIELD_NOTIFICATION_DESCRIPTOR

#define UE_FIELD_NOTIFICATION_OVERRIDE_GET_FIELD_NOTIFICATION_DESCRIPTOR ( )
Value:
virtual const ::UE::FieldNotification::IClassDescriptor& GetFieldNotificationDescriptor() const \
{ \
return FFieldNotificationClassDescriptor::GetDescriptor(); \
}