FArchiveProxy

Base class for archive proxies.

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

Core

Header

/Engine/Source/Runtime/Core/Public/Serialization/ArchiveProxy.h

Include

#include "Serialization/ArchiveProxy.h"

Syntax

class FArchiveProxy : public FArchive

Remarks

Base class for archive proxies.

Archive proxies are archive types that modify the behavior of another archive type.

Variables

Name Description

Protected variable

FArchive &

 

InnerArchive

Holds the archive that this archive is a proxy to.

Constructors

Name Description

Public function

FArchiveProxy

(
    FArchive& InInnerArchive
)

Creates and initializes a new instance of the archive proxy.

Public function

FArchiveProxy

(
    FArchiveProxy&&
)

Non-copyable.

Public function

FArchiveProxy

(
    const FArchiveProxy&
)

Destructors

Name Description

Public function

~FArchiveProxy()

Overridden from FArchive

Name Description

Public function Virtual

void

 

AttachBulkData

(
    UObject* Owner,
    FUntypedBulkData* BulkData
)

Attaches/ associates the passed in bulk data object with the linker.

Public function Virtual

bool

 

AttachExternalReadDependency

(
    FExternalReadCallback& ReadCallbac...
)

Adds external read dependency

Public function Virtual

bool

 

Close()

Attempts to close and finalize any handles used for backing data storage, returns true if it succeeded.

Public function Virtual

void

 

DetachBulkData

(
    FUntypedBulkData* BulkData,
    bool bEnsureBulkDataIsLoaded
)

Detaches the passed in bulk data object from the linker.

Public function Virtual

void

 

Flush()

Attempts to finish writing any buffered data to disk/permanent storage.

Public function Virtual

void

 

FlushCache()

Flushes cache and frees internal data.

Public function Virtual

void

 

ForceBlueprintFinalization()

Inform the archive that a blueprint would like to force finalization, normally this is triggered by CDO load, but if there's no CDO we force finalization.

Public function Virtual

FArchive ...

 

GetCacheableArchive()

Returns a pointer to an archive that represents the same data that the current archive covers, but that can be cached and reused later In the case of standard archives, this function will just return a pointer to itself.

Public function Virtual Const

bool

 

IsProxyOf

(
    FArchive* InOther
)

Determine if the given archive is a valid "child" of this archive.

Public function Virtual

void

 

MarkScriptSerializationEnd

(
    const UObject* Obj
)

Called when an object stops serializing property data using script serialization.

Public function Virtual

void

 

MarkScriptSerializationStart

(
    const UObject* Obj
)

Called when an object begins serializing property data using script serialization.

Public function Virtual Const

void

 

MarkSearchableName

(
    const UObject* TypeObject,
    const FName& ValueName
)

Called to register a reference to a specific name value, of type TypeObject (UEnum or UStruct normally).

Public function Virtual

void

 

PopDebugDataString()

Public function Virtual

void

 

PopSerializedProperty

(
    FProperty* InProperty,
    const bool bIsEditorOnlyProperty
)

Pops editor-only marker from the stack of currently serialized properties

Public function Virtual

bool

 

Precache

(
    int64 PrecacheOffset,
    int64 PrecacheSize
)

Hint the archive that the region starting at passed in offset and spanning the passed in size is going to be read soon and should be precached.

Public function Virtual

void

 

Preload

(
    UObject* Object
)

Tells the archive to attempt to preload the specified object so data can be loaded out of it.

Public function Virtual

void

 

PushDebugDataString

(
    const FName& DebugData
)

Debug stack storage if you want to add data to the archive for usage further down the serialization stack this should be used in conjunction with the FScopeAddDebugData struct

Public function Virtual

void

 

PushSerializedProperty

(
    FProperty* InProperty,
    const bool bIsEditorOnlyProperty
)

Pushes editor-only marker to the stack of currently serialized properties

Public function Virtual

void

 

Seek

(
    int64 InPos
)

Attempts to set the current offset into backing data storage, this will do nothing if there is no storage.

Public function Virtual

void

 

Serialize

(
    void* V,
    int64 Length
)

Public function Virtual

void

 

SerializeBits

