UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FLinkerTables Class Reference

#include <Linker.h>

+ Inheritance diagram for FLinkerTables:

Public Member Functions

FObjectResourceImpExp (FPackageIndex Index)
 
FObjectResource const & ImpExp (FPackageIndex Index) const
 
FObjectResourceImpExpPtr (FPackageIndex Index)
 
FObjectImportImp (FPackageIndex Index)
 
FObjectImport const & Imp (FPackageIndex Index) const
 
FObjectImportImpPtr (FPackageIndex Index)
 
FObjectExportExp (FPackageIndex Index)
 
FObjectExport const & Exp (FPackageIndex Index) const
 
FObjectExportExpPtr (FPackageIndex Index)
 
COREUOBJECT_API void SerializeSearchableNamesMap (FArchive &Ar)
 
COREUOBJECT_API void SerializeSearchableNamesMap (FStructuredArchive::FSlot Slot)
 
COREUOBJECT_API FString GetImportPathName (int32 ImportIndex)
 
FString GetImportPathName (FPackageIndex PackageIndex)
 
COREUOBJECT_API FString GetExportPathName (const FString &RootPackagePath, int32 ExportIndex, bool bResolveForcedExports=false)
 
COREUOBJECT_API FString GetImportFullName (int32 ImportIndex)
 
FString GetImportFullName (FPackageIndex PackageIndex)
 
COREUOBJECT_API FString GetExportFullName (const FString &RootPackagePath, int32 ExportIndex, bool bResolveForcedExports=false)
 
FPackageIndex ResourceGetOutermost (FPackageIndex LinkerIndex) const
 
bool ResourceIsIn (FPackageIndex LinkerIndex, FPackageIndex OuterIndex) const
 
bool DoResourcesShareOutermost (FPackageIndex LinkerIndexLHS, FPackageIndex LinkerIndexRHS) const
 
bool ImportIsInAnyExport (int32 ImportIndex) const
 
bool AnyExportIsInImport (int32 ImportIndex) const
 
bool AnyExportShareOuterWithImport (int32 ImportIndex) const
 
COREUOBJECT_API FName GetExportClassName (int32 ExportIdx)
 
FName GetExportClassName (FPackageIndex PackageIndex)
 
FName GetImportClassName (int32 ImportIdx)
 
FName GetImportClassName (FPackageIndex PackageIndex)
 
FName GetClassName (FPackageIndex PackageIndex)
 
COREUOBJECT_API SIZE_T GetAllocatedSize () const
 

Public Attributes

TArray< FObjectImportImportMap
 
TArray< FObjectExportExportMap
 
TArray< FCellImportCellImportMap
 
TArray< FCellExportCellExportMap
 
TArray< TArray< FPackageIndex > > DependsMap
 
TArray< FNameSoftPackageReferenceList
 
TMap< FPackageIndex, TArray< FName > > SearchableNamesMap
 

Member Function Documentation

◆ AnyExportIsInImport()

bool FLinkerTables::AnyExportIsInImport ( int32  ImportIndex) const

Return if any export is in the import

Parameters
ImportIndexthe import to verify
Returns
true if the import is in any export outer chain

◆ AnyExportShareOuterWithImport()

bool FLinkerTables::AnyExportShareOuterWithImport ( int32  ImportIndex) const

Return if any export share an outer with the import

Parameters
ImportIndexthe import to verify @reutrn true if any export share the same outer has the import

◆ DoResourcesShareOutermost()

bool FLinkerTables::DoResourcesShareOutermost ( FPackageIndex  LinkerIndexLHS,
FPackageIndex  LinkerIndexRHS 
) const

Return if two resources share the same outermost

Parameters
LinkerIndexLHSthe package index of the first resource
LinkerIndexRHSthe package index of the second resource
Returns
true if they share an outer

◆ Exp() [1/2]

FObjectExport & FLinkerTables::Exp ( FPackageIndex  Index)
inline

Check that this Index is non-null and an export and return an import

Parameters
IndexPackage index to get, must be an export
Returns
the export corresponding to this index

◆ Exp() [2/2]

FObjectExport const & FLinkerTables::Exp ( FPackageIndex  Index) const
inline

◆ ExpPtr()

