Navigation
API > API/Runtime > API/Runtime/Core
| Name | FArchiveState |
| Type | struct |
| Header File | /Engine/Source/Runtime/Core/Public/Serialization/Archive.h |
| Include Path | #include "Serialization/Archive.h" |
Syntax
struct FArchiveState
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Serialization/Archive.h | |||
FArchiveState
(
const FArchiveState& |
Copy constructor. | Serialization/Archive.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~FArchiveState() |
Serialization/Archive.h |
Structs
| Name | Remarks |
|---|---|
| FFastPathLoadBuffer | These are used for fastpath inline serializers |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| ArAllowLazyLoading | uint8 | Whether to allow lazy loading of bulk/secondary data. | Serialization/Archive.h | |
| ArContainsCode | uint8 | Quickly tell if an archive contains script code. | Serialization/Archive.h | |
| ArContainsMap | uint8 | Used to determine whether FArchive contains a level or world. | Serialization/Archive.h | |
| ArCustomPropertyList | const FCustomPropertyListNode * | Custom property list attribute. | Serialization/Archive.h | |
| ArDebugSerializationFlags | uint32 | Custom serialization modifier flags can be used for anything | Serialization/Archive.h | |
| ArForceByteSwapping | uint8 | Whether we should forcefully swap bytes. | Serialization/Archive.h | |
| ArIgnoreArchetypeRef | uint8 | If true, we will not serialize archetype references for structs and classes. | Serialization/Archive.h | |
| ArIgnoreClassGeneratedByRef | uint8 | If true, we will not serialize ClassGeneratedBy reference in UClass. | Serialization/Archive.h | |
| ArIgnoreClassRef | uint8 | If true, UObject::Serialize will skip serialization of the Class property. | Serialization/Archive.h | |
| ArIgnoreOuterRef | uint8 | If true, we will not serialize the Outer reference in UObject. | Serialization/Archive.h | |
| ArIsCountingMemory | uint8 | Whether this archive is counting memory. | Serialization/Archive.h | |
| ArIsFilterEditorOnly | uint8 | Whether editor only properties are being filtered from the archive (or has been filtered). | Serialization/Archive.h | |
| ArIsModifyingWeakAndStrongReferences | uint8 | Whether a reference collector is modifying the references and wants both weak and strong ones | Serialization/Archive.h | |
| ArIsNetArchive | uint8 | Whether or not this archive is sending/receiving network data | Serialization/Archive.h | |
| ArIsObjectReferenceCollector | uint8 | Whether this archive only cares about serializing object references. | Serialization/Archive.h | |
| ArIsSaveGame | uint8 | Whether this archive is saving/loading game state | Serialization/Archive.h | |
| ArIsSavingOptionalObject | uint8 | Whether we are currently serializing optional data | Serialization/Archive.h | |
| ArMaxSerializeSize | int64 | Max size of data that this archive is allowed to serialize. | Serialization/Archive.h | |
| ArMergeOverrides | uint8 | Set to false if OverriddenProperties should be cleared at the beginning of SerializeVersionedTaggedProperties. | Serialization/Archive.h | |
| ArNoDelta | uint8 | If true, do not perform delta serialization of properties. | Serialization/Archive.h | |
| ArNoIntraPropertyDelta | uint8 | If true, do not perform delta serialization within properties (e.g. TMaps and TSets). | Serialization/Archive.h | |
| ArPortFlags | uint32 | Modifier flags that be used when serializing UProperties | Serialization/Archive.h | |
| ArPreserveArrayElements | uint8 | Set TRUE to stop arrays from being cleared before they're loaded. | Serialization/Archive.h | |
| ArRequiresLocalizationGather | uint8 | Used to determine whether FArchive contains data required to be gathered for localization. | Serialization/Archive.h | |
| ArSerializingDefaults | int32 | Whether we are currently serializing defaults. > 0 means yes, <= 0 means no. | Serialization/Archive.h | |
| ArShouldSkipBulkData | uint8 | Whether bulk data serialization should be skipped or not. | Serialization/Archive.h | |
| ArUseCustomPropertyList | uint8 | Set TRUE to use the custom property list attribute for serialization. | Serialization/Archive.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| ArIsCriticalError | uint8 | Whether this archive contains critical errors that cannot be recovered from | Serialization/Archive.h | |
| ArIsError | uint8 | Whether this archive contains errors, which means that further serialization is generally not safe | Serialization/Archive.h | |
| ArShouldSkipCompilingAssets | uint8 | Whether or not it is allowed to skip serialization on assets still being compiled to avoid waiting unless strictly necessary. | Serialization/Archive.h | |
| ArShouldSkipUpdateCustomVersion | uint8 | If true, UsingCurrentVersion will not query the version registry to get the latest version data for the key if the version key is already set in the local container. | Serialization/Archive.h | |
| NextProxy | FArchiveState * | Linked list to all proxies | Serialization/Archive.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool AtEnd() |
Returns true if the current location within the backing data storage is at the end, always returns false if there is no storage. | Serialization/Archive.h | |
void ClearError() |
Sets ArIsError to false, this does not clear any CriticalErrors | Serialization/Archive.h | |
bool ContainsCode() |
Returns true if this archive contains native or generated code. | Serialization/Archive.h | |
bool ContainsMap() |
Returns true if this archive contains a ULevel or UWorld object. | Serialization/Archive.h | |
const ITargetPlatform * CookingTarget () |
Returns the cooking target platform. | Serialization/Archive.h | |
virtual void CountBytes
(
SIZE_T InNum, |
Called to get the computed size from a size-detecting archive after it has finished serializing. | Serialization/Archive.h | |
| Queries a custom version from the archive. | Serialization/Archive.h | ||
bool DoDelta() |
Returns true if this archive should handle delta serialization for properties. | Serialization/Archive.h | |
bool DoIntraPropertyDelta() |
Returns true if this archive should perform delta serialization within properties (e.g. TMaps and TSets). | Serialization/Archive.h | |
virtual uint32 EngineNetVer() |
Returns the engine-global network protocol version for this archive. | Serialization/Archive.h | |
FEngineVersionBase EngineVer() |
Returns the compiled engine version used for this archive. | Serialization/Archive.h | |
bool ForceByteSwapping() |
Returns true if this archive should always swap bytes, ignoring endian rules. | Serialization/Archive.h | |
virtual uint32 GameNetVer() |
Returns the game-specific network protocol version for this archive. | Serialization/Archive.h | |
virtual UObject * GetArchetypeFromLoader
(
const UObject* Obj |
Called to retrieve the archetype from the event driven loader. | Serialization/Archive.h | |
virtual FString GetArchiveName () |
Returns the name of the Archive. | Serialization/Archive.h | |
FArchiveCookContext * GetCookContext() |
Serialization/Archive.h | ||
FArchiveCookData * GetCookData() |
Serialization/Archive.h | ||
virtual const FCustomVersionContainer & GetCustomVersions () |
Gets the custom version numbers for this archive. | Serialization/Archive.h | |
uint32 GetDebugSerializationFlags() |
Returns the editor-only debug serialization flags. | Serialization/Archive.h | |
bool GetError() |
Serialization/Archive.h | ||
virtual FArchiveState & GetInnermostState() |
Returns lowest level archive state, proxy archives will override this. | Serialization/Archive.h | |
virtual FLinker * GetLinker() |
If this archive is a FLinkerLoad or FLinkerSave, returns a pointer to the ULinker portion. | Serialization/Archive.h | |
virtual FString GetLocalizationNamespace () |
Get the localization namespace that this archive should use when serializing text properties. | Serialization/Archive.h | |
int64 GetMaxSerializeSize() |
Returns the maximum size of data that this archive is allowed to serialize. | Serialization/Archive.h | |
virtual const FUObjectMigrationContext * GetMigrationContext() |
When migrating objects, we may need some context as to the intent of the migration during serialization | Serialization/Archive.h | |
uint32 GetPortFlags() |
Returns this archive's property serialization modifier flags. | Serialization/Archive.h | |
FArchiveSavePackageData * GetSavePackageData() |
Serialization/Archive.h | ||
FObjectSavePackageSerializeContext * GetSavePackageSerializeContext () |
Return the API object used to record extra data for SavePackage calls (e.g. cook build dependencies). | Serialization/Archive.h | |
virtual FUObjectSerializeContext * GetSerializeContext() |
Gets the current UObject serialization context for this archive. | Serialization/Archive.h | |
FProperty * GetSerializedProperty() |
Gets the property that is currently being serialized | Serialization/Archive.h | |
| Get the raw serialized property chain for this archive | Serialization/Archive.h | ||
void GetSerializedPropertyChain
(
TArray< class FProperty* >& OutProperties |
Gets the chain of properties that are currently being serialized | Serialization/Archive.h | |
bool HasAllPortFlags
(
uint32 Flags |
Checks to see if all of the passed in property serialization modifier flags are set. | Serialization/Archive.h | |
bool HasAnyPortFlags
(
uint32 Flags |
Checks to see if any of the passed in property serialization modifier flags are set. | Serialization/Archive.h | |
bool IsAllowingLazyLoading() |
Returns true if this archive sould allow lazy loading of bulk / secondary data. | Serialization/Archive.h | |
bool IsByteSwapping() |
Returns true if data larger than 1 byte should be swapped to deal with endian mismatches. | Serialization/Archive.h | |
bool IsCooking() |
Checks whether the archive is used for cooking. | Serialization/Archive.h | |
bool IsCountingMemory() |
Returns true if this archive is counting memory, normally CountBytes is called to get the size. | Serialization/Archive.h | |
bool IsCriticalError() |
Returns true if this archive contains critical errors that cannot be recovered from. | Serialization/Archive.h | |
virtual bool IsEditorOnlyPropertyOnTheStack() |
Returns true if the stack of currently serialized properties contains an editor-only property | Serialization/Archive.h | |
bool IsError() |
Returns true if this archive contains errors, which means that further serialization is generally not safe. | Serialization/Archive.h | |
bool IsFilterEditorOnly() |
Indicates whether this archive is filtering editor-only on save or contains data that had editor-only content stripped. | Serialization/Archive.h | |
bool IsForcingUnicode() |
Returns true if this archive wants to always save strings in UTF16 format even if they are ANSI characters. | Serialization/Archive.h | |
bool IsIgnoringArchetypeRef() |
Returns true if this archive should ignore archetype references for structs and classes. | Serialization/Archive.h | |
bool IsIgnoringClassGeneratedByRef() |
Returns true if this archive should ignore the ClassGeneratedBy reference in UClass. | Serialization/Archive.h | |
bool IsIgnoringClassRef() |
Returns true if this archive should ignore the Class reference in UObject. | Serialization/Archive.h | |
bool IsIgnoringOuterRef() |
Returns true if this archive should ignore the Outer reference in UObject. | Serialization/Archive.h | |
bool IsLoading() |
Returns true if this archive is for loading data. | Serialization/Archive.h | |
bool IsLoadingFromCookedPackage() |
Returns true if this archive is loading from a cooked package. | Serialization/Archive.h | |
bool IsMigratingRemoteObjects() |
Returns true if this Archive is migrating remote object | Serialization/Archive.h | |
bool IsModifyingWeakAndStrongReferences() |
Returns true if this archive should modify/search weak object references as well as strong ones. | Serialization/Archive.h | |
bool IsNetArchive() |
Whether or not this archive is serializing data being sent/received by the netcode | Serialization/Archive.h | |
bool IsObjectReferenceCollector () |
Returns true if this archive is only looking for UObject references. | Serialization/Archive.h | |
bool IsPersistent () |
Returns true if this archive is saving or loading data destined for persistent storage and should skip transient data. | Serialization/Archive.h | |
bool IsSaveGame () |
Indicates whether this archive is saving or loading game state | Serialization/Archive.h | |
bool IsSaving() |
Returns true if this archive is for saving data, this can also be a pre-save preparation archive. | Serialization/Archive.h | |
bool IsSavingOptionalObject () |
Indicates when the archive is serializing an Optional object. | Serialization/Archive.h | |
bool IsSerializingDefaults() |
Returns true if this archive is currently serializing class/struct default values. | Serialization/Archive.h | |
bool IsTextFormat () |
Returns true if this archive serializes to a structured text format. | Serialization/Archive.h | |
bool IsTransacting() |
Returns true if this archive is transacting, which is used to keep track of changes to objects for things like the editor undo system. | Serialization/Archive.h | |
int32 LicenseeUEVer() |
Returns the licensee-specific version used for this archive, will be 0 by default. | Serialization/Archive.h | |
bool RequiresLocalizationGather() |
Returns true if this archive contains data required to be gathered for localization. | Serialization/Archive.h | |
virtual void Reset() |
Resets all of the base archive members. | Serialization/Archive.h | |
virtual void ResetCustomVersions() |
Resets the custom version numbers for this archive. | Serialization/Archive.h | |
void SetArchiveState
(
const FArchiveState& InState |
Modifies current archive state, can be used to override flags. | Serialization/Archive.h | |
void SetByteSwapping
(
bool Enabled |
Toggle byte order swapping. | Serialization/Archive.h | |
void SetCookData
(
FArchiveCookData* InCookData |
Serialization/Archive.h | ||
void SetCriticalError () |
Sets the archiver IsCriticalError and IsError to true. | Serialization/Archive.h | |
| Sets a specific custom version | Serialization/Archive.h | ||
virtual void SetCustomVersions
(
const FCustomVersionContainer& CustomVersionContainer |
Sets the custom version numbers for this archive. | Serialization/Archive.h | |
virtual void SetDebugSerializationFlags
(
uint32 InCustomFlags |
Sets the archives custom serialization modifier flags (nothing to do with PortFlags or Custom versions) | Serialization/Archive.h | |
virtual void SetEngineNetVer
(
const uint32 InEngineNetVer |
Sets the archive engine network version. | Serialization/Archive.h | |
virtual void SetEngineVer
(
const FEngineVersionBase& InVer |
Sets the archive engine version. | Serialization/Archive.h | |
void SetError() |
Sets ArIsError to true. Also sets error in the proxy archiver if one is wrapping this. | Serialization/Archive.h | |
virtual void SetFilterEditorOnly
(
bool InFilterEditorOnly |
Sets a flag indicating that this archive needs to filter editor-only content. | Serialization/Archive.h | |
virtual void SetForceUnicode
(
bool bInForceUnicode |
Sets whether this archive wants to force saving as Unicode. | Serialization/Archive.h | |
virtual void SetGameNetVer
(
const uint32 InGameNetVer |
Sets the archive game network version. | Serialization/Archive.h | |
virtual void SetIsLoading
(
bool bInIsLoading |
Sets whether this archive is for loading data. | Serialization/Archive.h | |
virtual void SetIsLoadingFromCookedPackage
(
bool bInIsLoadingFromCookedPackage |
Sets whether the archive is loading from a cooked package. | Serialization/Archive.h | |
virtual void SetIsPersistent
(
bool bInIsPersistent |
Sets whether this archive is to persistent storage. | Serialization/Archive.h | |
virtual void SetIsSaving
(
bool bInIsSaving |
Sets whether this archive is for saving data. | Serialization/Archive.h | |
virtual void SetIsTextFormat
(
bool bInIsTextFormat |
Sets whether this archive is in text format. | Serialization/Archive.h | |
virtual void SetIsTransacting
(
bool bInIsTransacting |
Sets whether this archive is for transacting. | Serialization/Archive.h | |
virtual void SetLicenseeUEVer
(
int32 InVer |
Sets the archive licensee version number. | Serialization/Archive.h | |
virtual void SetLocalizationNamespace
(
const FString& InLocalizationNamespace |
Set the localization namespace that this archive should use when serializing text properties. | Serialization/Archive.h | |
void SetMigratingRemoteObjects
(
bool bMigrating |
If set true, this archive is migrating remote objects | Serialization/Archive.h | |
void SetPortFlags
(
uint32 InPortFlags |
Sets the archive's property serialization modifier flags | Serialization/Archive.h | |
void SetSavePackageData
(
FArchiveSavePackageData* InSavePackageData |
Marks that this archive is one of the archives used by SavePackage, and provides access to data and functions used only during savepackage, such as the cook data bundle for information about the cook being conducted (if applicable) and writing build dependencies for assetregistry. | Serialization/Archive.h | |
virtual void SetSavingOptionalObject
(
bool InSavingOptionalObject |
Set whether or not this archive is current serializing an Optional object | Serialization/Archive.h | |
virtual void SetSerializeContext
(
FUObjectSerializeContext* InLoadContext |
Sets the current UObject serialization context for this archive. | Serialization/Archive.h | |
virtual void SetSerializedProperty
(
FProperty* InProperty |
Overrides the property that is currently being serialized | Serialization/Archive.h | |
virtual void SetSerializedPropertyChain
(
const FArchiveSerializedPropertyChain* InSerializedPropertyChain, |
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) | Serialization/Archive.h | |
void SetShouldSkipCompilingAssets
(
bool Enabled |
Set whether or not it is allowed to skip serialization on assets still being compiled to avoid waiting unless strictly necessary. | Serialization/Archive.h | |
void SetShouldSkipUpdateCustomVersion
(
bool bShouldSkip |
If set true, UsingCurrentVersion will not query the version registry to get the latest version data for the key if the version key is already set in the local container. | Serialization/Archive.h | |
virtual void SetUEVer
(
FPackageFileVersion InVer |
Sets the archive version number. | Serialization/Archive.h | |
virtual void SetUseUnversionedPropertySerialization
(
bool bInUseUnversioned |
Sets whether tagged property serialization should be replaced by faster unversioned serialization. | Serialization/Archive.h | |
virtual void SetWantBinaryPropertySerialization
(
bool bInWantBinaryPropertySerialization |
Sets whether this archive wants binary property serialization. | Serialization/Archive.h | |
bool ShouldSkipBulkData() |
Returns true if this archive should ignore bulk data. | Serialization/Archive.h | |
bool ShouldSkipCompilingAssets() |
Returns true if it is allowed to skip serialization on assets still being compiled to avoid waiting unless strictly necessary. | Serialization/Archive.h | |
virtual bool ShouldSkipProperty
(
const FProperty* InProperty |
Checks whether the archive wants to skip the property independent of the other flags | Serialization/Archive.h | |
bool ShouldSkipUpdateCustomVersion() |
Returns true if this Archive does not update the custom version data for a given key if has already been set previously in the local custom versions container | Serialization/Archive.h | |
virtual int64 Tell () |
Returns the current location within the backing data storage, which can possibly be passed to Seek later to restore a read/write location. | Serialization/Archive.h | |
void ThisContainsCode() |
Sets a flag indicating that this archive contains native or generated code. | Serialization/Archive.h | |
void ThisContainsMap() |
Sets a flag indicating that this archive contains a ULevel or UWorld object. | Serialization/Archive.h | |
void ThisRequiresLocalizationGather() |
Sets a flag indicating that this archive contains data required to be gathered for localization. | Serialization/Archive.h | |
virtual int64 TotalSize() |
Returns total size of the backing data storage. | Serialization/Archive.h | |
FPackageFileVersion UEVer() |
Returns the global engine serialization version used for this archive. | Serialization/Archive.h | |
virtual bool UseToResolveEnumerators() |
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 | Serialization/Archive.h | |
| Returns true if tagged property serialization should be replaced by faster unversioned serialization. | Serialization/Archive.h | ||
bool WantBinaryPropertySerialization() |
Returns true if this archive wants properties to be serialized in binary form instead of safer but slower tagged form. | Serialization/Archive.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void CopyTrivialFArchiveStatusMembers
(
const FArchiveState& ArchiveStatusToCopy |
These will be private in FArchive. | Serialization/Archive.h | |
FString GetBaseLocalizationNamespace() |
See GetLocalizationNamespace | Serialization/Archive.h | |
void SetBaseLocalizationNamespace
(
const FString& InLocalizationNamespace |
See SetLocalizationNamespace | Serialization/Archive.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static void LinkProxy
(
FArchiveState& Inner, |
Serialization/Archive.h | ||
static void UnlinkProxy
(
FArchiveState& Inner, |
Serialization/Archive.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FArchiveState & operator=
(
const FArchiveState& ArchiveToCopy |
Copy assignment operator. | Serialization/Archive.h |