40#if !PLATFORM_COMPILER_HAS_GENERATED_COMPARISON_OPERATORS
90#if !PLATFORM_COMPILER_HAS_GENERATED_COMPARISON_OPERATORS
116 enum EDummy1 { Dummy1 };
152 static_assert(std::is_convertible_v<T*, const volatile FField*>,
"TWeakFieldPtr can only be constructed with FField types");
169 static_assert(std::is_convertible_v<T*, const volatile FField*>,
"TWeakFieldPtr can only be constructed with FField types");
223 Field.ClearCachedField();
240 Field.ClearCachedField();
248 if (Owner.GetEvenIfUnreachable())
255 Field.ClearCachedField();
294 return Owner.IsValid() &&
Field.Get();
310 return Owner.HasSameIndexAndSerialNumber(
Other.Owner);
338 return Lhs.Field == Rhs.Field;
353 return Lhs.Field == Rhs;
368 return Lhs == Rhs.Field;
375template <
typename LhsType>
385template <
typename RhsType>
391#if !PLATFORM_COMPILER_HAS_GENERATED_COMPARISON_OPERATORS
404 return !(Lhs == Rhs);
419 return !(Lhs == Rhs);
434 return !(Lhs == Rhs);
441template <
typename LhsType>
444 return !(Lhs ==
nullptr);
451template <
typename RhsType>
454 return !(
nullptr == Rhs);
473template <
typename KeyType,
typename ValueType,
bool bInAllowDuplicateKeys = false>
485 return GetTypeHash(Key);
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_REQUIRES_DEFINITION(...)
Definition Requires.h:88
#define UE_REQUIRES_FRIEND(...)
Definition Requires.h:87
#define UE_REQUIRES(...)
Definition Requires.h:86
#define UE_REQUIRES_EXPR(...)
Definition Requires.h:89
bool operator!=(const TWeakFieldPtr< LhsType > &Lhs, const TWeakFieldPtr< RhsType > &Rhs)
Definition WeakFieldPtr.h:402
bool operator==(const TWeakFieldPtr< LhsType > &Lhs, const TWeakFieldPtr< RhsType > &Rhs)
Definition WeakFieldPtr.h:336
UE_FORCEINLINE_HINT TWeakFieldPtr< T > MakeWeakFieldPtr(T *Ptr)
Definition WeakFieldPtr.h:460
FArchive & operator<<(FArchive &Ar, TWeakFieldPtr< T > &WeakFieldPtr)
Definition WeakFieldPtr.h:490
Definition Archive.h:1208
virtual void Serialize(void *V, int64 Length)
Definition Archive.h:1689
Definition FieldSystemNoiseAlgo.cpp:6
TTypeTraits< KeyType >::ConstPointerType KeyInitType
Definition Map.h:78
Definition FieldPath.h:283
Definition IsPODType.h:12
@ Value
Definition IsPODType.h:13
Definition UnrealTypeTraits.h:181
@ Value
Definition UnrealTypeTraits.h:182
Definition UnrealTypeTraits.h:172
Definition WeakFieldPtr.h:475
TDefaultMapKeyFuncs< KeyType, ValueType, bInAllowDuplicateKeys >::KeyInitType KeyInitType
Definition WeakFieldPtr.h:476
static UE_FORCEINLINE_HINT uint32 GetKeyHash(KeyInitType Key)
Definition WeakFieldPtr.h:483
static UE_FORCEINLINE_HINT bool Matches(KeyInitType A, KeyInitType B)
Definition WeakFieldPtr.h:478
Definition WeakFieldPtr.h:65
TWeakFieldPtr(const TWeakFieldPtr< OtherT > &Other)
Definition WeakFieldPtr.h:163
UE_FORCEINLINE_HINT T & operator*() const
Definition WeakFieldPtr.h:263
friend bool operator!=(const TWeakFieldPtr< LhsType > &Lhs, const TWeakFieldPtr< RhsType > &Rhs)
Definition WeakFieldPtr.h:402
UE_FORCEINLINE_HINT bool IsValid(bool bEvenIfPendingKill, bool bThreadsafeTest=false) const
Definition WeakFieldPtr.h:283
UE_FORCEINLINE_HINT T * operator->() const
Definition WeakFieldPtr.h:271
T * Get(bool bEvenIfPendingKill) const
Definition WeakFieldPtr.h:214
UE_FORCEINLINE_HINT bool IsStale(bool bIncludingIfPendingKill=false, bool bThreadsafeTest=false) const
Definition WeakFieldPtr.h:303
UE_FORCEINLINE_HINT bool HasSameIndexAndSerialNumber(const TWeakFieldPtr &Other) const
Definition WeakFieldPtr.h:308
UE_FORCEINLINE_HINT bool IsValid() const
Definition WeakFieldPtr.h:292
void Reset()
Definition WeakFieldPtr.h:175
friend bool operator==(const TWeakFieldPtr< LhsType > &Lhs, const TWeakFieldPtr< RhsType > &Rhs)
Definition WeakFieldPtr.h:336
TWeakFieldPtr(U *InField, EDummy1=Dummy1)
Definition WeakFieldPtr.h:146
UE_FORCEINLINE_HINT friend uint32 GetTypeHash(const TWeakFieldPtr &WeakObjectPtr)
Definition WeakFieldPtr.h:314
TWeakFieldPtr & operator=(const TWeakFieldPtr &)=default
T * GetEvenIfUnreachable() const
Definition WeakFieldPtr.h:246
friend bool operator==(const TWeakFieldPtr< LhsType > &Lhs, const RhsType *Rhs)
Definition WeakFieldPtr.h:351
TWeakFieldPtr(const TWeakFieldPtr &)=default
friend bool operator==(const LhsType *Lhs, const TWeakFieldPtr< RhsType > &Rhs)
Definition WeakFieldPtr.h:366
void operator=(const TWeakFieldPtr< OtherT > &Other)
Definition WeakFieldPtr.h:203
void Serialize(FArchive &Ar)
Definition WeakFieldPtr.h:319
void operator=(U *InField)
Definition WeakFieldPtr.h:189
T ElementType
Definition WeakFieldPtr.h:122
friend bool operator!=(const LhsType *Lhs, const TWeakFieldPtr< RhsType > &Rhs)
Definition WeakFieldPtr.h:432
TWeakFieldPtr(TYPE_OF_NULLPTR)
Definition WeakFieldPtr.h:132
friend bool operator!=(const TWeakFieldPtr< LhsType > &Lhs, const RhsType *Rhs)
Definition WeakFieldPtr.h:417
T * Get() const
Definition WeakFieldPtr.h:231
Definition WeakObjectPtrTemplates.h:25