7#include "Containers/Array.h"
17 struct FRemoteObjectReferenceNetSerializer;
18 struct FRemoteServerIdNetSerializer;
19 struct FRemoteObjectIdNetSerializer;
23 struct FRemoteIdLocalizationHelper;
65 UE_DEPRECATED(5.6,
"Use FRemoteServerId::FromIdNumber(uint32) instead.")
72 UE_DEPRECATED(5.6,
"Use FRemoteServerId::FromString(const FStringView&) instead.")
80 return GetGlobalized().Id;
90 VerifyComparableServerIds(
Id,
Other.Id);
141 return ::GetTypeHash(GetLocalized().
Id);
158 return GlobalServerId;
169 TEXT(
"When the global server id is not initialized it's only possible to compare predefined server IDs (lhs: %u, rhs: %u)"),
Id0,
Id1);
171 TEXT(
"When the global server id is not initialized it's only possible to compare predefined server IDs (lhs: %u, rhs: Local)"),
Id0,
Id1);
180 return GlobalServerId.Id;
225 inline int64 GetComparableValue()
const
232 FRemoteServerId::VerifyComparableServerIds(
ServerId,
Other.ServerId);
233 return GetComparableValue() -
Other.GetComparableValue();
276 return ::GetTypeHash(GetLocalized().
Id);
282 return Compare(
Other) == 0;
287 return Compare(
Other) != 0;
291 return Compare(
Other) < 0;
295 return Compare(
Other) <= 0;
299 return Compare(
Other) > 0;
303 return Compare(
Other) >= 0;
312 return GetGlobalized().
Id;
#define ensure( InExpression)
Definition AssertionMacros.h:464
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
#define UE_WITH_REMOTE_OBJECT_HANDLE
Definition CoreMiscDefines.h:620
#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
EInternalObjectFlags
Definition ObjectMacros.h:631
constexpr int32 REMOTE_OBJECT_SERVER_ID_BIT_SIZE
Definition RemoteObjectTypes.h:26
constexpr uint64 MAX_REMOTE_OBJECT_SERIAL_NUMBER
Definition RemoteObjectTypes.h:30
constexpr int32 REMOTE_OBJECT_SERIAL_NUMBER_BIT_SIZE
Definition RemoteObjectTypes.h:27
UE_FORCEINLINE_HINT uint32 GetTypeHash(const FRemoteObjectId &ObjectId)
Definition RemoteObjectTypes.h:346
ERemoteServerIdConstants
Definition RemoteObjectTypes.h:33
ERemoteIdToStringVerbosity
Definition RemoteObjectTypes.h:199
constexpr uint64 MAX_REMOTE_OBJECT_SERVER_ID
Definition RemoteObjectTypes.h:29
Definition Archive.h:1208
Definition PackageMapClient.h:195
Definition UObjectBase.h:59
Definition NetworkVersion.cpp:28
Definition RemoteObject.cpp:78
Definition RemoteObjectTypes.h:212
UE_FORCEINLINE_HINT bool IsLocal() const
Definition RemoteObjectTypes.h:325
UE_FORCEINLINE_HINT bool operator<(const FRemoteObjectId &Other) const
Definition RemoteObjectTypes.h:289
UE_FORCEINLINE_HINT FRemoteServerId GetServerId() const
Definition RemoteObjectTypes.h:315
UE_FORCEINLINE_HINT bool operator>(const FRemoteObjectId &Other) const
Definition RemoteObjectTypes.h:297
uint64 SerialNumber
Definition RemoteObjectTypes.h:219
FRemoteObjectId()=default
uint64 Reserved
Definition RemoteObjectTypes.h:218
UE_FORCEINLINE_HINT uint32 GetTypeHash() const
Definition RemoteObjectTypes.h:274
UE_FORCEINLINE_HINT bool IsAsset() const
Definition RemoteObjectTypes.h:320
UE_FORCEINLINE_HINT bool operator!=(const FRemoteObjectId &Other) const
Definition RemoteObjectTypes.h:284
UE_FORCEINLINE_HINT bool operator<=(const FRemoteObjectId &Other) const
Definition RemoteObjectTypes.h:293
uint64 Id
Definition RemoteObjectTypes.h:222
UE_FORCEINLINE_HINT bool operator>=(const FRemoteObjectId &Other) const
Definition RemoteObjectTypes.h:301
static COREUOBJECT_API FRemoteObjectId Generate(UObjectBase *InObject, const TCHAR *InName, EInternalObjectFlags InInitialFlags=EInternalObjectFlags::None)
Definition RemoteObject.cpp:879
static COREUOBJECT_API FRemoteObjectId FromString(const FStringView &InText)
Definition RemoteObject.cpp:1043
UE_FORCEINLINE_HINT bool operator==(const FRemoteObjectId &Other) const
Definition RemoteObjectTypes.h:279
COREUOBJECT_API bool NetSerialize(FArchive &Ar, class UPackageMap *Map, bool &bOutSuccess)
Definition RemoteObject.cpp:1105
@ RemoteObjectSupportCompiledIn
Definition RemoteObjectTypes.h:250
uint64 ServerId
Definition RemoteObjectTypes.h:220
UE_FORCEINLINE_HINT uint64 GetIdNumber() const
Definition RemoteObjectTypes.h:310
static FRemoteObjectId CreateFromInt(uint64 InRawId)
Definition RemoteObjectTypes.h:255
UE_FORCEINLINE_HINT bool IsValid() const
Definition RemoteObjectTypes.h:305
FRemoteObjectId(FRemoteServerId InServerId, uint64 InSerialNumber)
Definition RemoteObjectTypes.h:262
friend COREUOBJECT_API FArchive & operator<<(FArchive &Ar, FRemoteObjectId &Id)
Definition RemoteObject.cpp:1110
Definition RemoteObjectTypes.h:49
static COREUOBJECT_API void InitGlobalServerId(FRemoteServerId Id)
Definition RemoteObject.cpp:60
uint32 GetIdNumber() const
Definition RemoteObjectTypes.h:78
UE_FORCEINLINE_HINT uint32 GetTypeHash() const
Definition RemoteObjectTypes.h:139
int32 Compare(FRemoteServerId Other) const
Definition RemoteObjectTypes.h:88
bool IsDatabase() const
Definition RemoteObjectTypes.h:114
bool IsLocal() const
Definition RemoteObjectTypes.h:118
FRemoteServerId(const FRemoteServerId &)=default
FRemoteServerId()=default
COREUOBJECT_API FString ToString() const
Definition RemoteObject.cpp:1167
bool operator<(FRemoteServerId Other) const
Definition RemoteObjectTypes.h:102
COREUOBJECT_API bool NetSerialize(FArchive &Ar, class UPackageMap *Map, bool &bOutSuccess)
Definition RemoteObject.cpp:1209
static COREUOBJECT_API bool IsGlobalServerIdInitialized()
Definition RemoteObject.cpp:68
static UE_FORCEINLINE_HINT FRemoteServerId GetLocalServerId()
Definition RemoteObjectTypes.h:123
bool operator!=(FRemoteServerId Other) const
Definition RemoteObjectTypes.h:98
static COREUOBJECT_API FRemoteServerId FromIdNumber(uint32 InNumber)
Definition RemoteObject.cpp:1116
bool operator==(FRemoteServerId Other) const
Definition RemoteObjectTypes.h:94
friend void AssignGlobalServerIdDebuggingState()
Definition RemoteObject.cpp:52
bool operator<=(FRemoteServerId Other) const
Definition RemoteObjectTypes.h:106
bool IsAsset() const
Definition RemoteObjectTypes.h:110
static COREUOBJECT_API FRemoteServerId FromString(const FStringView &InText)
Definition RemoteObject.cpp:1129
FRemoteServerId & operator=(const FRemoteServerId &)=default
friend COREUOBJECT_API FArchive & operator<<(FArchive &Ar, FRemoteServerId &Id)
Definition RemoteObject.cpp:1214
bool IsValid() const
Definition RemoteObjectTypes.h:83
FRemoteServerId(ERemoteServerIdConstants InId)
Definition RemoteObjectTypes.h:60
Definition UObjectArray.h:50
Definition RemoteObjectIdNetSerializer.cpp:14
Definition RemoteObjectReferenceNetSerializer.cpp:16
Definition RemoteServerIdNetSerializer.cpp:13
Definition RemoteObjectPrivate.h:94