23 : ObjectIndex(
UE::Core::
Private::InvalidWeakObjectIndex)
24 , ObjectSerialNumber(0)
30 : ObjectIndex(
UE::Core::
Private::InvalidWeakObjectIndex)
31 , ObjectSerialNumber(0)
36 ObjectIndex =
Weak.ObjectIndex;
37 ObjectSerialNumber =
Weak.ObjectSerialNumber;
38#if UE_WITH_REMOTE_OBJECT_HANDLE
39 RemoteId =
Weak.ObjectRemoteId;
45 UE_REQUIRES(std::is_convertible_v<U, const UObject*>)
55#if UE_WITH_REMOTE_OBJECT_HANDLE
56 return RemoteId ==
Other.RemoteId;
58 return ObjectIndex ==
Other.ObjectIndex && ObjectSerialNumber ==
Other.ObjectSerialNumber;
65#if UE_WITH_REMOTE_OBJECT_HANDLE
66 return RemoteId !=
Other.RemoteId;
68 return ObjectIndex !=
Other.ObjectIndex || ObjectSerialNumber !=
Other.ObjectSerialNumber;
75#if UE_WITH_REMOTE_OBJECT_HANDLE
76 return RemoteId <
Other.RemoteId;
78 return ObjectIndex <
Other.ObjectIndex || (ObjectIndex ==
Other.ObjectIndex && ObjectSerialNumber <
Other.ObjectSerialNumber);
85#if UE_WITH_REMOTE_OBJECT_HANDLE
86 return RemoteId <=
Other.RemoteId;
88 return ObjectIndex <=
Other.ObjectIndex || (ObjectIndex ==
Other.ObjectIndex && ObjectSerialNumber <=
Other.ObjectSerialNumber);
95#if UE_WITH_REMOTE_OBJECT_HANDLE
96 return RemoteId >
Other.RemoteId;
98 return ObjectIndex >
Other.ObjectIndex || (ObjectIndex ==
Other.ObjectIndex && ObjectSerialNumber >
Other.ObjectSerialNumber);
105#if UE_WITH_REMOTE_OBJECT_HANDLE
106 return RemoteId >=
Other.RemoteId;
108 return ObjectIndex >
Other.ObjectIndex || (ObjectIndex ==
Other.ObjectIndex && ObjectSerialNumber >=
Other.ObjectSerialNumber);
115 return Ar << Key.ObjectIndex << Key.ObjectSerialNumber
116#if UE_WITH_REMOTE_OBJECT_HANDLE
129 WeakPtr.ObjectIndex = ObjectIndex;
130 WeakPtr.ObjectSerialNumber = ObjectSerialNumber;
131#if UE_WITH_REMOTE_OBJECT_HANDLE
132 WeakPtr.ObjectRemoteId = RemoteId;
134 return WeakPtr.
Get();
144 WeakPtr.ObjectIndex = ObjectIndex;
145 WeakPtr.ObjectSerialNumber = ObjectSerialNumber;
146#if UE_WITH_REMOTE_OBJECT_HANDLE
147 WeakPtr.ObjectRemoteId = RemoteId;
166 WeakPtr.ObjectIndex = ObjectIndex;
167 WeakPtr.ObjectSerialNumber = ObjectSerialNumber;
168#if UE_WITH_REMOTE_OBJECT_HANDLE
169 WeakPtr.ObjectRemoteId = RemoteId;
181 WeakPtr.ObjectIndex = ObjectIndex;
182 WeakPtr.ObjectSerialNumber = ObjectSerialNumber;
183#if UE_WITH_REMOTE_OBJECT_HANDLE
184 WeakPtr.ObjectRemoteId = RemoteId;
192#if UE_WITH_REMOTE_OBJECT_HANDLE
195 return HashCombine(Key.ObjectIndex, Key.ObjectSerialNumber);
199#if UE_WITH_REMOTE_OBJECT_HANDLE
208#if !UE_WITH_REMOTE_OBJECT_HANDLE
211 , ObjectSerialNumber(
Serial)
219 int32 ObjectSerialNumber;
220#if UE_WITH_REMOTE_OBJECT_HANDLE
226template<
typename InElementType>
238 UE_REQUIRES(std::is_convertible_v<U, const InElementType*>)
248 return ObjectKey ==
Other.ObjectKey;
254 return ObjectKey !=
Other.ObjectKey;
260 return ObjectKey <
Other.ObjectKey;
266 return ObjectKey <=
Other.ObjectKey;
272 return ObjectKey >
Other.ObjectKey;
278 return ObjectKey >=
Other.ObjectKey;
#define check(expr)
Definition AssertionMacros.h:314
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_REQUIRES(...)
Definition Requires.h:86
constexpr uint32 HashCombine(uint32 A, uint32 C)
Definition TypeHash.h:36
UE_REWRITE constexpr T ImplicitConv(typename TIdentity< T >::Type Obj)
Definition UnrealTemplate.h:743
Definition Archive.h:1208
UE_FORCEINLINE_HINT bool IsPersistent() const
Definition Archive.h:300
Definition ObjectKey.h:228
UE_FORCEINLINE_HINT TObjectKey(U Object)
Definition ObjectKey.h:240
InElementType * ResolveObjectPtrEvenIfGarbage() const
Definition ObjectKey.h:300
UE_FORCEINLINE_HINT bool operator<=(const TObjectKey &Other) const
Definition ObjectKey.h:264
UE_FORCEINLINE_HINT bool operator==(const TObjectKey &Other) const
Definition ObjectKey.h:246
InElementType * ResolveObjectPtrEvenIfPendingKill() const
Definition ObjectKey.h:306
friend uint32 GetTypeHash(const TObjectKey &Key)
Definition ObjectKey.h:282
UE_FORCEINLINE_HINT TObjectKey()=default
UE_FORCEINLINE_HINT bool operator>(const TObjectKey &Other) const
Definition ObjectKey.h:270
UE_FORCEINLINE_HINT bool operator>=(const TObjectKey &Other) const
Definition ObjectKey.h:276
UE_FORCEINLINE_HINT bool operator<(const TObjectKey &Other) const
Definition ObjectKey.h:258
InElementType ElementType
Definition ObjectKey.h:230
InElementType * ResolveObjectPtr() const
Definition ObjectKey.h:291
UE_FORCEINLINE_HINT bool operator!=(const TObjectKey &Other) const
Definition ObjectKey.h:252
Definition OverriddenPropertySet.cpp:45
void Serial(FArchive &Ar, T *Param)
Definition DirectLinkSerialMethods.h:100
Definition CoreGlobals.cpp:268
FObjectKey MakeObjectKey(int32 ObjectIndex, int32 ObjectSerialNumber)
Definition ObjectPathId.cpp:44
Definition AdvancedWidgetsModule.cpp:13
U16 Index
Definition radfft.cpp:71
Definition ObjectKey.h:19
FObjectKey(const UObject *Object)
Definition ObjectKey.h:29
bool operator>=(const FObjectKey &Other) const
Definition ObjectKey.h:103
UObject * ResolveObjectPtr() const
Definition ObjectKey.h:126
bool operator!=(const FObjectKey &Other) const
Definition ObjectKey.h:63
UObject * ResolveObjectPtrEvenIfPendingKill() const
Definition ObjectKey.h:154
FObjectKey()
Definition ObjectKey.h:22
bool operator==(const FObjectKey &Other) const
Definition ObjectKey.h:53
friend FArchive & operator<<(FArchive &Ar, FObjectKey &Key)
Definition ObjectKey.h:112
FWeakObjectPtr GetWeakObjectPtr() const
Definition ObjectKey.h:178
UObject * ResolveObjectPtrEvenIfUnreachable() const
Definition ObjectKey.h:163
bool operator>(const FObjectKey &Other) const
Definition ObjectKey.h:93
bool operator<(const FObjectKey &Other) const
Definition ObjectKey.h:73
UE_FORCEINLINE_HINT FObjectKey(U Object)
Definition ObjectKey.h:47
bool operator<=(const FObjectKey &Other) const
Definition ObjectKey.h:83
friend uint32 GetTypeHash(const FObjectKey &Key)
Definition ObjectKey.h:190
UObject * ResolveObjectPtrEvenIfGarbage() const
Definition ObjectKey.h:141
Definition RemoteObjectTypes.h:212
Definition WeakObjectPtr.h:49
COREUOBJECT_API class UObject * GetEvenIfUnreachable() const
Definition WeakObjectPtr.cpp:127
COREUOBJECT_API class UObject * Get(bool bEvenIfGarbage) const
Definition WeakObjectPtr.cpp:122