(
    void* Bits,
    int64 LengthBits
)

Public function Virtual

void

 

SerializeInt

(
    uint32& Value,
    uint32 Max
)

Public function Virtual

void

 

SerializeIntPacked

(
    uint32& Value
)

Packs int value into bytes of 7 bits with 8th bit for 'more'

Public function Virtual

bool

 

SetCompressionMap

(
    TArray< FCompressedChunk >* Co...,
    ECompressionFlags CompressionFlags
)

Sets mapping from offsets/ sizes that are going to be used for seeking and serialization to what is actually stored on disk.

Overridden from FArchiveState

Name Description

Public function 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.

Public function Virtual

void

 

CountBytes

(
    SIZE_T InNum,
    SIZE_T InMax
)

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

Public function Virtual

UObject *...

 

GetArchetypeFromLoader

(
    const UObject* Obj
)

Called to retrieve the archetype from the event driven loader.

Public function Virtual Const

FString

 

GetArchiveName()

Returns the name of the Archive.

Public function Virtual Const

const FCusto...

 

GetCustomVersions()

Gets the custom version numbers for this archive.

Public function Virtual

::FArchiveSt...

 

GetInnermostState()

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

Public function Virtual

FLinker *...

 

GetLinker()

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

Public function Virtual Const

FString

 

GetLocalizationNamespace()

Get the localization namespace that this archive should use when serializing text properties.

Public function Virtual Const

bool

 

IsEditorOnlyPropertyOnTheStack()

Returns true if the stack of currently serialized properties contains an editor-only property

Public function Virtual

void

 

ResetCustomVersions()

Resets the custom version numbers for this archive.

Public function Virtual

void

 

SetCustomVersions

(
    const FCustomVersionContainer& Cus...
)

Sets the custom version numbers for this archive.

Public function Virtual

void

 

SetFilterEditorOnly

(
    bool InFilterEditorOnly
)

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

Public function Virtual

void

 

SetLocalizationNamespace

(
    const FString& InLocalizationNames...
)

Set the localization namespace that this archive should use when serializing text properties.

Public function Virtual

void

 

SetSerializedProperty

(
    FProperty* InProperty
)

Overrides the property that is currently being serialized @note You likely want to call PushSerializedProperty/PopSerializedProperty instead

Public function Virtual

void

 

SetSerializedPropertyChain

(
    const FArchiveSerializedPropertyCha...,
    FProperty* InSerializedPropert...
)

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)

Public function Virtual Const

bool

 

ShouldSkipProperty

(
    const FProperty* InProperty
)

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

Public function 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.

Public function Virtual

int64

 

TotalSize()

Returns total size of the backing data storage.

Public function Virtual Const

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

Operators

Name Description

Public function Virtual

FArchive &

 

operator<<

(
    FField*& Value
)

Serializes a Field value from or into this archive.

Public function Virtual

FArchive &

 

operator<<

(
    FWeakObjectPtr& Value
)

Serializes FWeakObjectPtr value from or into this archive.

Public function Virtual

FArchive &

 

operator<<

(
    FSoftObjectPtr& Value
)

Serializes asset pointer from or into this archive.

Public function Virtual

FArchive &

 

operator<<

(
    FSoftObjectPath& Value
)

Serializes soft object paths from or into this archive.

Public function Virtual

FArchive &

 

operator<<

(
    FLazyObjectPtr& Value
)

Serializes a lazy object pointer value from or into this archive.

Public function Virtual

FArchive &

 

operator<<

(
    FObjectPtr& Value
)

Serializes a wrapped object pointer value from or into this archive.

Public function Virtual

FArchive &

 

operator<<

(
    UObject*& Value
)

Serializes an UObject value from or into this archive.

Public function Virtual

FArchive &

 

operator<<

(
    FText& Value
)

Serializes an FText value from or into an archive.

Public function Virtual

FArchive &

 

operator<<

(
    FName& Value
)

Serializes an FName value from or into this archive.

Public function

FArchiveProx...

 

operator=

(
    const FArchiveProxy&
)

Public function

FArchiveProx...

 

operator=

(
    FArchiveProxy&&
)