FObjectExport * FLinkerTables::ExpPtr ( FPackageIndex  Index)
inline

Return an export for this index

Parameters
IndexPackage index to get
Returns
the export corresponding to this index, or NULL if the package index is null or an import

◆ GetAllocatedSize()

SIZE_T FLinkerTables::GetAllocatedSize ( ) const

Returns the amount of memory allocated by this container, not including sizeof(*this).

◆ GetClassName()

FName FLinkerTables::GetClassName ( FPackageIndex  PackageIndex)
inline

Gets the class name for the specified PackageIndex.

Parameters
RootPackagePathName of the root package these linker tables represent
PackageIndexPackageIndex for the entry in the linker tables (import or export)
Returns
Class name of the export at specified PackageIndex if the PackageIndex is non-null. Otherwise NAME_None

◆ GetExportClassName() [1/2]

FName FLinkerTables::GetExportClassName ( FPackageIndex  PackageIndex)
inline

Gets the class name for the specified index in the export map.

Parameters
PackageIndexPackageIndex that represents the export index
Returns
Class name of the export at specified PackageIndex if the PackageIndex represents an export. Otherwise NAME_None

◆ GetExportClassName() [2/2]

FName FLinkerTables::GetExportClassName ( int32  ExportIdx)

Gets the class name for the specified index in the export map.

Parameters
ExportIdxExport index
Returns
Class name of the export at specified index

◆ GetExportFullName()

FString FLinkerTables::GetExportFullName ( const FString &  RootPackagePath,
int32  ExportIndex,
bool  bResolveForcedExports = false 
)

Return the full name of the UObject represented by the specified export.

Parameters
RootPackagePathName of the root package for this export
ExportIndexindex into the ExportMap for the resource to get the name for
bResolveForcedExportsif true, the package name part of the return value will be the export's original package, not the name of the package it's currently contained within.
Returns
the full name of the UObject represented by the resource at ExportIndex

◆ GetExportPathName()

FString FLinkerTables::GetExportPathName ( const FString &  RootPackagePath,
int32  ExportIndex,
bool  bResolveForcedExports = false 
)

Return the path name of the UObject represented by the specified export. (can be used with StaticFindObject)

Parameters
RootPackagePathName of the root package for this export
ExportIndexindex into the ExportMap for the resource to get the name for
bResolveForcedExportsif true, the package name part of the return value will be the export's original package, not the name of the package it's currently contained within.
Returns
the path name of the UObject represented by the resource at ExportIndex

Return the path name of the UObject represented by the specified export. (can be used with StaticFindObject)

Parameters
RootPackagePathName of the root package for this export
ExportIndexindex into the ExportMap for the resource to get the name for
bResolveForcedExportsif true, the package name part of the return value will be the export's original package, not the name of the package it's currently contained within.
Returns
the path name of the UObject represented by the resource at ExportIndex

◆ GetImportClassName() [1/2]

FName FLinkerTables::GetImportClassName ( FPackageIndex  PackageIndex)
inline

Gets the class name for the specified index in the import map.

Parameters
ImportIdxImport PackageIndex
Returns
Class name of the import at specified PackageIndex if the PackageIndex represents an import. Otherwise NAME_None

◆ GetImportClassName() [2/2]

FName FLinkerTables::GetImportClassName ( int32  ImportIdx)
inline

Gets the class name for the specified index in the import map.

Parameters
ImportIdxImport index
Returns
Class name of the import at specified index

◆ GetImportFullName() [1/2]

FString FLinkerTables::GetImportFullName ( FPackageIndex  PackageIndex)
inline

Return the full name of the UObject represented by the specified package index

Parameters
PackageIndexpackage index for the resource to get the name for
Returns
the full name of the UObject represented by the resource at PackageIndex

◆ GetImportFullName() [2/2]

FString FLinkerTables::GetImportFullName ( int32  ImportIndex)

Return the full name of the UObject represented by the specified import.

Parameters
ImportIndexindex into the ImportMap for the resource to get the name for
Returns
the full name of the UObject represented by the resource at ImportIndex

◆ GetImportPathName() [1/2]

FString FLinkerTables::GetImportPathName ( FPackageIndex  PackageIndex)
inline

Return the path name of the UObject represented by the specified import. (can be used with StaticFindObject)

