UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FPlatformTypeLayoutParameters Struct Reference

#include <MemoryLayout.h>

Public Types

enum  Flags { Flag_Initialized = (1 << 0) , Flag_Is32Bit = (1 << 1) , Flag_AlignBases = (1 << 2) , Flag_WithEditorOnly = (1 << 3) }
 

Public Member Functions

 DECLARE_EXPORTED_TYPE_LAYOUT (FPlatformTypeLayoutParameters, CORE_API, NonVirtual)
 
 LAYOUT_FIELD_INITIALIZED (uint32, MaxFieldAlignment, 0xffffffff)
 
 LAYOUT_FIELD_INITIALIZED (uint32, Flags, 0u)
 
bool IsInitialized () const
 
bool Is32Bit () const
 
bool HasAlignBases () const
 
bool WithEditorOnly () const
 
bool WithCasePreservingFName () const
 
uint32 GetRawPointerSize () const
 
CORE_API bool IsCurrentPlatform () const
 
CORE_API void InitializeForArchive (FArchive &Ar)
 
CORE_API void InitializeForPlatform (const ITargetPlatform *TargetPlatform)
 
CORE_API void InitializeForPlatform (const FString &PlatformName, bool bHasEditorOnlyData)
 
CORE_API void InitializeForCurrent ()
 
CORE_API void InitializeForMSVC ()
 
CORE_API void InitializeForClang ()
 
CORE_API FArchiveSerialize (FArchive &Ar)
 
CORE_API void AppendKeyString (FString &KeyString) const
 
CORE_API void Append (FShaderKeyGenerator &KeyGen) const
 

Friends

FArchiveoperator<< (FArchive &Ar, FPlatformTypeLayoutParameters &Ref)
 
bool operator== (const FPlatformTypeLayoutParameters &Lhs, const FPlatformTypeLayoutParameters &Rhs)
 
bool operator!= (const FPlatformTypeLayoutParameters &Lhs, const FPlatformTypeLayoutParameters &Rhs)
 
void Append (FShaderKeyGenerator &KeyGen, const FPlatformTypeLayoutParameters &Value)
 

Member Enumeration Documentation

◆ Flags

Enumerator
Flag_Initialized 
Flag_Is32Bit 
Flag_AlignBases 
Flag_WithEditorOnly 

Member Function Documentation

◆ Append()

void FPlatformTypeLayoutParameters::Append ( FShaderKeyGenerator KeyGen) const

◆ AppendKeyString()

void FPlatformTypeLayoutParameters::AppendKeyString ( FString &  KeyString) const

Allow the layout parameters to modify the given DDC key string. Since layout parameters are part of e.g. material shadermap ID, they should result in two different DDC entries for two different IDs, even if binary layouts happen to be compatible.

◆ DECLARE_EXPORTED_TYPE_LAYOUT()

FPlatformTypeLayoutParameters::DECLARE_EXPORTED_TYPE_LAYOUT ( FPlatformTypeLayoutParameters  ,
CORE_API  ,
NonVirtual   
)

◆ GetRawPointerSize()

uint32 FPlatformTypeLayoutParameters::GetRawPointerSize ( ) const
inline

◆ HasAlignBases()

bool FPlatformTypeLayoutParameters::HasAlignBases ( ) const
inline

◆ InitializeForArchive()

void FPlatformTypeLayoutParameters::InitializeForArchive ( FArchive Ar)

◆ InitializeForClang()

void FPlatformTypeLayoutParameters::InitializeForClang ( )

◆ InitializeForCurrent()

void FPlatformTypeLayoutParameters::InitializeForCurrent ( )

◆ InitializeForMSVC()

void FPlatformTypeLayoutParameters::InitializeForMSVC ( )

◆ InitializeForPlatform() [1/2]

void FPlatformTypeLayoutParameters::InitializeForPlatform ( const FString &  PlatformName,
bool  bHasEditorOnlyData 
)

◆ InitializeForPlatform() [2/2]

void FPlatformTypeLayoutParameters::InitializeForPlatform ( const ITargetPlatform TargetPlatform)

Initializes for the given platform, or for current platform if TargetPlatform is nullptr

◆ Is32Bit()

bool FPlatformTypeLayoutParameters::Is32Bit ( ) const
inline

◆ IsCurrentPlatform()

bool FPlatformTypeLayoutParameters::IsCurrentPlatform ( ) const

◆ IsInitialized()

bool FPlatformTypeLayoutParameters::IsInitialized ( ) const
inline

◆ LAYOUT_FIELD_INITIALIZED() [1/2]

FPlatformTypeLayoutParameters::LAYOUT_FIELD_INITIALIZED ( uint32  ,
Flags  ,
0u   
)

◆ LAYOUT_FIELD_INITIALIZED() [2/2]

FPlatformTypeLayoutParameters::LAYOUT_FIELD_INITIALIZED ( uint32  ,
MaxFieldAlignment  ,
0xffffffff   
)

◆ Serialize()

FArchive & FPlatformTypeLayoutParameters::Serialize ( FArchive Ar)

This is used for serializing into/from the DDC

◆ WithCasePreservingFName()

bool FPlatformTypeLayoutParameters::WithCasePreservingFName ( ) const
inline

◆ WithEditorOnly()

bool FPlatformTypeLayoutParameters::WithEditorOnly ( ) const
inline

Friends And Related Symbol Documentation

◆ Append

void Append ( FShaderKeyGenerator KeyGen,
const FPlatformTypeLayoutParameters Value 
)
friend

◆ operator!=

bool operator!= ( const FPlatformTypeLayoutParameters Lhs,
const FPlatformTypeLayoutParameters Rhs 
)
friend

◆ operator<<

FArchive & operator<< ( FArchive Ar,
FPlatformTypeLayoutParameters Ref 
)
friend

◆ operator==

bool operator== ( const FPlatformTypeLayoutParameters Lhs,
const FPlatformTypeLayoutParameters Rhs 
)
friend

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