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

Classes

struct  FLifetimeCustomDeltaProperty
 
struct  FLifetimeCustomDeltaState
 
struct  FDeltaArrayHistoryItem
 
struct  FDeltaArrayHistoryState
 
struct  FCustomDeltaChangelistState
 
struct  FComparePropertiesSharedParams
 
struct  FComparePropertiesStackParams
 
class  FScopedIteratorArrayTracker
 
struct  FReceivePropertiesSharedParams
 
struct  FReceivePropertiesStackParams
 
struct  FDiffPropertiesSharedParams
 
struct  TDiffPropertiesStackParams< DestinationType, SourceType >
 
struct  FDiffStablePropertiesSharedParams
 
struct  TDiffStablePropertiesStackParams< DestinationType, SourceType >
 
struct  FInitFromPropertySharedParams
 
struct  FInitFromPropertyStackParams
 

Namespaces

namespace  UE
 
namespace  UE::Net
 
namespace  UE::Net::Private
 
namespace  UEPushModelPrivate
 
namespace  UE_RepLayout_Private
 

Macros

#define ENABLE_PROPERTY_CHECKSUMS
 
#define USE_CUSTOM_COMPARE
 
#define REPDATATYPE_SPECIALIZATION(DstType, SrcType)
 
#define REPDATATYPE_SPECIALIZATION(DataType)   template void FRepLayout::ValidateWithChecksum(TConstRepDataBuffer<DataType> Data, FBitArchive& Ar) const;
 

Enumerations

enum class  ERepBuildType { Class , Function , Struct }
 

Functions

 DECLARE_CYCLE_STAT (TEXT("RepLayout InitFromObjectClass"), STAT_RepLayout_InitFromObjectClass, STATGROUP_Game)
 
 DECLARE_CYCLE_STAT (TEXT("RepLayout DeltaSerializeFastArray"), STAT_RepLayout_DeltaSerializeFastArray, STATGROUP_Game)
 
 DEFINE_LOG_CATEGORY_STATIC (LogRepProperties, Warning, All)
 
 DEFINE_LOG_CATEGORY_STATIC (LogRepPropertiesBackCompat, Warning, All)
 
 DEFINE_LOG_CATEGORY_STATIC (LogRepCompares, Warning, All)
 
uint32 GetBitStreamPositionForNetTrace (const FBitArchive &Stream)
 
UEPushModelPrivate::FPushModelPerNetDriverState * UE_RepLayout_Private::GetPerNetDriverState (const FRepChangelistState *ChangelistState)
 
bool UE_RepLayout_Private::ValidateArraySize (const int32 ArraySize, const FProperty *const Property)
 
template<typename T >
bool CompareValue (const T *A, const T *B)
 
template<typename T >
bool CompareValue (const void *A, const void *B)
 
template<ERepDataBufferType DataType>
void ValidateWithChecksum_r (TArray< FRepLayoutCmd >::TConstIterator &CmdIt, const TConstRepDataBuffer< DataType > Data, FBitArchive &Ar)
 
template<>
const FORCEINLINE int32 GetOffsetForProperty< ERepBuildType::Function > (const FProperty &Property)
 
const TCHARLexToString (ERepLayoutFlags Flag)
 
const TCHARLexToString (ERepLayoutCmdType CmdType)
 
 REPDATATYPE_SPECIALIZATION (ERepDataBufferType::ShadowBuffer)
 
 REPDATATYPE_SPECIALIZATION (ERepDataBufferType::ObjectBuffer)
 

Variables

int32 GDoPropertyChecksum = 0
 
int32 GDoReplicationContextString = 0
 
int32 GNetSharedSerializedData = 1
 
int32 GNetVerifyShareSerializedData = 0
 
int32 LogSkippedRepNotifies = 0
 
int32 GUsePackedShadowBuffers = 1
 
int32 GShareShadowState = 1
 
int32 GShareInitialCompareState = 0
 
bool GbTrackNetSerializeObjectReferences = false
 
bool GbWithArrayOnRepFix = false
 
bool GbWithObjectValidationCheck = false
 
constexpr bool GbPushModelValidateProperties = false
 
int32 GNumSharedSerializationHit
 
int32 GNumSharedSerializationMiss
 

Macro Definition Documentation

◆ ENABLE_PROPERTY_CHECKSUMS

#define ENABLE_PROPERTY_CHECKSUMS

◆ REPDATATYPE_SPECIALIZATION [1/2]

#define REPDATATYPE_SPECIALIZATION (   DataType)    template void FRepLayout::ValidateWithChecksum(TConstRepDataBuffer<DataType> Data, FBitArchive& Ar) const;

◆ REPDATATYPE_SPECIALIZATION [2/2]

