UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FIrisFastArraySerializer Struct Reference

#include <IrisFastArraySerializer.h>

+ Inheritance diagram for FIrisFastArraySerializer:

Public Types

enum  { IrisFastArrayChangeMaskBits = 63U }
 
enum  { IrisFastArrayChangeMaskBitOffset = 1U }
 
enum  { IrisFastArrayPropertyBitIndex = 0U }
 

Public Member Functions

IRISCORE_API FIrisFastArraySerializer ()
 
 ~FIrisFastArraySerializer ()=default
 
IRISCORE_API FIrisFastArraySerializer (const FIrisFastArraySerializer &Other)
 
IRISCORE_API FIrisFastArraySerializeroperator= (const FIrisFastArraySerializer &Other)
 
IRISCORE_API FIrisFastArraySerializer (const FIrisFastArraySerializer &&Other)
 
IRISCORE_API FIrisFastArraySerializeroperator= (FIrisFastArraySerializer &&Other)
 
void MarkItemDirty (FFastArraySerializerItem &Item)
 
void MarkArrayDirty ()
 
- Public Member Functions inherited from FFastArraySerializer
NETCORE_API FFastArraySerializer ()
 
NETCORE_API ~FFastArraySerializer ()
 
void MarkItemDirty (FFastArraySerializerItem &Item)
 
void MarkArrayDirty ()
 
void IncrementArrayReplicationKey ()
 
void PreReplicatedRemove (const TArrayView< int32 > &RemovedIndices, int32 FinalSize)
 
void PostReplicatedAdd (const TArrayView< int32 > &AddedIndices, int32 FinalSize)
 
void PostReplicatedChange (const TArrayView< int32 > &ChangedIndices, int32 FinalSize)
 
template<typename Type , typename SerializerType >
bool ShouldWriteFastArrayItem (const Type &Item, const bool bIsWritingOnClient) const
 
void SetDeltaSerializationEnabled (const bool bEnabled)
 
const EFastArraySerializerDeltaFlags GetDeltaSerializationFlags () const
 

Additional Inherited Members

- Static Public Member Functions inherited from FFastArraySerializer
template<typename Type , typename SerializerType >
static bool FastArrayDeltaSerialize (TArray< Type > &Items, FNetDeltaSerializeInfo &Parms, SerializerType &ArraySerializer)
 
static const int32 GetMaxNumberOfAllowedChangesPerUpdate ()
 
static const int32 GetMaxNumberOfAllowedDeletionsPerUpdate ()
 
- Public Attributes inherited from FFastArraySerializer
TMap< int32, int32ItemMap
 
int32 IDCounter
 
int32 ArrayReplicationKey
 
TMap< int32, FFastArraySerializerGuidReferencesGuidReferencesMap
 
TMap< int32, FGuidReferencesMapGuidReferencesMap_StructDelta
 

Detailed Description

Specialization of FFastArraySerializer in order to add state tracking support for Iris Current usage is to inherit from this struct instead of FFastArraySerializer, backwards compatible with existing system as it simply forwards calls to MarkDirty/MarkItemDirty This class could be named FFastArrayReplicationState, but kept the FIrisFastArraySerializer to match old naming for the time being

NOTE: IrisFastArraySerializer, does not support having local not replicated items in the array. If ShouldWriteFastArrayItem is overridden and filters out items, an ensure will be triggered. Logic should still work, but extra elements will be replicated and filtered out on receiving end.

Member Enumeration Documentation

◆ anonymous enum

Enumerator
IrisFastArrayChangeMaskBits 

◆ anonymous enum

Enumerator
IrisFastArrayChangeMaskBitOffset 

◆ anonymous enum

Enumerator
IrisFastArrayPropertyBitIndex 

Constructor & Destructor Documentation

◆ FIrisFastArraySerializer() [1/3]

FIrisFastArraySerializer::FIrisFastArraySerializer ( )

◆ ~FIrisFastArraySerializer()

FIrisFastArraySerializer::~FIrisFastArraySerializer ( )
default

◆ FIrisFastArraySerializer() [2/3]

FIrisFastArraySerializer::FIrisFastArraySerializer ( const FIrisFastArraySerializer Other)

Will not copy replication state header

◆ FIrisFastArraySerializer() [3/3]

FIrisFastArraySerializer::FIrisFastArraySerializer ( const FIrisFastArraySerializer &&  Other)

Will not copy replication state header

Member Function Documentation

◆ MarkArrayDirty()

void FIrisFastArraySerializer::MarkArrayDirty ( )
inline

Override MarkArrayDirty in order to mark object as dirty in the DirtyNetObjectTracker

◆ MarkItemDirty()

void FIrisFastArraySerializer::MarkItemDirty ( FFastArraySerializerItem Item)
inline

Override MarkItemDirty in order to mark object as dirty in the DirtyNetObjectTracker

◆ operator=() [1/2]

FIrisFastArraySerializer & FIrisFastArraySerializer::operator= ( const FIrisFastArraySerializer Other)

We must make sure that we do not copy replication state header and must update dirtiness if bound

◆ operator=() [2/2]

FIrisFastArraySerializer & FIrisFastArraySerializer::operator= ( FIrisFastArraySerializer &&  Other)

We must make sure that we do not move replication state header and must update dirtiness if bound


The documentation for this struct was generated from the following files: