Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
FArchiveState Struct Referenceabstract

#include <Archive.h>

+ Inheritance diagram for FArchiveState:
+ Collaboration diagram for FArchiveState:

Classes

struct  FFastPathLoadBuffer
 

Public Member Functions

virtual FArchiveStateGetInnermostState ()
 
void SetArchiveState (const FArchiveState &InState)
 
void SetError ()
 
void ClearError ()
 
void SetCriticalError ()
 
virtual void CountBytes (SIZE_T InNum, SIZE_T InMax)
 
virtual FString GetArchiveName () const
 
virtual FLinkerGetLinker ()
 
virtual int64 Tell ()
 
virtual int64 TotalSize ()
 
virtual bool AtEnd ()
 
FORCEINLINE bool IsByteSwapping ()
 
void ThisContainsCode ()
 
void ThisContainsMap ()
 
void ThisRequiresLocalizationGather ()
 
virtual UObjectGetArchetypeFromLoader (const UObject *Obj)
 
FORCEINLINE FPackageFileVersion UEVer () const
 
FORCEINLINE int32 LicenseeUEVer () const
 
FORCEINLINE int32 UE4Ver () const
 
FORCEINLINE int32 LicenseeUE4Ver () const
 
FORCEINLINE FEngineVersionBase EngineVer () const
 
uint32 EngineNetVer () const
 
uint32 GameNetVer () const
 
int32 CustomVer (const struct FGuid &Key) const
 
FORCEINLINE bool IsLoading () const
 
FORCEINLINE bool IsLoadingFromCookedPackage () const
 
FORCEINLINE bool IsSaving () const
 
FORCEINLINE bool IsTransacting () const
 
FORCEINLINE bool IsTextFormat () const
 
FORCEINLINE bool WantBinaryPropertySerialization () const
 
FORCEINLINE bool UseUnversionedPropertySerialization () const
 
FORCEINLINE bool IsForcingUnicode () const
 
FORCEINLINE bool IsPersistent () const
 
void SetShouldSkipCompilingAssets (bool Enabled)
 
FORCEINLINE bool ShouldSkipCompilingAssets () const
 
FORCEINLINE bool IsError () const
 
FORCEINLINE bool GetError () const
 
FORCEINLINE bool IsCriticalError () const
 
FORCEINLINE bool ContainsCode () const
 
FORCEINLINE bool ContainsMap () const
 
FORCEINLINE bool RequiresLocalizationGather () const
 
FORCEINLINE bool ForceByteSwapping () const
 
FORCEINLINE bool IsSerializingDefaults () const
 
FORCEINLINE bool IsIgnoringArchetypeRef () const
 
FORCEINLINE bool DoDelta () const
 
FORCEINLINE bool DoIntraPropertyDelta () const
 
FORCEINLINE bool IsIgnoringOuterRef () const
 
FORCEINLINE bool IsIgnoringClassGeneratedByRef () const
 
FORCEINLINE bool IsIgnoringClassRef () const
 
FORCEINLINE bool IsAllowingLazyLoading () const
 
FORCEINLINE bool IsObjectReferenceCollector () const
 
FORCEINLINE bool IsModifyingWeakAndStrongReferences () const
 
FORCEINLINE bool IsCountingMemory () const
 
FORCEINLINE uint32 GetPortFlags () const
 
FORCEINLINE bool HasAnyPortFlags (uint32 Flags) const
 
FORCEINLINE bool HasAllPortFlags (uint32 Flags) const
 
FORCEINLINE uint32 GetDebugSerializationFlags () const
 
FORCEINLINE bool ShouldSkipBulkData () const
 
FORCEINLINE int64 GetMaxSerializeSize () const
 
virtual const FCustomVersionContainerGetCustomVersions () const
 
virtual void SetCustomVersions (const FCustomVersionContainer &CustomVersionContainer)
 
virtual void ResetCustomVersions ()
 
void SetCustomVersion (const struct FGuid &Key, int32 Version, FName FriendlyName)
 
void SetByteSwapping (bool Enabled)
 
void SetPortFlags (uint32 InPortFlags)
 
void SetDebugSerializationFlags (uint32 InCustomFlags)
 
bool IsFilterEditorOnly () const
 
virtual void SetFilterEditorOnly (bool InFilterEditorOnly)
 
bool IsSaveGame () const
 
FORCEINLINE bool IsNetArchive () const
 
FORCEINLINE bool IsCooking () const
 
void SetCookData (FArchiveCookData *InCookData)
 
FArchiveCookDataGetCookData ()
 
FORCEINLINE FArchiveCookContextGetCookContext ()
 
void SetCookingTarget (const ITargetPlatform *)
 
FORCEINLINE const ITargetPlatformCookingTarget () const
 
virtual bool UseToResolveEnumerators () const
 
virtual bool ShouldSkipProperty (const FProperty *InProperty) const
 
virtual void SetSerializedProperty (FProperty *InProperty)
 
FORCEINLINE struct FPropertyGetSerializedProperty () const
 
void GetSerializedPropertyChain (TArray< struct FProperty * > &OutProperties) const
 
FORCEINLINE const FArchiveSerializedPropertyChainGetSerializedPropertyChain () const
 
virtual void SetSerializedPropertyChain (const FArchiveSerializedPropertyChain *InSerializedPropertyChain, struct FProperty *InSerializedPropertyOverride=nullptr)
 
virtual void SetSerializeContext (FUObjectSerializeContext *InLoadContext)
 
virtual FUObjectSerializeContextGetSerializeContext ()
 
virtual void Reset ()
 
virtual void SetIsLoading (bool bInIsLoading)
 
virtual void SetIsLoadingFromCookedPackage (bool bInIsLoadingFromCookedPackage)
 
virtual void SetIsSaving (bool bInIsSaving)
 
virtual void SetIsTransacting (bool bInIsTransacting)
 
virtual void SetIsTextFormat (bool bInIsTextFormat)
 
virtual void SetWantBinaryPropertySerialization (bool bInWantBinaryPropertySerialization)
 
virtual void SetUseUnversionedPropertySerialization (bool bInUseUnversioned)
 
virtual void SetForceUnicode (bool bInForceUnicode)
 
virtual void SetIsPersistent (bool bInIsPersistent)
 
virtual void SetUEVer (FPackageFileVersion InVer)
 
FORCEINLINE void SetUE4Ver (int32 InVer)
 
virtual void SetLicenseeUEVer (int32 InVer)
 
FORCEINLINE void SetLicenseeUE4Ver (int32 InVer)
 
virtual void SetEngineVer (const FEngineVersionBase &InVer)
 
virtual void SetEngineNetVer (const uint32 InEngineNetVer)
 
virtual void SetGameNetVer (const uint32 InGameNetVer)
 

Public Attributes

FFastPathLoadBufferActiveFPLB
 
FFastPathLoadBuffer InlineFPLB
 
uint8 ArContainsCode: 1
 
uint8 ArContainsMap: 1
 
uint8 ArRequiresLocalizationGather: 1
 
uint8 ArForceByteSwapping: 1
 
uint8 ArIgnoreArchetypeRef: 1
 
uint8 ArNoDelta: 1
 
uint8 ArNoIntraPropertyDelta: 1
 
uint8 ArIgnoreOuterRef: 1
 
uint8 ArIgnoreClassGeneratedByRef: 1
 
uint8 ArIgnoreClassRef: 1
 
uint8 ArAllowLazyLoading: 1
 
uint8 ArIsObjectReferenceCollector: 1
 
uint8 ArIsModifyingWeakAndStrongReferences: 1
 
uint8 ArIsCountingMemory: 1
 
uint8 ArShouldSkipBulkData: 1
 
uint8 ArIsFilterEditorOnly: 1
 
uint8 ArIsSaveGame: 1
 
uint8 ArIsNetArchive: 1
 
uint8 ArUseCustomPropertyList: 1
 
int32 ArSerializingDefaults
 
uint32 ArPortFlags
 
int64 ArMaxSerializeSize
 
const struct FCustomPropertyListNodeArCustomPropertyList
 

Protected Member Functions

void CopyTrivialFArchiveStatusMembers (const FArchiveState &ArchiveStatusToCopy)
 

Static Protected Member Functions

static void LinkProxy (FArchiveState &Inner, FArchiveState &Proxy)
 
static void UnlinkProxy (FArchiveState &Inner, FArchiveState &Proxy)
 

Protected Attributes

uint8 ArIsLoading: 1
 
uint8 ArIsLoadingFromCookedPackage: 1
 
uint8 ArIsSaving: 1
 
uint8 ArIsTransacting: 1
 
uint8 ArIsTextFormat: 1
 
uint8 ArWantBinaryPropertySerialization: 1
 
uint8 ArUseUnversionedPropertySerialization: 1
 
uint8 ArForceUnicode: 1
 
uint8 ArIsPersistent: 1
 
FPackageFileVersion ArUEVer
 
int32 ArLicenseeUEVer
 
FEngineVersionBase ArEngineVer
 
uint32 ArEngineNetVer
 
uint32 ArGameNetVer
 
FCustomVersionContainerCustomVersionContainer = nullptr
 
FArchiveCookDataCookData = nullptr
 
FPropertySerializedProperty
 
FArchiveSerializedPropertyChainSerializedPropertyChain
 
bool bCustomVersionsAreReset
 

Private Member Functions

 FArchiveState ()
 
 FArchiveState (const FArchiveState &)
 
FArchiveStateoperator= (const FArchiveState &ArchiveToCopy)
 
virtual ~FArchiveState ()=0
 
template<typename T >
void ForEachState (T Func)
 

Private Attributes

uint8 ArIsError: 1
 
uint8 ArIsCriticalError: 1
 
uint8 ArShouldSkipCompilingAssets: 1
 
FArchiveStateNextProxy = nullptr
 

Friends

class FArchive
 

Detailed Description

Definition at line 62 of file Archive.h.

Constructor & Destructor Documentation

◆ FArchiveState() [1/2]

FArchiveState::FArchiveState ( )
private

◆ FArchiveState() [2/2]

FArchiveState::FArchiveState ( const FArchiveState & )
private

Copy constructor.

Member Function Documentation

◆ AtEnd()

virtual bool FArchiveState::AtEnd ( )
inlinevirtual

Returns true if the current location within the backing data storage is at the end, always returns false if there is no storage.

Reimplemented in FArchive, FBitReader, FBufferWriter, FBufferReaderBase, and FArchiveProxy.

Definition at line 157 of file Archive.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ClearError()

void FArchiveState::ClearError ( )

Sets ArIsError to false, this does not clear any CriticalErrors

◆ ContainsCode()

FORCEINLINE bool FArchiveState::ContainsCode ( ) const
inline

Returns true if this archive contains native or generated code.

Definition at line 354 of file Archive.h.

◆ ContainsMap()

FORCEINLINE bool FArchiveState::ContainsMap ( ) const
inline

Returns true if this archive contains a ULevel or UWorld object.

Definition at line 360 of file Archive.h.

◆ CookingTarget()

FORCEINLINE const ITargetPlatform * FArchiveState::CookingTarget ( ) const
inline

Returns the cooking target platform.

Returns
Target platform.

Definition at line 629 of file Archive.h.

◆ CopyTrivialFArchiveStatusMembers()

void FArchiveState::CopyTrivialFArchiveStatusMembers ( const FArchiveState & ArchiveStatusToCopy)
protected

Copies all of the members except CustomVersionContainer

◆ CountBytes()

virtual void FArchiveState::CountBytes ( SIZE_T InNum,
SIZE_T InMax )
inlinevirtual

Called to get the computed size from a size-detecting archive after it has finished serializing.

Reimplemented in FArchive, and FArchiveProxy.

Definition at line 121 of file Archive.h.

+ Here is the caller graph for this function:

◆ CustomVer()

int32 FArchiveState::CustomVer ( const struct FGuid & Key) const

Queries a custom version from the archive. If the archive is being used to write, the custom version must have already been registered.

Parameters
KeyThe guid of the custom version to query.
Returns
The version number, or -1 if the custom tag isn't stored in the archive.

◆ DoDelta()

FORCEINLINE bool FArchiveState::DoDelta ( ) const
inline

Returns true if this archive should handle delta serialization for properties.

Definition at line 390 of file Archive.h.

◆ DoIntraPropertyDelta()

FORCEINLINE bool FArchiveState::DoIntraPropertyDelta ( ) const
inline

Returns true if this archive should perform delta serialization within properties (e.g. TMaps and TSets).

Definition at line 396 of file Archive.h.

◆ EngineNetVer()

uint32 FArchiveState::EngineNetVer ( ) const

Returns the engine-global network protocol version for this archive.

◆ EngineVer()

FORCEINLINE FEngineVersionBase FArchiveState::EngineVer ( ) const
inline

Returns the compiled engine version used for this archive.

Definition at line 229 of file Archive.h.

◆ ForceByteSwapping()

FORCEINLINE bool FArchiveState::ForceByteSwapping ( ) const
inline

Returns true if this archive should always swap bytes, ignoring endian rules.

Definition at line 372 of file Archive.h.

◆ ForEachState()

template<typename T >
void FArchiveState::ForEachState ( T Func)
private

◆ GameNetVer()

uint32 FArchiveState::GameNetVer ( ) const

Returns the game-specific network protocol version for this archive.

◆ GetArchetypeFromLoader()

virtual UObject * FArchiveState::GetArchetypeFromLoader ( const UObject * Obj)
inlinevirtual

Called to retrieve the archetype from the event driven loader. If this returns null, then call GetArchetype yourself.

Reimplemented in FArchive, and FArchiveProxy.

Definition at line 197 of file Archive.h.

+ Here is the caller graph for this function:

◆ GetArchiveName()

◆ GetCookContext()

FORCEINLINE FArchiveCookContext * FArchiveState::GetCookContext ( )
inline

Definition at line 616 of file Archive.h.

◆ GetCookData()

FArchiveCookData * FArchiveState::GetCookData ( )
inline

Definition at line 611 of file Archive.h.

◆ GetCustomVersions()

virtual const FCustomVersionContainer & FArchiveState::GetCustomVersions ( ) const
virtual

Gets the custom version numbers for this archive. These are used to check for system or game-specific version numbers.

Returns
The container of custom versions in the archive.

Reimplemented in FArchive, and FArchiveProxy.

+ Here is the caller graph for this function:

◆ GetDebugSerializationFlags()

FORCEINLINE uint32 FArchiveState::GetDebugSerializationFlags ( ) const
inline

Returns the editor-only debug serialization flags.

Definition at line 465 of file Archive.h.

◆ GetError()

FORCEINLINE bool FArchiveState::GetError ( ) const
inline

Definition at line 342 of file Archive.h.

◆ GetInnermostState()

virtual FArchiveState & FArchiveState::GetInnermostState ( )
inlinevirtual

Returns lowest level archive state, proxy archives will override this.

Reimplemented in FArchive, and FArchiveProxy.

Definition at line 90 of file Archive.h.

+ Here is the caller graph for this function:

◆ GetLinker()

virtual FLinker * FArchiveState::GetLinker ( )
inlinevirtual

If this archive is a FLinkerLoad or FLinkerSave, returns a pointer to the ULinker portion.

Returns
The linker, or nullptr if the archive is not a linker.

Reimplemented in FArchive, and FArchiveProxy.

Definition at line 136 of file Archive.h.

+ Here is the caller graph for this function:

◆ GetMaxSerializeSize()

FORCEINLINE int64 FArchiveState::GetMaxSerializeSize ( ) const
inline

Returns the maximum size of data that this archive is allowed to serialize.

Definition at line 481 of file Archive.h.

◆ GetPortFlags()

FORCEINLINE uint32 FArchiveState::GetPortFlags ( ) const
inline

Returns this archive's property serialization modifier flags.

Definition at line 447 of file Archive.h.

◆ GetSerializeContext()

virtual FUObjectSerializeContext * FArchiveState::GetSerializeContext ( )
inlinevirtual

Gets the current UObject serialization context for this archive.

Reimplemented in FArchive.

Definition at line 703 of file Archive.h.

◆ GetSerializedProperty()

FORCEINLINE struct FProperty * FArchiveState::GetSerializedProperty ( ) const
inline

Gets the property that is currently being serialized

Returns
Pointer to the property that is currently being serialized

Definition at line 669 of file Archive.h.

◆ GetSerializedPropertyChain() [1/2]

FORCEINLINE const FArchiveSerializedPropertyChain * FArchiveState::GetSerializedPropertyChain ( ) const
inline

Get the raw serialized property chain for this archive

Note
Accessing this directly can avoid an array allocation depending on your use-case

Definition at line 684 of file Archive.h.

◆ GetSerializedPropertyChain() [2/2]

void FArchiveState::GetSerializedPropertyChain ( TArray< struct FProperty * > & OutProperties) const

Gets the chain of properties that are currently being serialized

Note
This populates the array in stack order, so the 0th entry in the array is the top of the stack of properties

◆ HasAllPortFlags()

FORCEINLINE bool FArchiveState::HasAllPortFlags ( uint32 Flags) const
inline

Checks to see if all of the passed in property serialization modifier flags are set.

Definition at line 459 of file Archive.h.

◆ HasAnyPortFlags()

FORCEINLINE bool FArchiveState::HasAnyPortFlags ( uint32 Flags) const
inline

Checks to see if any of the passed in property serialization modifier flags are set.

Definition at line 453 of file Archive.h.

◆ IsAllowingLazyLoading()

FORCEINLINE bool FArchiveState::IsAllowingLazyLoading ( ) const
inline

Returns true if this archive sould allow lazy loading of bulk / secondary data.

Definition at line 420 of file Archive.h.

◆ IsByteSwapping()

FORCEINLINE bool FArchiveState::IsByteSwapping ( )
inline

Returns true if data larger than 1 byte should be swapped to deal with endian mismatches.

Definition at line 165 of file Archive.h.

+ Here is the caller graph for this function:

◆ IsCooking()

FORCEINLINE bool FArchiveState::IsCooking ( ) const
inline

Checks whether the archive is used for cooking.

Returns
true if the archive is used for cooking, false otherwise.

Definition at line 590 of file Archive.h.

◆ IsCountingMemory()

FORCEINLINE bool FArchiveState::IsCountingMemory ( ) const
inline

Returns true if this archive is counting memory, normally CountBytes is called to get the size.

Definition at line 441 of file Archive.h.

◆ IsCriticalError()

FORCEINLINE bool FArchiveState::IsCriticalError ( ) const
inline

Returns true if this archive contains critical errors that cannot be recovered from.

Definition at line 348 of file Archive.h.

◆ IsError()

FORCEINLINE bool FArchiveState::IsError ( ) const
inline

Returns true if this archive contains errors, which means that further serialization is generally not safe.

Definition at line 337 of file Archive.h.

+ Here is the caller graph for this function:

◆ IsFilterEditorOnly()

bool FArchiveState::IsFilterEditorOnly ( ) const
inline

Indicates whether this archive is filtering editor-only on save or contains data that had editor-only content stripped.

Returns
true if the archive filters editor-only content, false otherwise.

Definition at line 551 of file Archive.h.

◆ IsForcingUnicode()

FORCEINLINE bool FArchiveState::IsForcingUnicode ( ) const
inline

Returns true if this archive wants to always save strings in UTF16 format even if they are ANSI characters.

Definition at line 304 of file Archive.h.

◆ IsIgnoringArchetypeRef()

FORCEINLINE bool FArchiveState::IsIgnoringArchetypeRef ( ) const
inline

Returns true if this archive should ignore archetype references for structs and classes.

Definition at line 384 of file Archive.h.

◆ IsIgnoringClassGeneratedByRef()

FORCEINLINE bool FArchiveState::IsIgnoringClassGeneratedByRef ( ) const
inline

Returns true if this archive should ignore the ClassGeneratedBy reference in UClass.

Definition at line 408 of file Archive.h.

◆ IsIgnoringClassRef()

FORCEINLINE bool FArchiveState::IsIgnoringClassRef ( ) const
inline

Returns true if this archive should ignore the Class reference in UObject.

Definition at line 414 of file Archive.h.

◆ IsIgnoringOuterRef()

FORCEINLINE bool FArchiveState::IsIgnoringOuterRef ( ) const
inline

Returns true if this archive should ignore the Outer reference in UObject.

Definition at line 402 of file Archive.h.

◆ IsLoading()

FORCEINLINE bool FArchiveState::IsLoading ( ) const
inline

Returns true if this archive is for loading data.

Definition at line 249 of file Archive.h.

+ Here is the caller graph for this function:

◆ IsLoadingFromCookedPackage()

FORCEINLINE bool FArchiveState::IsLoadingFromCookedPackage ( ) const
inline

Returns true if this archive is loading from a cooked package.

Definition at line 255 of file Archive.h.

◆ IsModifyingWeakAndStrongReferences()

FORCEINLINE bool FArchiveState::IsModifyingWeakAndStrongReferences ( ) const
inline

Returns true if this archive should modify/search weak object references as well as strong ones.

Definition at line 435 of file Archive.h.

◆ IsNetArchive()

FORCEINLINE bool FArchiveState::IsNetArchive ( ) const
inline

Whether or not this archive is serializing data being sent/received by the netcode

Definition at line 580 of file Archive.h.

◆ IsObjectReferenceCollector()

FORCEINLINE bool FArchiveState::IsObjectReferenceCollector ( ) const
inline

Returns true if this archive is only looking for UObject references. This can be false for reference collectors looking for more general references.

Definition at line 429 of file Archive.h.

◆ IsPersistent()

FORCEINLINE bool FArchiveState::IsPersistent ( ) const
inline

Returns true if this archive is saving or loading data destined for persistent storage and should skip transient data. This is also true for some intermediate archives for tasks like duplication that are eventually destined for persistent storage.

Definition at line 313 of file Archive.h.

◆ IsSaveGame()

bool FArchiveState::IsSaveGame ( ) const
inline

Indicates whether this archive is saving or loading game state

Note
This is intended for game-specific archives and is not true for any of the build in save methods
Returns
true if the archive is dealing with save games, false otherwise.

Definition at line 572 of file Archive.h.

◆ IsSaving()

FORCEINLINE bool FArchiveState::IsSaving ( ) const
inline

Returns true if this archive is for saving data, this can also be a pre-save preparation archive.

Definition at line 261 of file Archive.h.

◆ IsSerializingDefaults()

FORCEINLINE bool FArchiveState::IsSerializingDefaults ( ) const
inline

Returns true if this archive is currently serializing class/struct default values.

Definition at line 378 of file Archive.h.

◆ IsTextFormat()

FORCEINLINE bool FArchiveState::IsTextFormat ( ) const
inline

Returns true if this archive serializes to a structured text format. Text format archives should use high level constructs from FStructuredArchive for delimiting data rather than manually seeking through the file.

Definition at line 283 of file Archive.h.

◆ IsTransacting()

FORCEINLINE bool FArchiveState::IsTransacting ( ) const
inline

Returns true if this archive is transacting, which is used to keep track of changes to objects for things like the editor undo system.

Definition at line 267 of file Archive.h.

◆ LicenseeUE4Ver()

FORCEINLINE int32 FArchiveState::LicenseeUE4Ver ( ) const
inline

Returns the licensee-specific version used for this archive, will be 0 by default.

Definition at line 223 of file Archive.h.

+ Here is the call graph for this function:

◆ LicenseeUEVer()

FORCEINLINE int32 FArchiveState::LicenseeUEVer ( ) const
inline

Returns the licensee-specific version used for this archive, will be 0 by default.

Definition at line 209 of file Archive.h.

+ Here is the caller graph for this function:

◆ LinkProxy()

static void FArchiveState::LinkProxy ( FArchiveState & Inner,
FArchiveState & Proxy )
staticprotected

◆ operator=()

FArchiveState & FArchiveState::operator= ( const FArchiveState & ArchiveToCopy)
private

Copy assignment operator.

Parameters
ArchiveToCopyThe archive to copy from.

◆ RequiresLocalizationGather()

FORCEINLINE bool FArchiveState::RequiresLocalizationGather ( ) const
inline

Returns true if this archive contains data required to be gathered for localization.

Definition at line 366 of file Archive.h.

◆ Reset()

virtual void FArchiveState::Reset ( )
virtual

Resets all of the base archive members.

Reimplemented in FArchive, and FBitWriter.

◆ ResetCustomVersions()

virtual void FArchiveState::ResetCustomVersions ( )
virtual

Resets the custom version numbers for this archive.

Reimplemented in FArchive, and FArchiveProxy.

+ Here is the caller graph for this function:

◆ SetArchiveState()

void FArchiveState::SetArchiveState ( const FArchiveState & InState)

Modifies current archive state, can be used to override flags.

◆ SetByteSwapping()

void FArchiveState::SetByteSwapping ( bool Enabled)
inline

Toggle byte order swapping. This is needed in rare cases when we already know that the data swapping has already occurred or if we know that it will be handled later.

Parameters
Enabledset to true to enable byte order swapping

Definition at line 519 of file Archive.h.

◆ SetCookData()

void FArchiveState::SetCookData ( FArchiveCookData * InCookData)
inline

Marks that this archive is "cooking" by providing the cook data bundle. Must be set after loading/saving/transacting.

Definition at line 599 of file Archive.h.

◆ SetCookingTarget()

void FArchiveState::SetCookingTarget ( const ITargetPlatform * )
inline

Definition at line 622 of file Archive.h.

◆ SetCriticalError()

void FArchiveState::SetCriticalError ( )
inline

Sets the archiver IsCriticalError and IsError to true. Also sets CriticalError in the proxy archiver if one is wrapping this.

Definition at line 113 of file Archive.h.

◆ SetCustomVersion()

void FArchiveState::SetCustomVersion ( const struct FGuid & Key,
int32 Version,
FName FriendlyName )

Sets a specific custom version

Parameters
Key- The guid of the custom version to query.
Version- The version number to set key to
FriendlyName- Friendly name corresponding to the key

◆ SetCustomVersions()

virtual void FArchiveState::SetCustomVersions ( const FCustomVersionContainer & CustomVersionContainer)
virtual

Sets the custom version numbers for this archive.

Parameters
CustomVersionContainer- The container of custom versions to copy into the archive.

Reimplemented in FArchive, and FArchiveProxy.

+ Here is the caller graph for this function:

◆ SetDebugSerializationFlags()

void FArchiveState::SetDebugSerializationFlags ( uint32 InCustomFlags)
inline

Sets the archives custom serialization modifier flags (nothing to do with PortFlags or Custom versions)

Parameters
InCustomFlagsthe new flags to use for custom serialization

Definition at line 539 of file Archive.h.

◆ SetEngineNetVer()

virtual void FArchiveState::SetEngineNetVer ( const uint32 InEngineNetVer)
virtual

Sets the archive engine network version.

Reimplemented in FArchive.

◆ SetEngineVer()

virtual void FArchiveState::SetEngineVer ( const FEngineVersionBase & InVer)
virtual

Sets the archive engine version. Used by the code that makes sure that FLinkerLoad's internal archive versions match the file reader it creates.

Parameters
InVernew version number

Reimplemented in FArchive.

◆ SetError()

void FArchiveState::SetError ( )

Sets ArIsError to true. Also sets error in the proxy archiver if one is wrapping this.

+ Here is the caller graph for this function:

◆ SetFilterEditorOnly()

virtual void FArchiveState::SetFilterEditorOnly ( bool InFilterEditorOnly)
inlinevirtual

Sets a flag indicating that this archive needs to filter editor-only content.

Parameters
InFilterEditorOnlyWhether to filter editor-only content.

Reimplemented in FArchive, and FArchiveProxy.

Definition at line 561 of file Archive.h.

+ Here is the caller graph for this function:

◆ SetForceUnicode()

virtual void FArchiveState::SetForceUnicode ( bool bInForceUnicode)
virtual

Sets whether this archive wants to force saving as Unicode. This is needed when we need to make sure ANSI strings are saved as Unicode.

Parameters
bInForceUnicodetrue if this archive wants to force saving as Unicode, false otherwise.

Reimplemented in FArchive.

◆ SetGameNetVer()

virtual void FArchiveState::SetGameNetVer ( const uint32 InGameNetVer)
virtual

Sets the archive game network version.

Reimplemented in FArchive.

◆ SetIsLoading()

virtual void FArchiveState::SetIsLoading ( bool bInIsLoading)
virtual

Sets whether this archive is for loading data.

Parameters
bInIsLoadingtrue if this archive is for loading, false otherwise.

Reimplemented in FArchive.

+ Here is the caller graph for this function:

◆ SetIsLoadingFromCookedPackage()

virtual void FArchiveState::SetIsLoadingFromCookedPackage ( bool bInIsLoadingFromCookedPackage)
virtual

Sets whether the archive is loading from a cooked package.

Parameters
bInIsLoadingFromCookedPackagetrue if this archive is loading from a cooked package, false otherwise

Reimplemented in FArchive.

◆ SetIsPersistent()

virtual void FArchiveState::SetIsPersistent ( bool bInIsPersistent)
virtual

Sets whether this archive is to persistent storage.

Parameters
bInIsPersistenttrue if this archive is to persistent storage, false otherwise.

Reimplemented in FArchive.

+ Here is the caller graph for this function:

◆ SetIsSaving()

virtual void FArchiveState::SetIsSaving ( bool bInIsSaving)
virtual

Sets whether this archive is for saving data.

Parameters
bInIsSavingtrue if this archive is for saving, false otherwise.

Reimplemented in FArchive.

+ Here is the caller graph for this function:

◆ SetIsTextFormat()

virtual void FArchiveState::SetIsTextFormat ( bool bInIsTextFormat)
virtual

Sets whether this archive is in text format.

Parameters
bInIsTextFormattrue if this archive is in text format, false otherwise.

Reimplemented in FArchive.

◆ SetIsTransacting()

virtual void FArchiveState::SetIsTransacting ( bool bInIsTransacting)
virtual

Sets whether this archive is for transacting.

Parameters
bInIsTransactingtrue if this archive is for transacting, false otherwise.

Reimplemented in FArchive.

◆ SetLicenseeUE4Ver()

FORCEINLINE void FArchiveState::SetLicenseeUE4Ver ( int32 InVer)
inline

Definition at line 938 of file Archive.h.

+ Here is the call graph for this function:

◆ SetLicenseeUEVer()

virtual void FArchiveState::SetLicenseeUEVer ( int32 InVer)
virtual

Sets the archive licensee version number. Used by the code that makes sure that FLinkerLoad's internal archive versions match the file reader it creates.

Parameters
Vernew version number

Reimplemented in FArchive.

+ Here is the caller graph for this function:

◆ SetPortFlags()

void FArchiveState::SetPortFlags ( uint32 InPortFlags)
inline

Sets the archive's property serialization modifier flags

Parameters
InPortFlagsthe new flags to use for property serialization

Definition at line 529 of file Archive.h.

◆ SetSerializeContext()

virtual void FArchiveState::SetSerializeContext ( FUObjectSerializeContext * InLoadContext)
inlinevirtual

Sets the current UObject serialization context for this archive.

Reimplemented in FArchive.

Definition at line 700 of file Archive.h.

◆ SetSerializedProperty()

virtual void FArchiveState::SetSerializedProperty ( FProperty * InProperty)
inlinevirtual

Overrides the property that is currently being serialized

Note
: You likely want to call PushSerializedProperty/PopSerializedProperty instead
Parameters
InPropertyPointer to the property that is currently being serialized

Reimplemented in FArchive, and FArchiveProxy.

Definition at line 659 of file Archive.h.

+ Here is the caller graph for this function:

◆ SetSerializedPropertyChain()

virtual void FArchiveState::SetSerializedPropertyChain ( const FArchiveSerializedPropertyChain * InSerializedPropertyChain,
struct FProperty * InSerializedPropertyOverride = nullptr )
virtual

Set the raw serialized property chain for this archive, optionally overriding the serialized property too (or null to use the head of the property chain)

Reimplemented in FArchive, and FArchiveProxy.

+ Here is the caller graph for this function:

◆ SetShouldSkipCompilingAssets()

void FArchiveState::SetShouldSkipCompilingAssets ( bool Enabled)
inline

Set whether or not it is allowed to skip serialization on assets still being compiled to avoid waiting unless strictly necessary.

Parameters
EnabledSet to true to enable skip serialization on compiling assets.

Definition at line 323 of file Archive.h.

◆ SetUE4Ver()

FORCEINLINE void FArchiveState::SetUE4Ver ( int32 InVer)
inline

Definition at line 923 of file Archive.h.

+ Here is the call graph for this function:

◆ SetUEVer()

virtual void FArchiveState::SetUEVer ( FPackageFileVersion InVer)
virtual

Sets the archive version number. Used by the code that makes sure that FLinkerLoad's internal archive versions match the file reader it creates.

Parameters
UEVernew version number

Reimplemented in FArchive.

+ Here is the caller graph for this function:

◆ SetUseUnversionedPropertySerialization()

virtual void FArchiveState::SetUseUnversionedPropertySerialization ( bool bInUseUnversioned)
virtual

Sets whether tagged property serialization should be replaced by faster unversioned serialization. This assumes writer and reader share the same property definitions.

Reimplemented in FArchive.

◆ SetWantBinaryPropertySerialization()

virtual void FArchiveState::SetWantBinaryPropertySerialization ( bool bInWantBinaryPropertySerialization)
virtual

Sets whether this archive wants binary property serialization.

Parameters
bInWantBinaryPropertySerializationtrue if this archive wants binary serialization, false otherwise.

Reimplemented in FArchive.

◆ ShouldSkipBulkData()

FORCEINLINE bool FArchiveState::ShouldSkipBulkData ( ) const
inline

Returns true if this archive should ignore bulk data.

Definition at line 475 of file Archive.h.

◆ ShouldSkipCompilingAssets()

FORCEINLINE bool FArchiveState::ShouldSkipCompilingAssets ( ) const
inline

Returns true if it is allowed to skip serialization on assets still being compiled to avoid waiting unless strictly necessary.

Definition at line 331 of file Archive.h.

◆ ShouldSkipProperty()

virtual bool FArchiveState::ShouldSkipProperty ( const FProperty * InProperty) const
inlinevirtual

Checks whether the archive wants to skip the property independent of the other flags

Reimplemented in FArchive, and FArchiveProxy.

Definition at line 648 of file Archive.h.

+ Here is the caller graph for this function:

◆ Tell()

virtual int64 FArchiveState::Tell ( )
inlinevirtual

Returns the current location within the backing data storage, which can possibly be passed to Seek later to restore a read/write location. If this returns -1, there is no backing data storage and Seek will not function.

Reimplemented in FArchive, FArchiveLoadCompressedProxy, FArchiveSaveCompressedProxy, FBufferWriter, FPreloadableArchive, FPreloadableArchiveProxy, FBufferReaderBase, FMemoryArchive, FArchiveProxy, FArchiveFileReaderGeneric, and FArchiveFileWriterGeneric.

Definition at line 145 of file Archive.h.

+ Here is the caller graph for this function:

◆ ThisContainsCode()

void FArchiveState::ThisContainsCode ( )
inline

Sets a flag indicating that this archive contains native or generated code.

Definition at line 176 of file Archive.h.

◆ ThisContainsMap()

