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

#include <SharedStruct.h>

Classes

struct  FStructSharedMemoryDeleter
 

Public Member Functions

 ~FStructSharedMemory ()
 
 FStructSharedMemory (const FStructSharedMemory &Other)=delete
 
 FStructSharedMemory (const FStructSharedMemory &&Other)=delete
 
FStructSharedMemoryoperator= (const FStructSharedMemory &Other)=delete
 
FStructSharedMemoryoperator= (const FStructSharedMemory &&Other)=delete
 
const uint8GetMemory () const
 
uint8GetMutableMemory ()
 
const UScriptStructGetScriptStruct () const
 
TObjectPtr< const UScriptStruct > & GetScriptStructPtr ()
 

Static Public Member Functions

static TSharedPtr< FStructSharedMemoryCreate (const UScriptStruct *InScriptStruct, const uint8 *InStructMemory=nullptr)
 
static TSharedPtr< FStructSharedMemoryCreate (const UScriptStruct &InScriptStruct, const uint8 *InStructMemory=nullptr)
 
template<typename T , typename... TArgs>
static TSharedPtr< FStructSharedMemoryCreateArgs (TArgs &&... InArgs)
 

Detailed Description

Holds the information and memory about a UStruct. Instances of these are shared using FConstSharedStruct and FSharedStruct.

The size of the allocation for this struct always includes both the size of the struct and also the size required to hold the structure described by the ScriptStruct. This avoids two pointer referencing (cache misses). Look at Create() to understand more.

A 'const FStructSharedMemory' the memory is immutable. We restrict shallow copies of StructMemory where it's not appropriate in the owning types that compose this type:

This type is designed to be used in composition and should not be used outside the types that compose it.

Constructor & Destructor Documentation

◆ ~FStructSharedMemory()

FStructSharedMemory::~FStructSharedMemory ( )
inline

◆ FStructSharedMemory() [1/2]

FStructSharedMemory::FStructSharedMemory ( const FStructSharedMemory Other)
delete

◆ FStructSharedMemory() [2/2]

FStructSharedMemory::FStructSharedMemory ( const FStructSharedMemory &&  Other)
delete

Member Function Documentation

◆ Create() [1/2]

static TSharedPtr< FStructSharedMemory > FStructSharedMemory::Create ( const UScriptStruct InScriptStruct,
const uint8 InStructMemory = nullptr 
)
inlinestatic

◆ Create() [2/2]

static TSharedPtr< FStructSharedMemory > FStructSharedMemory::Create ( const UScriptStruct InScriptStruct,
const uint8 InStructMemory = nullptr 
)
inlinestatic

◆ CreateArgs()

template<typename T , typename... TArgs>
static TSharedPtr< FStructSharedMemory > FStructSharedMemory::CreateArgs ( TArgs &&...  InArgs)
inlinestatic

◆ GetMemory()

const uint8 * FStructSharedMemory::GetMemory ( ) const
inline

Returns pointer to aligned struct memory.

◆ GetMutableMemory()

uint8 * FStructSharedMemory::GetMutableMemory ( )
inline

Returns mutable pointer to aligned struct memory.

◆ GetScriptStruct()

const UScriptStruct & FStructSharedMemory::GetScriptStruct ( ) const
inline

Returns struct type.

◆ GetScriptStructPtr()

TObjectPtr< const UScriptStruct > & FStructSharedMemory::GetScriptStructPtr ( )
inline

◆ operator=() [1/2]

FStructSharedMemory & FStructSharedMemory::operator= ( const FStructSharedMemory &&  Other)
delete

◆ operator=() [2/2]

FStructSharedMemory & FStructSharedMemory::operator= ( const FStructSharedMemory Other)
delete

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