Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
FBitReader Struct Reference

#include <BitReader.h>

+ Inheritance diagram for FBitReader:
+ Collaboration diagram for FBitReader:

Public Member Functions

 FBitReader (uint8 *Src=nullptr, int64 CountBits=0)
 
 FBitReader (const FBitReader &)=default
 
FBitReaderoperator= (const FBitReader &)=default
 
 FBitReader (FBitReader &&)=default
 
FBitReaderoperator= (FBitReader &&)=default
 
void SetData (FBitReader &Src, int64 CountBits)
 
void SetData (uint8 *Src, int64 CountBits)
 
void SetData (TArray< uint8 > &&Src, int64 CountBits)
 
void ResetData (FBitReader &Src, int64 CountBits)
 
FORCEINLINE_DEBUGGABLE void SerializeBits (void *Dest, int64 LengthBits)
 
virtual void SerializeBitsWithOffset (void *Dest, int32 DestBit, int64 LengthBits) override
 
FORCEINLINE_DEBUGGABLE void SerializeInt (uint32 &OutValue, uint32 ValueMax)
 
virtual void SerializeIntPacked (uint32 &Value) override
 
FORCEINLINE_DEBUGGABLE uint32 ReadInt (uint32 Max)
 
FORCEINLINE_DEBUGGABLE uint8 ReadBit ()
 
FORCEINLINE_DEBUGGABLE void Serialize (void *Dest, int64 LengthBytes)
 
FORCEINLINE_DEBUGGABLE uint8GetData ()
 
FORCEINLINE_DEBUGGABLE const uint8GetData () const
 
FORCEINLINE_DEBUGGABLE const TArray< uint8 > & GetBuffer () const
 
FORCEINLINE_DEBUGGABLE uint8GetDataPosChecked ()
 
FORCEINLINE_DEBUGGABLE int64 GetBytesLeft () const
 
FORCEINLINE_DEBUGGABLE int64 GetBitsLeft () const
 
FORCEINLINE_DEBUGGABLE bool AtEnd ()
 
FORCEINLINE_DEBUGGABLE int64 GetNumBytes () const
 
FORCEINLINE_DEBUGGABLE int64 GetNumBits () const
 
FORCEINLINE_DEBUGGABLE int64 GetPosBits () const
 
FORCEINLINE_DEBUGGABLE void EatByteAlign ()
 
void SetOverflowed (int64 LengthBits)
 
void SetAtEnd ()
 
void AppendDataFromChecked (FBitReader &Src)
 
void AppendDataFromChecked (uint8 *Src, uint32 NumBits)
 
void AppendTo (TArray< uint8 > &Buffer)
 
virtual void CountMemory (FArchive &Ar) const
 
- Public Member Functions inherited from FBitArchive
 FBitArchive ()
 
- Public Member Functions inherited from FArchive
 FArchive ()=default
 
 FArchive (const FArchive &)=default
 
FArchiveoperator= (const FArchive &ArchiveToCopy)=default
 
 ~FArchive ()=default
 
virtual FArchiveoperator<< (FName &Value)
 
virtual FArchiveoperator<< (FText &Value)
 
virtual FArchiveoperator<< (UObject *&Value)
 
virtual FArchiveoperator<< (FField *&Value)
 
template<class T >
FORCEINLINE FArchiveoperator<< (TCheckedObjPtr< T > &Value)
 
virtual FArchiveoperator<< (struct FLazyObjectPtr &Value)
 
virtual FArchiveoperator<< (struct FObjectPtr &Value)
 
virtual FArchiveoperator<< (struct FSoftObjectPtr &Value)
 
virtual FArchiveoperator<< (struct FSoftObjectPath &Value)
 
virtual FArchiveoperator<< (struct FWeakObjectPtr &Value)
 
virtual void ForceBlueprintFinalization ()
 
virtual void Preload (UObject *Object)
 
FArchiveStateGetArchiveState ()
 
const FArchiveStateGetArchiveState () const
 
virtual void Seek (int64 InPos)
 
virtual void AttachBulkData (UObject *Owner, FBulkData *BulkData)
 
virtual void AttachBulkData (UE::Serialization::FEditorBulkData *BulkData)
 
virtual void DetachBulkData (FBulkData *BulkData, bool bEnsureBulkDataIsLoaded)
 
virtual void DetachBulkData (UE::Serialization::FEditorBulkData *BulkData, bool bEnsureBulkDataIsLoaded)
 
virtual bool SerializeBulkData (FBulkData &BulkData, const struct FBulkDataSerializationParams &Params)
 
virtual bool IsProxyOf (FArchive *InOther) const
 
virtual bool Precache (int64 PrecacheOffset, int64 PrecacheSize)
 
virtual void FlushCache ()
 
virtual bool SetCompressionMap (TArray< struct FCompressedChunk > *CompressedChunks, ECompressionFlags CompressionFlags)
 
virtual void Flush ()
 
virtual bool Close ()
 
void SerializeCompressed (void *V, int64 Length, FName CompressionFormatCannotChange, ECompressionFlags Flags=COMPRESS_NoFlags, bool bTreatBufferAsFileReader=false)
 
void SerializeCompressedNew (void *V, int64 Length, FName CompressionFormatToEncode, FName CompressionFormatToDecodeOldV1Files, ECompressionFlags Flags=COMPRESS_NoFlags, bool bTreatBufferAsFileReader=false, int64 *OutPartialReadLength=nullptr)
 
void SerializeCompressedNew (void *V, int64 Length)
 
void ByteSwap (void *V, int32 Length)
 
FORCEINLINE FArchiveByteOrderSerialize (void *V, int32 Length)
 
void StartSerializingDefaults ()
 
void StopSerializingDefaults ()
 
virtual void MarkScriptSerializationStart (const UObject *Obj)
 
virtual void MarkScriptSerializationEnd (const UObject *Obj)
 
virtual void MarkSearchableName (const UObject *TypeObject, const FName &ValueName) const
 
template<typename FmtType , typename... Types>
void Logf (const FmtType &Fmt, Types... Args)
 
virtual void UsingCustomVersion (const struct FGuid &Guid)
 
virtual FArchiveGetCacheableArchive ()
 
virtual void PushSerializedProperty (struct FProperty *InProperty, const bool bIsEditorOnlyProperty)
 
virtual void PopSerializedProperty (struct FProperty *InProperty, const bool bIsEditorOnlyProperty)
 
virtual bool AttachExternalReadDependency (FExternalReadCallback &ReadCallback)
 
template<SIZE_T Size>
FORCEINLINE bool FastPathLoad (void *InDest)
 
virtual void PushFileRegionType (EFileRegionType Type)
 
virtual void PopFileRegionType ()
 
void SetArchiveState (const FArchiveState &InState)
 
void SetError ()
 
void ClearError ()
 
virtual FArchiveStateGetInnermostState ()
 
virtual void CountBytes (SIZE_T InNum, SIZE_T InMax)
 
virtual FString GetArchiveName () const
 
virtual FLinkerGetLinker ()
 
virtual int64 Tell ()
 
virtual int64 TotalSize ()
 
FORCEINLINE bool IsByteSwapping ()
 
void ThisContainsCode ()
 
void ThisContainsMap ()
 
void ThisRequiresLocalizationGather ()
 
virtual UObjectGetArchetypeFromLoader (const UObject *Obj)
 
FORCEINLINE FPackageFileVersion UEVer () const
 
FORCEINLINE int32 UE4Ver () const
 
FORCEINLINE int32 LicenseeUEVer () 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
 
FORCEINLINE bool GetError () const
 
FORCEINLINE bool IsError () 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
 
FORCEINLINE const ITargetPlatformCookingTarget () const
 
void SetCookData (FArchiveCookData *InCookData)
 
FArchiveCookDataGetCookData ()
 
FORCEINLINE FArchiveCookContextGetCookContext ()
 
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)
 
virtual void SetEngineVer (const FEngineVersionBase &InVer)
 
virtual void SetEngineNetVer (const uint32 InEngineNetVer)
 
virtual void SetGameNetVer (const uint32 InGameNetVer)
 
FORCEINLINE bool ShouldSkipCompilingAssets () const
 

Protected Member Functions

void SetNetVersionsFromArchive (FArchive &Source)
 
- Protected Member Functions inherited from FArchive
void SetShouldSkipCompilingAssets (bool Enabled)
 

Protected Attributes

TArray< uint8Buffer
 
int64 Num
 
int64 Pos
 

Private Member Functions

FORCEINLINE uint8 Shift (uint8 Cnt)
 

Friends

struct FBitReaderMark
 

Additional Inherited Members

- Public Attributes inherited from FArchive
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
 
- Static Protected Member Functions inherited from FArchive
static void LinkProxy (FArchiveState &Inner, FArchiveState &Proxy)
 
static void UnlinkProxy (FArchiveState &Inner, FArchiveState &Proxy)
 

Detailed Description

Definition at line 24 of file BitReader.h.

Constructor & Destructor Documentation

◆ FBitReader() [1/3]

FBitReader::FBitReader ( uint8 * Src = nullptr,
int64 CountBits = 0 )

◆ FBitReader() [2/3]

FBitReader::FBitReader ( const FBitReader & )
default

◆ FBitReader() [3/3]

FBitReader::FBitReader ( FBitReader && )
default

Member Function Documentation

◆ AppendDataFromChecked() [1/2]

void FBitReader::AppendDataFromChecked ( FBitReader & Src)

◆ AppendDataFromChecked() [2/2]

void FBitReader::AppendDataFromChecked ( uint8 * Src,
uint32 NumBits )

◆ AppendTo()

void FBitReader::AppendTo ( TArray< uint8 > & Buffer)

◆ AtEnd()

FORCEINLINE_DEBUGGABLE bool FBitReader::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 from FArchive.

Definition at line 180 of file BitReader.h.

+ Here is the call graph for this function:

◆ CountMemory()

virtual void FBitReader::CountMemory ( FArchive & Ar) const
virtual

Counts the in-memory bytes used by this object

◆ EatByteAlign()

FORCEINLINE_DEBUGGABLE void FBitReader::EatByteAlign ( )
inline

Definition at line 196 of file BitReader.h.

+ Here is the call graph for this function:

◆ GetBitsLeft()

FORCEINLINE_DEBUGGABLE int64 FBitReader::GetBitsLeft ( ) const
inline

Definition at line 176 of file BitReader.h.

◆ GetBuffer()

FORCEINLINE_DEBUGGABLE const TArray< uint8 > & FBitReader::GetBuffer ( ) const
inline

Definition at line 161 of file BitReader.h.

◆ GetBytesLeft()

FORCEINLINE_DEBUGGABLE int64 FBitReader::GetBytesLeft ( ) const
inline

Definition at line 172 of file BitReader.h.

◆ GetData() [1/2]

FORCEINLINE_DEBUGGABLE uint8 * FBitReader::GetData ( )
inline

Definition at line 151 of file BitReader.h.

◆ GetData() [2/2]

FORCEINLINE_DEBUGGABLE const uint8 * FBitReader::GetData ( ) const
inline

Definition at line 156 of file BitReader.h.

◆ GetDataPosChecked()

FORCEINLINE_DEBUGGABLE uint8 * FBitReader::GetDataPosChecked ( )
inline

Definition at line 166 of file BitReader.h.

◆ GetNumBits()

FORCEINLINE_DEBUGGABLE int64 FBitReader::GetNumBits ( ) const
inline

Definition at line 188 of file BitReader.h.

◆ GetNumBytes()

