41 explicit operator bool()
const
54template<
typename PropertyTraits>
61 template<
typename,
typename =
void>
62 constexpr bool PropertyTraitsHaveCustomAccessorStorageType =
false;
65 constexpr bool PropertyTraitsHaveCustomAccessorStorageType<T, std::void_t<
decltype(
sizeof(
typename T::CustomAccessorStorageType))>> =
true;
68 template<
typename PropertyTraits,
bool Custom>
69 struct TCustomPropertyAccessorStorageTypeImpl;
71 template<
typename PropertyTraits>
72 struct TCustomPropertyAccessorStorageTypeImpl<PropertyTraits,
false>
74 using Value =
typename PropertyTraits::StorageType;
77 template<
typename PropertyTraits>
78 struct TCustomPropertyAccessorStorageTypeImpl<PropertyTraits,
true>
80 using Value =
typename PropertyTraits::CustomAccessorStorageType;
83 template<
typename PropertyTraits>
84 struct TCustomPropertyAccessorStorageType : TCustomPropertyAccessorStorageTypeImpl<PropertyTraits, PropertyTraitsHaveCustomAccessorStorageType<PropertyTraits>>
94 static_assert(std::is_same_v<TCustomPropertyAccessorStorageType<TestNormal>::Value,
bool>,
"Normal has bool storage type");
102 static_assert(std::is_same_v<TCustomPropertyAccessorStorageType<TestCustom>::Value,
int>,
"Custom has int storage type");
109template<
typename PropertyTraits,
typename MetaDataType>
112template<
typename PropertyTraits,
typename ...MetaDataTypes>
115 using StorageType =
typename Private::TCustomPropertyAccessorStorageType<PropertyTraits>::Value;
129template<
typename PropertyTraits>
150template<
typename PropertyTraits>
171 template<
typename T,
typename Allocator>
230template<
typename PropertyTraits,
int InlineSize = 8>
260 Accessor.
Class =
nullptr;
271 if (Accessor.
Class == ClassType)
277 Accessor.
Class =
nullptr;
297template<
typename InPropertyTraits>
312template<
typename PropertyTraits,
typename MetaDataType>
317template<
typename PropertyTraits,
typename ...MetaDataTypes>
327 if (CustomProperties)
329 CustomAccessors = CustomProperties->GetAccessors();
402 const PropertyTraits* Traits;
434template<
typename PropertyTraits>
447template<
typename PropertyTraits,
typename MetaDataType>
452template<
typename PropertyTraits,
typename ...MetaDataTypes>
461 if (CustomProperties)
463 CustomAccessors = CustomProperties->GetAccessors();
540 const PropertyTraits* Traits;
546template<
typename PropertyTraits>
586template<
typename PropertyTraits,
typename MetaDataType,
typename...
CompositeTypes>
589template<
typename PropertyTraits,
typename... MetaDataTypes,
typename...
CompositeTypes>
598 if (CustomProperties)
600 CustomAccessors = CustomProperties->GetAccessors();
685 const PropertyTraits* Traits;
690template<
typename PropertyTraits,
typename ...CompositeTypes>
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
@ INDEX_NONE
Definition CoreMiscDefines.h:150
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
const bool
Definition NetworkReplayStreaming.h:178
auto GetData(const TStringConversion< Converter, DefaultConversionSize > &Conversion) -> decltype(Conversion.Get())
Definition StringConv.h:802
Definition NameTypes.h:617
Definition TrackInstancePropertyBindings.h:143
Definition PropertyPath.Build.cs:6
Definition SharedPointer.h:692
Definition ContainerAllocationPolicies.h:894
Definition StringView.h:107
UClass * GetSuperClass() const
Definition Class.h:4352
Definition MovieScenePropertyRegistry.h:165
Definition OverriddenPropertySet.cpp:45
Definition ConstraintsManager.h:14
@ false
Definition radaudio_common.h:23
U16 Index
Definition radfft.cpp:71
TCallTraitsParamTypeHelper< T, PassByValue >::ParamType ParamType
Definition UnrealTypeTraits.h:275
Definition MovieSceneEntityIDs.h:174
Definition MovieScenePropertySystemTypes.h:28
int32 AsIndex() const
Definition MovieScenePropertySystemTypes.h:36
FCompositePropertyTypeID()
Definition MovieScenePropertySystemTypes.h:29
static FCompositePropertyTypeID FromIndex(int32 Index)
Definition MovieScenePropertySystemTypes.h:31
Definition MovieScenePropertySystemTypes.h:164
const FCustomPropertyAccessor & operator[](int32 InIndex) const
Definition MovieScenePropertySystemTypes.h:178
FCustomAccessorView()
Definition MovieScenePropertySystemTypes.h:165
FCustomAccessorView(const TArray< T, Allocator > &InArray)
Definition MovieScenePropertySystemTypes.h:172
int32 Num() const
Definition MovieScenePropertySystemTypes.h:183
int32 FindCustomAccessorIndex(UClass *ClassType, FName PropertyPath) const
Definition MovieScenePropertySystemTypes.h:188
Definition MovieScenePropertySystemTypes.h:136
FName PropertyPath
Definition MovieScenePropertySystemTypes.h:141
UClass * Class
Definition MovieScenePropertySystemTypes.h:138
FComponentTypeID AdditionalTag
Definition MovieScenePropertySystemTypes.h:144
Definition MovieScenePropertySystemTypes.h:23
uint16 Value
Definition MovieScenePropertySystemTypes.h:24
Definition MovieSceneEntitySystemTypes.h:624
Definition MovieScenePropertySystemTypes.h:216
virtual FCustomAccessorView GetAccessors() const =0
virtual ~ICustomPropertyRegistration()
Definition MovieScenePropertySystemTypes.h:217
Definition MovieScenePropertySystemTypes.h:97
bool StorageType
Definition MovieScenePropertySystemTypes.h:98
int CustomAccessorStorageType
Definition MovieScenePropertySystemTypes.h:99
Definition MovieScenePropertySystemTypes.h:90
bool StorageType
Definition MovieScenePropertySystemTypes.h:91
Definition MovieSceneEntityIDs.h:283
Definition MovieScenePropertySystemTypes.h:56
GetterFunc Getter
Definition MovieScenePropertySystemTypes.h:122
StorageType(*)(const UObject *Object, MetaDataTypes...) GetterFunc
Definition MovieScenePropertySystemTypes.h:118
typename Private::TCustomPropertyAccessorStorageType< PropertyTraits >::Value StorageType
Definition MovieScenePropertySystemTypes.h:115
void(*)(UObject *Object, MetaDataTypes..., ParamType Value) SetterFunc
Definition MovieScenePropertySystemTypes.h:119
typename TCallTraits< StorageType >::ParamType ParamType
Definition MovieScenePropertySystemTypes.h:116
SetterFunc Setter
Definition MovieScenePropertySystemTypes.h:125
Definition MovieScenePropertySystemTypes.h:110
Definition MovieScenePropertySystemTypes.h:132
Definition MovieScenePropertySystemTypes.h:152
TCustomPropertyAccessorFunctions< PropertyTraits > Functions
Definition MovieScenePropertySystemTypes.h:159
TCustomPropertyAccessor(UClass *InClass, FName InPropertyPath, const TCustomPropertyAccessorFunctions< PropertyTraits > &InFunctions)
Definition MovieScenePropertySystemTypes.h:153
Definition MovieScenePropertySystemTypes.h:232
void Add(UClass *ClassType, FName PropertyName, GetterFunc Getter, SetterFunc Setter)
Definition MovieScenePropertySystemTypes.h:241
void Remove(UClass *ClassType, FName PropertyName)
Definition MovieScenePropertySystemTypes.h:249
typename TCustomPropertyAccessorFunctions< PropertyTraits >::GetterFunc GetterFunc
Definition MovieScenePropertySystemTypes.h:233
TArray< TCustomPropertyAccessor< PropertyTraits >, TInlineAllocator< InlineSize > > CustomAccessors
Definition MovieScenePropertySystemTypes.h:286
void RemoveAll(UClass *ClassType)
Definition MovieScenePropertySystemTypes.h:266
virtual FCustomAccessorView GetAccessors() const override
Definition MovieScenePropertySystemTypes.h:236
typename TCustomPropertyAccessorFunctions< PropertyTraits >::SetterFunc SetterFunc
Definition MovieScenePropertySystemTypes.h:234
Definition MovieScenePropertySystemTypes.h:448
Definition MovieScenePropertySystemTypes.h:548
TGetPropertyValues(const PropertyTraits *InTraits, const ICustomPropertyRegistration *InCustomProperties)
Definition MovieScenePropertySystemTypes.h:549
Definition MovieSceneComponentPtr.h:439
Definition MovieScenePropertySystemTypes.h:299
TCompositePropertyTypeID< InPropertyTraits > CompositeID
Definition MovieScenePropertySystemTypes.h:307
typename InPropertyTraits::MetaDataType MetaDataType
Definition MovieScenePropertySystemTypes.h:300
TPropertyMetaDataComponents< typename InPropertyTraits::MetaDataType > MetaDataComponents
Definition MovieScenePropertySystemTypes.h:305
InPropertyTraits PropertyTraits
Definition MovieScenePropertySystemTypes.h:309
FComponentTypeID PropertyTag
Definition MovieScenePropertySystemTypes.h:302
TComponentTypeID< typename InPropertyTraits::StorageType > InitialValue
Definition MovieScenePropertySystemTypes.h:303
Definition MovieSceneComponentPtr.h:195
Definition MovieScenePropertySystemTypes.h:587
Definition MovieScenePropertySystemTypes.h:313
Definition MovieScenePropertySystemTypes.h:436
TSetPropertyValues(const PropertyTraits *InTraits, const ICustomPropertyRegistration *InCustomProperties)
Definition MovieScenePropertySystemTypes.h:439
typename TCallTraits< typename PropertyTraits::StorageType >::ParamType ParamType
Definition MovieScenePropertySystemTypes.h:437
Definition MovieSceneComponentPtr.h:288