Parameters
PackageIndexpackage index for the resource to get the name for
Returns
the path name of the UObject represented by the resource at PackageIndex, or the empty string if this isn't an import

◆ GetImportPathName() [2/2]

FString FLinkerTables::GetImportPathName ( int32  ImportIndex)

Return the path name of the UObject represented by the specified import. (can be used with StaticFindObject)

Parameters
ImportIndexindex into the ImportMap for the resource to get the name for
Returns
the path name of the UObject represented by the resource at ImportIndex

◆ Imp() [1/2]

FObjectImport & FLinkerTables::Imp ( FPackageIndex  Index)
inline

Check that this Index is non-null and an import and return an import

Parameters
IndexPackage index to get, must be an import
Returns
the import corresponding to this index

◆ Imp() [2/2]

FObjectImport const & FLinkerTables::Imp ( FPackageIndex  Index) const
inline

◆ ImpExp() [1/2]

FObjectResource & FLinkerTables::ImpExp ( FPackageIndex  Index)
inline

Check that this Index is non-null and return an import or export

Parameters
IndexPackage index to get
Returns
the resource corresponding to this index

◆ ImpExp() [2/2]

FObjectResource const & FLinkerTables::ImpExp ( FPackageIndex  Index) const
inline

Check that this Index is non-null and return an import or export

Parameters
IndexPackage index to get
Returns
the resource corresponding to this index

◆ ImpExpPtr()

FObjectResource * FLinkerTables::ImpExpPtr ( FPackageIndex  Index)
inline

Return an import or export for this index

Parameters
IndexPackage index to get
Returns
the resource corresponding to this index, or NULL if the package index is null

◆ ImportIsInAnyExport()

bool FLinkerTables::ImportIsInAnyExport ( int32  ImportIndex) const

Return if the import is in any export

Parameters
ImportIndexthe import to verify
Returns
true if an export is in the import outer chain

◆ ImpPtr()

FObjectImport * FLinkerTables::ImpPtr ( FPackageIndex  Index)
inline

Return an import for this index

Parameters
IndexPackage index to get
Returns
the import corresponding to this index, or NULL if the package index is null or an export

◆ ResourceGetOutermost()

FPackageIndex FLinkerTables::ResourceGetOutermost ( FPackageIndex  LinkerIndex) const

Return the outermost resource package index of the resource pointed by LinkerIndex

Parameters
LinkerIndexthe resource to find the outermost of
Returns
the package index of the outermost

◆ ResourceIsIn()

bool FLinkerTables::ResourceIsIn ( FPackageIndex  LinkerIndex,
FPackageIndex  OuterIndex 
) const

Return if a resource has the specified other resource in its outer chain

Parameters
LinkerIndexthe package index of the resource to verify
OuterIndexthe package index of the possible outer for the resource
Returns
true if the resource pointed by LinkerIndex is in the resource pointed by OuterIndex

◆ SerializeSearchableNamesMap() [1/2]

void FLinkerTables::SerializeSearchableNamesMap ( FArchive Ar)

Serializes the searchable name map

◆ SerializeSearchableNamesMap() [2/2]

void FLinkerTables::SerializeSearchableNamesMap ( FStructuredArchive::FSlot  Slot)

Member Data Documentation

◆ CellExportMap

TArray<FCellExport> FLinkerTables::CellExportMap

The list of FCellExports found in the package

◆ CellImportMap

TArray<FCellImport> FLinkerTables::CellImportMap

The list of FCellImports found in the package

◆ DependsMap

TArray<TArray<FPackageIndex> > FLinkerTables::DependsMap

List of dependency lists for each export

◆ ExportMap

TArray<FObjectExport> FLinkerTables::ExportMap

The list of FObjectExports found in the package

◆ ImportMap

TArray<FObjectImport> FLinkerTables::ImportMap

The list of FObjectImports found in the package

◆ SearchableNamesMap

TMap<FPackageIndex, TArray<FName> > FLinkerTables::SearchableNamesMap

List of Searchable Names, by object containing them. Not in MultiMap to allow sorting, and sizes are usually small enough where TArray makes sense

◆ SoftPackageReferenceList

TArray<FName> FLinkerTables::SoftPackageReferenceList

List of packages that are soft referenced by this package


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