FORCEINLINE_DEBUGGABLE int64 FBitReader::GetNumBytes ( ) const
inline

Definition at line 184 of file BitReader.h.

◆ GetPosBits()

FORCEINLINE_DEBUGGABLE int64 FBitReader::GetPosBits ( ) const
inline

Definition at line 192 of file BitReader.h.

◆ operator=() [1/2]

FBitReader & FBitReader::operator= ( const FBitReader & )
default

◆ operator=() [2/2]

FBitReader & FBitReader::operator= ( FBitReader && )
default

◆ ReadBit()

FORCEINLINE_DEBUGGABLE uint8 FBitReader::ReadBit ( )
inline

Definition at line 124 of file BitReader.h.

+ Here is the call graph for this function:

◆ ReadInt()

FORCEINLINE_DEBUGGABLE uint32 FBitReader::ReadInt ( uint32 Max)
inline

Definition at line 115 of file BitReader.h.

+ Here is the call graph for this function:

◆ ResetData()

void FBitReader::ResetData ( FBitReader & Src,
int64 CountBits )

Equivalent to SetData (reset position, copy from Src into internal buffer), but uses Reset not Empty to avoid a realloc if possible.

◆ Serialize()

FORCEINLINE_DEBUGGABLE void FBitReader::Serialize ( void * Dest,
int64 LengthBytes )
inlinevirtual

Reimplemented from FArchive.

Definition at line 146 of file BitReader.h.

+ Here is the call graph for this function:

◆ SerializeBits()

FORCEINLINE_DEBUGGABLE void FBitReader::SerializeBits ( void * Dest,
int64 LengthBits )
inlinevirtual

Reimplemented from FArchive.

Definition at line 47 of file BitReader.h.

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

◆ SerializeBitsWithOffset()

virtual void FBitReader::SerializeBitsWithOffset ( void * Dest,
int32 DestBit,
int64 LengthBits )
overridevirtual

◆ SerializeInt()

FORCEINLINE_DEBUGGABLE void FBitReader::SerializeInt ( uint32 & OutValue,
uint32 ValueMax )
inlinevirtual

Reimplemented from FArchive.

Definition at line 84 of file BitReader.h.

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

◆ SerializeIntPacked()

virtual void FBitReader::SerializeIntPacked ( uint32 & Value)
overridevirtual

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

Reimplemented from FArchive.

◆ SetAtEnd()

void FBitReader::SetAtEnd ( )
inline

Set the stream at the end

Definition at line 218 of file BitReader.h.

◆ SetData() [1/3]

void FBitReader::SetData ( FBitReader & Src,
int64 CountBits )

◆ SetData() [2/3]

void FBitReader::SetData ( TArray< uint8 > && Src,
int64 CountBits )

◆ SetData() [3/3]

void FBitReader::SetData ( uint8 * Src,
int64 CountBits )

◆ SetNetVersionsFromArchive()

void FBitReader::SetNetVersionsFromArchive ( FArchive & Source)
protected

Copies version information used for network compatibility from Source to this archive

◆ SetOverflowed()

void FBitReader::SetOverflowed ( int64 LengthBits)

Marks this bit reader as overflowed.

Parameters
LengthBitsThe number of bits being read at the time of overflow
+ Here is the caller graph for this function:

◆ Shift()

FORCEINLINE uint8 FBitReader::Shift ( uint8 Cnt)
inlineprivate

Definition at line 238 of file BitReader.h.

Friends And Related Symbol Documentation

◆ FBitReaderMark

Definition at line 26 of file BitReader.h.

Member Data Documentation

◆ Buffer

TArray<uint8> FBitReader::Buffer
protected

Definition at line 229 of file BitReader.h.

◆ Num

int64 FBitReader::Num
protected

Definition at line 230 of file BitReader.h.

◆ Pos

int64 FBitReader::Pos
protected

Definition at line 231 of file BitReader.h.


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