#define REPDATATYPE_SPECIALIZATION (   DstType,
  SrcType 
)
Value:
EDiffPropertiesFlags
Definition RepLayout.h:36
bool DiffProperties(TArray< FProperty * > *RepNotifies, TRepDataBuffer< DstType > Destination, TConstRepDataBuffer< SrcType > Source, const EDiffPropertiesFlags Flags) const
bool DiffStableProperties(TArray< FProperty * > *RepNotifies, TArray< UObject * > *ObjReferences, TRepDataBuffer< DstType > Destination, TConstRepDataBuffer< SrcType > Source) const
Definition Array.h:670

◆ USE_CUSTOM_COMPARE

#define USE_CUSTOM_COMPARE

Enumeration Type Documentation

◆ ERepBuildType

enum class ERepBuildType
strong
Enumerator
Class 
Function 
Struct 

Function Documentation

◆ CompareValue() [1/2]

template<typename T >
bool CompareValue ( const T *  A,
const T *  B 
)

◆ CompareValue() [2/2]

template<typename T >
bool CompareValue ( const void A,
const void B 
)

◆ DECLARE_CYCLE_STAT() [1/2]

◆ DECLARE_CYCLE_STAT() [2/2]

DECLARE_CYCLE_STAT ( TEXT("RepLayout InitFromObjectClass" ,
STAT_RepLayout_InitFromObjectClass  ,
STATGROUP_Game   
)

◆ DEFINE_LOG_CATEGORY_STATIC() [1/3]

DEFINE_LOG_CATEGORY_STATIC ( LogRepCompares  ,
Warning  ,
All   
)

◆ DEFINE_LOG_CATEGORY_STATIC() [2/3]

DEFINE_LOG_CATEGORY_STATIC ( LogRepProperties  ,
Warning  ,
All   
)

◆ DEFINE_LOG_CATEGORY_STATIC() [3/3]

DEFINE_LOG_CATEGORY_STATIC ( LogRepPropertiesBackCompat  ,
Warning  ,
All   
)

◆ GetBitStreamPositionForNetTrace()

uint32 GetBitStreamPositionForNetTrace ( const FBitArchive Stream)
inline

Helper method to allow us to instrument FBitArchive using FNetTraceCollector The rationale behind this variant being declared here is that it makes ugly assumption about FBitArchive when being used to collect stats either is a BitWriter or a BitReader

◆ GetOffsetForProperty< ERepBuildType::Function >()

template<>
const FORCEINLINE int32 GetOffsetForProperty< ERepBuildType::Function > ( const FProperty Property)

◆ LexToString() [1/2]

const TCHAR * LexToString ( ERepLayoutCmdType  CmdType)

◆ LexToString() [2/2]

const TCHAR * LexToString ( ERepLayoutFlags  Flag)

◆ REPDATATYPE_SPECIALIZATION() [1/2]

REPDATATYPE_SPECIALIZATION ( ERepDataBufferType::ObjectBuffer  )

◆ REPDATATYPE_SPECIALIZATION() [2/2]

REPDATATYPE_SPECIALIZATION ( ERepDataBufferType::ShadowBuffer  )

◆ ValidateWithChecksum_r()

template<ERepDataBufferType DataType>
void ValidateWithChecksum_r ( TArray< FRepLayoutCmd >::TConstIterator CmdIt,
const TConstRepDataBuffer< DataType >  Data,
FBitArchive Ar 
)

Variable Documentation

◆ GbPushModelValidateProperties

constexpr bool GbPushModelValidateProperties = false
constexpr

◆ GbTrackNetSerializeObjectReferences

bool GbTrackNetSerializeObjectReferences = false

◆ GbWithArrayOnRepFix

bool GbWithArrayOnRepFix = false

◆ GbWithObjectValidationCheck

bool GbWithObjectValidationCheck = false

◆ GDoPropertyChecksum

int32 GDoPropertyChecksum = 0

◆ GDoReplicationContextString

int32 GDoReplicationContextString = 0

◆ GNetSharedSerializedData

int32 GNetSharedSerializedData = 1

◆ GNetVerifyShareSerializedData

int32 GNetVerifyShareSerializedData = 0

◆ GNumSharedSerializationHit

int32 GNumSharedSerializationHit
extern

◆ GNumSharedSerializationMiss

int32 GNumSharedSerializationMiss
extern

◆ GShareInitialCompareState

int32 GShareInitialCompareState = 0

◆ GShareShadowState

int32 GShareShadowState = 1

◆ GUsePackedShadowBuffers

int32 GUsePackedShadowBuffers = 1

◆ LogSkippedRepNotifies

int32 LogSkippedRepNotifies = 0