UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TPackageWriterToSharedBuffer< BaseClass > Class Template Referenceabstract

#include <PackageWriterToSharedBuffer.h>

+ Inheritance diagram for TPackageWriterToSharedBuffer< BaseClass >:

Public Types

using FWritePackageRecord = FPackageWriterRecords::FWritePackage
 
using FBulkDataRecord = FPackageWriterRecords::FBulkData
 
using FAdditionalFileRecord = FPackageWriterRecords::FAdditionalFile
 
using FLinkerAdditionalDataRecord = FPackageWriterRecords::FLinkerAdditionalData
 
using FPackageTrailerRecord = FPackageWriterRecords::FPackageTrailer
 
using FPackageRecord = FPackageWriterRecords::FPackage
 

Public Member Functions

virtual void BeginPackage (const IPackageWriter::FBeginPackageInfo &Info) override
 
virtual void WritePackageData (const IPackageWriter::FPackageInfo &Info, FLargeMemoryWriter &ExportsArchive, const TArray< FFileRegion > &FileRegions) override
 
virtual void WriteBulkData (const IPackageWriter::FBulkDataInfo &Info, const FIoBuffer &BulkData, const TArray< FFileRegion > &FileRegions) override
 
virtual void WriteAdditionalFile (const IPackageWriter::FAdditionalFileInfo &Info, const FIoBuffer &FileData) override
 
virtual void WriteLinkerAdditionalData (const IPackageWriter::FLinkerAdditionalDataInfo &Info, const FIoBuffer &Data, const TArray< FFileRegion > &FileRegions) override
 
virtual void WritePackageTrailer (const IPackageWriter::FPackageTrailerInfo &Info, const FIoBuffer &Data) override
 
virtual void CommitPackage (IPackageWriter::FCommitPackageInfo &&Info) override
 

Protected Member Functions

virtual void CommitPackageInternal (FPackageRecord &&Record, const IPackageWriter::FCommitPackageInfo &Info)=0
 
virtual FPackageWriterRecords::FPackageConstructRecord ()
 
FPackageRecordFindRecordChecked (FName InPackageName)
 
void ValidateCommit (FPackageRecord &Record, const IPackageWriter::FCommitPackageInfo &Info)
 

Protected Attributes

FPackageWriterRecords Records
 

Detailed Description

template<typename BaseClass>
class TPackageWriterToSharedBuffer< BaseClass >

A base class for IPackageWriter subclasses that writes to records that are read in CommitPackage. To avoid diamond inheritance, this class specifies the base class for the interface it is implementing (either FBasePackageWriter for IPackageWriter or FBaseCookedPackageWriter for ICookedPackageWriter) by template. Subclasses should derive from one of TPackageWriterToSharedBuffer<FBasePackageWriter> TPackageWriterToSharedBuffer<FBaseCookedPackageWriter>.

Member Typedef Documentation

◆ FAdditionalFileRecord

template<typename BaseClass >
using TPackageWriterToSharedBuffer< BaseClass >::FAdditionalFileRecord = FPackageWriterRecords::FAdditionalFile

◆ FBulkDataRecord

template<typename BaseClass >
using TPackageWriterToSharedBuffer< BaseClass >::FBulkDataRecord = FPackageWriterRecords::FBulkData

◆ FLinkerAdditionalDataRecord

template<typename BaseClass >
using TPackageWriterToSharedBuffer< BaseClass >::FLinkerAdditionalDataRecord = FPackageWriterRecords::FLinkerAdditionalData

◆ FPackageRecord

template<typename BaseClass >
using TPackageWriterToSharedBuffer< BaseClass >::FPackageRecord = FPackageWriterRecords::FPackage

◆ FPackageTrailerRecord

template<typename BaseClass >
using TPackageWriterToSharedBuffer< BaseClass >::FPackageTrailerRecord = FPackageWriterRecords::FPackageTrailer

◆ FWritePackageRecord

template<typename BaseClass >
using TPackageWriterToSharedBuffer< BaseClass >::FWritePackageRecord = FPackageWriterRecords::FWritePackage

Member Function Documentation

◆ BeginPackage()

template<typename BaseClass >
virtual void TPackageWriterToSharedBuffer< BaseClass >::BeginPackage ( const IPackageWriter::FBeginPackageInfo Info)
inlineoverridevirtual

◆ CommitPackage()

template<typename BaseClass >
virtual void TPackageWriterToSharedBuffer< BaseClass >::CommitPackage ( IPackageWriter::FCommitPackageInfo &&  Info)
inlineoverridevirtual

◆ CommitPackageInternal()

template<typename BaseClass >
virtual void TPackageWriterToSharedBuffer< BaseClass >::CommitPackageInternal ( FPackageRecord &&  Record,
const IPackageWriter::FCommitPackageInfo Info 
)
protectedpure virtual

Implemented in FPackageWriterToRecord.

◆ ConstructRecord()

template<typename BaseClass >
virtual FPackageWriterRecords::FPackage * TPackageWriterToSharedBuffer< BaseClass >::ConstructRecord ( )
inlineprotectedvirtual

Construct a record for the package, called during BeginPackage. Can be subclass of FPackage.

◆ FindRecordChecked()

template<typename BaseClass >
FPackageRecord & TPackageWriterToSharedBuffer< BaseClass >::FindRecordChecked ( FName  InPackageName)
inlineprotected

Get the Record created by BeginPackage for the given PackageName; assert that it is valid

◆ ValidateCommit()

template<typename BaseClass >
void TPackageWriterToSharedBuffer< BaseClass >::ValidateCommit ( FPackageRecord Record,
const IPackageWriter::FCommitPackageInfo Info 
)
inlineprotected

Verify records from all Write functions are valid, and the required ones are present

◆ WriteAdditionalFile()

template<typename BaseClass >
virtual void TPackageWriterToSharedBuffer< BaseClass >::WriteAdditionalFile ( const IPackageWriter::FAdditionalFileInfo Info,
const FIoBuffer FileData 
)
inlineoverridevirtual

◆ WriteBulkData()

template<typename BaseClass >
virtual void TPackageWriterToSharedBuffer< BaseClass >::WriteBulkData ( const IPackageWriter::FBulkDataInfo Info,
const FIoBuffer BulkData,
const TArray< FFileRegion > &  FileRegions 
)
inlineoverridevirtual

◆ WriteLinkerAdditionalData()

template<typename BaseClass >
virtual void TPackageWriterToSharedBuffer< BaseClass >::WriteLinkerAdditionalData ( const IPackageWriter::FLinkerAdditionalDataInfo Info,
const FIoBuffer Data,
const TArray< FFileRegion > &  FileRegions 
)
inlineoverridevirtual

◆ WritePackageData()

template<typename BaseClass >
virtual void TPackageWriterToSharedBuffer< BaseClass >::WritePackageData ( const IPackageWriter::FPackageInfo Info,
FLargeMemoryWriter ExportsArchive,
const TArray< FFileRegion > &  FileRegions 
)
inlineoverridevirtual

◆ WritePackageTrailer()

template<typename BaseClass >
virtual void TPackageWriterToSharedBuffer< BaseClass >::WritePackageTrailer ( const IPackageWriter::FPackageTrailerInfo Info,
const FIoBuffer Data 
)
inlineoverridevirtual

Member Data Documentation

◆ Records

template<typename BaseClass >
FPackageWriterRecords TPackageWriterToSharedBuffer< BaseClass >::Records
protected

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