void FArchiveState::ThisContainsMap ( )
inline

Sets a flag indicating that this archive contains a ULevel or UWorld object.

Definition at line 182 of file Archive.h.

◆ ThisRequiresLocalizationGather()

void FArchiveState::ThisRequiresLocalizationGather ( )
inline

Sets a flag indicating that this archive contains data required to be gathered for localization.

Definition at line 188 of file Archive.h.

◆ TotalSize()

◆ UE4Ver()

FORCEINLINE int32 FArchiveState::UE4Ver ( ) const
inline

Returns the global engine serialization version used for this archive.

Definition at line 216 of file Archive.h.

◆ UEVer()

FORCEINLINE FPackageFileVersion FArchiveState::UEVer ( ) const
inline

Returns the global engine serialization version used for this archive.

Definition at line 203 of file Archive.h.

+ Here is the caller graph for this function:

◆ UnlinkProxy()

static void FArchiveState::UnlinkProxy ( FArchiveState & Inner,
FArchiveState & Proxy )
staticprotected

◆ UseToResolveEnumerators()

virtual bool FArchiveState::UseToResolveEnumerators ( ) const
inlinevirtual

Checks whether the archive is used to resolve out-of-date enum indexes If function returns true, the archive should be called only for objects containing user defined enum

Returns
true if the archive is used to resolve out-of-date enum indexes

Reimplemented in FArchive, and FArchiveProxy.

Definition at line 640 of file Archive.h.

+ Here is the caller graph for this function:

◆ UseUnversionedPropertySerialization()

FORCEINLINE bool FArchiveState::UseUnversionedPropertySerialization ( ) const
inline

Returns true if tagged property serialization should be replaced by faster unversioned serialization. This assumes writer and reader share the same property definitions.

Definition at line 298 of file Archive.h.

◆ WantBinaryPropertySerialization()

FORCEINLINE bool FArchiveState::WantBinaryPropertySerialization ( ) const
inline

Returns true if this archive wants properties to be serialized in binary form instead of safer but slower tagged form.

Definition at line 289 of file Archive.h.

◆ ~FArchiveState()

virtual FArchiveState::~FArchiveState ( )
privatepure virtual

Friends And Related Symbol Documentation

◆ FArchive

Definition at line 66 of file Archive.h.

Member Data Documentation

◆ ActiveFPLB

FFastPathLoadBuffer* FArchiveState::ActiveFPLB

Definition at line 742 of file Archive.h.

◆ ArAllowLazyLoading

uint8 FArchiveState::ArAllowLazyLoading

Whether to allow lazy loading of bulk/secondary data.

Definition at line 820 of file Archive.h.

◆ ArContainsCode

uint8 FArchiveState::ArContainsCode

Quickly tell if an archive contains script code.

Definition at line 790 of file Archive.h.

◆ ArContainsMap

uint8 FArchiveState::ArContainsMap

Used to determine whether FArchive contains a level or world.

Definition at line 793 of file Archive.h.

◆ ArCustomPropertyList

const struct FCustomPropertyListNode* FArchiveState::ArCustomPropertyList

Custom property list attribute. If the flag below is set, only these properties will be iterated during serialization. If NULL, then no properties will be iterated.

Definition at line 989 of file Archive.h.

◆ ArEngineNetVer

uint32 FArchiveState::ArEngineNetVer
protected

Holds the engine network protocol version.

Definition at line 974 of file Archive.h.

◆ ArEngineVer

FEngineVersionBase FArchiveState::ArEngineVer
protected

Holds the engine version.

Definition at line 970 of file Archive.h.

◆ ArForceByteSwapping

uint8 FArchiveState::ArForceByteSwapping

Whether we should forcefully swap bytes.

Definition at line 799 of file Archive.h.

◆ ArForceUnicode

uint8 FArchiveState::ArForceUnicode
protected

Whether this archive wants to always save strings in UTF16 format even if they are ANSI characters

Definition at line 773 of file Archive.h.

◆ ArGameNetVer

uint32 FArchiveState::ArGameNetVer
protected

Holds the game network protocol version.

Definition at line 978 of file Archive.h.

◆ ArIgnoreArchetypeRef

uint8 FArchiveState::ArIgnoreArchetypeRef

If true, we will not serialize archetype references for structs and classes.

Definition at line 802 of file Archive.h.

◆ ArIgnoreClassGeneratedByRef

uint8 FArchiveState::ArIgnoreClassGeneratedByRef

If true, we will not serialize ClassGeneratedBy reference in UClass.

Definition at line 814 of file Archive.h.

◆ ArIgnoreClassRef

uint8 FArchiveState::ArIgnoreClassRef

If true, UObject::Serialize will skip serialization of the Class property.

Definition at line 817 of file Archive.h.

◆ ArIgnoreOuterRef

uint8 FArchiveState::ArIgnoreOuterRef

If true, we will not serialize the Outer reference in UObject.

Definition at line 811 of file Archive.h.

◆ ArIsCountingMemory

uint8 FArchiveState::ArIsCountingMemory

Whether this archive is counting memory.

Definition at line 829 of file Archive.h.

◆ ArIsCriticalError

uint8 FArchiveState::ArIsCriticalError
private

Whether this archive contains critical errors that cannot be recovered from

Definition at line 783 of file Archive.h.

◆ ArIsError

uint8 FArchiveState::ArIsError
private

Whether this archive contains errors, which means that further serialization is generally not safe

Definition at line 780 of file Archive.h.

◆ ArIsFilterEditorOnly

uint8 FArchiveState::ArIsFilterEditorOnly

Whether editor only properties are being filtered from the archive (or has been filtered).

Definition at line 835 of file Archive.h.

◆ ArIsLoading

uint8 FArchiveState::ArIsLoading
protected

Whether this archive is for loading data.

Definition at line 752 of file Archive.h.

◆ ArIsLoadingFromCookedPackage

uint8 FArchiveState::ArIsLoadingFromCookedPackage
protected

Whether this archive is loading from a cooked package.

Definition at line 755 of file Archive.h.

◆ ArIsModifyingWeakAndStrongReferences

uint8 FArchiveState::ArIsModifyingWeakAndStrongReferences

Whether a reference collector is modifying the references and wants both weak and strong ones

Definition at line 826 of file Archive.h.

◆ ArIsNetArchive

uint8 FArchiveState::ArIsNetArchive

Whether or not this archive is sending/receiving network data

Definition at line 841 of file Archive.h.

◆ ArIsObjectReferenceCollector

uint8 FArchiveState::ArIsObjectReferenceCollector

Whether this archive only cares about serializing object references.

Definition at line 823 of file Archive.h.

◆ ArIsPersistent

uint8 FArchiveState::ArIsPersistent
protected

Whether this archive saves to persistent storage. This is also true for some intermediate archives like DuplicateObject that are expected to go to persistent storage but may be discarded

Definition at line 776 of file Archive.h.

◆ ArIsSaveGame

uint8 FArchiveState::ArIsSaveGame

Whether this archive is saving/loading game state

Definition at line 838 of file Archive.h.

◆ ArIsSaving

uint8 FArchiveState::ArIsSaving
protected

Whether this archive is for saving data.

Definition at line 758 of file Archive.h.

◆ ArIsTextFormat

uint8 FArchiveState::ArIsTextFormat
protected

Whether this archive serializes to a text format. Text format archives should use high level constructs from FStructuredArchive for delimiting data rather than manually seeking through the file.

Definition at line 764 of file Archive.h.

◆ ArIsTransacting

uint8 FArchiveState::ArIsTransacting
protected

Whether archive is transacting, which is used to keep track of changes to objects for things like the editor undo system.

Definition at line 761 of file Archive.h.

◆ ArLicenseeUEVer

int32 FArchiveState::ArLicenseeUEVer
protected

Holds the archive version for licensees.

Definition at line 967 of file Archive.h.

◆ ArMaxSerializeSize

int64 FArchiveState::ArMaxSerializeSize

Max size of data that this archive is allowed to serialize.

Definition at line 853 of file Archive.h.

◆ ArNoDelta

uint8 FArchiveState::ArNoDelta

If true, do not perform delta serialization of properties.

Definition at line 805 of file Archive.h.

◆ ArNoIntraPropertyDelta

uint8 FArchiveState::ArNoIntraPropertyDelta

If true, do not perform delta serialization within properties (e.g. TMaps and TSets).

Definition at line 808 of file Archive.h.

◆ ArPortFlags

uint32 FArchiveState::ArPortFlags

Modifier flags that be used when serializing UProperties

Definition at line 850 of file Archive.h.

◆ ArRequiresLocalizationGather

uint8 FArchiveState::ArRequiresLocalizationGather

Used to determine whether FArchive contains data required to be gathered for localization.

Definition at line 796 of file Archive.h.

◆ ArSerializingDefaults

int32 FArchiveState::ArSerializingDefaults

Whether we are currently serializing defaults. > 0 means yes, <= 0 means no.

Definition at line 847 of file Archive.h.

◆ ArShouldSkipBulkData

uint8 FArchiveState::ArShouldSkipBulkData

Whether bulk data serialization should be skipped or not.

Definition at line 832 of file Archive.h.

◆ ArShouldSkipCompilingAssets

uint8 FArchiveState::ArShouldSkipCompilingAssets
private

Whether or not it is allowed to skip serialization on assets still being compiled to avoid waiting unless strictly necessary.

Definition at line 786 of file Archive.h.

◆ ArUEVer

FPackageFileVersion FArchiveState::ArUEVer
protected

Holds the archive version.

Definition at line 964 of file Archive.h.

◆ ArUseCustomPropertyList

uint8 FArchiveState::ArUseCustomPropertyList

Set TRUE to use the custom property list attribute for serialization.

Definition at line 844 of file Archive.h.

◆ ArUseUnversionedPropertySerialization

uint8 FArchiveState::ArUseUnversionedPropertySerialization
protected

Whether tagged property serialization is replaced by faster unversioned serialization. This assumes writer and reader share the same property definitions.

Definition at line 770 of file Archive.h.

◆ ArWantBinaryPropertySerialization

uint8 FArchiveState::ArWantBinaryPropertySerialization
protected

Whether this archive wants properties to be serialized in binary form instead of tagged.

Definition at line 767 of file Archive.h.

◆ bCustomVersionsAreReset

bool FArchiveState::bCustomVersionsAreReset
mutableprotected

Indicates if the custom versions container is in a 'reset' state. This will be used to defer the choice about how to populate the container until it is needed, where the read/write state will be known.

Definition at line 1026 of file Archive.h.

◆ CookData

FArchiveCookData* FArchiveState::CookData = nullptr
protected

Holds data for cooking. Required if cooking, nullptr means not cooking

Definition at line 999 of file Archive.h.

◆ CustomVersionContainer

FCustomVersionContainer* FArchiveState::CustomVersionContainer = nullptr
mutableprotected

All the custom versions stored in the archive. Stored as a pointer to a heap-allocated object because of a 3-way dependency between TArray, FCustomVersionContainer and FArchive, which is too much work to change right now. Keeping it as a heap-allocated object also helps with performance in some cases as we don't need to construct it for archives that don't care about custom versions.

Definition at line 985 of file Archive.h.

◆ InlineFPLB

FFastPathLoadBuffer FArchiveState::InlineFPLB

Definition at line 743 of file Archive.h.

◆ NextProxy

FArchiveState* FArchiveState::NextProxy = nullptr
private

Linked list to all proxies

Definition at line 1030 of file Archive.h.

◆ SerializedProperty

FProperty* FArchiveState::SerializedProperty
protected

Holds the pointer to the property that is currently being serialized

Definition at line 1002 of file Archive.h.

◆ SerializedPropertyChain

FArchiveSerializedPropertyChain* FArchiveState::SerializedPropertyChain
protected

Holds the chain of properties that are currently being serialized

Definition at line 1005 of file Archive.h.


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