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

#include <SharedStruct.h>

Public Member Functions

 GENERATED_BODY ()
 
 FConstSharedStruct ()=default
 
 FConstSharedStruct (const FConstSharedStruct &Other)=default
 
 FConstSharedStruct (const FSharedStruct &SharedStruct)
 
 FConstSharedStruct (FConstSharedStruct &&Other)=default
 
 FConstSharedStruct (FSharedStruct &&SharedStruct)
 
FConstSharedStructoperator= (const FConstSharedStruct &Other)=default
 
FConstSharedStructoperator= (const FSharedStruct &SharedStruct)
 
FConstSharedStructoperator= (FConstSharedStruct &&Other)=default
 
FConstSharedStructoperator= (FSharedStruct &&InSharedStruct)
 
UE_API bool Identical (const FConstSharedStruct *Other, uint32 PortFlags) const
 
UE_API void AddStructReferencedObjects (class FReferenceCollector &Collector)
 
const UScriptStructGetScriptStruct () const
 
TObjectPtr< const UScriptStruct > * GetScriptStructPtr ()
 
const uint8GetMemory () const
 
void Reset ()
 
template<typename T >
void InitializeAs ()
 
template<typename T >
void InitializeAs (const T &Struct)
 
void InitializeAs (const UScriptStruct *InScriptStruct, const uint8 *InStructMemory=nullptr)
 
template<typename T , typename... TArgs>
void InitializeAs (TArgs &&... InArgs)
 
template<typename T >
requires (std::is_const_v<T>)
constexpr T & Get () const
 
template<typename T >
requires (std::is_const_v<T>)
constexpr T * GetPtr () const
 
bool IsValid () const
 
template<typename OtherType >
bool operator== (const OtherType &Other) const
 
template<typename OtherType >
bool operator!= (const OtherType &Other) const
 
template<typename OtherType >
bool CompareStructValues (const OtherType &Other, uint32 PortFlags=0) const
 

Static Public Member Functions

template<typename T >
static FConstSharedStruct Make ()
 
template<typename T >
static FConstSharedStruct Make (const T &Struct)
 
static FConstSharedStruct Make (const UScriptStruct *InScriptStruct, const uint8 *InStructMemory=nullptr)
 
template<typename T , typename... TArgs>
static FConstSharedStruct Make (TArgs &&... InArgs)
 

Protected Attributes

TSharedPtr< const FStructSharedMemoryStructMemoryPtr
 

Detailed Description

FConstSharedStruct is the same as the FSharedStruct but restricts the API to return a const struct type.

A 'const FConstSharedStruct' cannot be made to point at another instance of a struct, whilst a vanilla FConstSharedStruct can. In either case, the struct data is immutable.

See FSharedStruct for more information.

Constructor & Destructor Documentation

◆ FConstSharedStruct() [1/5]

FConstSharedStruct::FConstSharedStruct ( )
default

◆ FConstSharedStruct() [2/5]

FConstSharedStruct::FConstSharedStruct ( const FConstSharedStruct Other)
default

◆ FConstSharedStruct() [3/5]

FConstSharedStruct::FConstSharedStruct ( const FSharedStruct SharedStruct)
inline

◆ FConstSharedStruct() [4/5]

FConstSharedStruct::FConstSharedStruct ( FConstSharedStruct &&  Other)
default

◆ FConstSharedStruct() [5/5]

FConstSharedStruct::FConstSharedStruct ( FSharedStruct &&  SharedStruct)
inline

Member Function Documentation

◆ AddStructReferencedObjects()

void FConstSharedStruct::AddStructReferencedObjects ( class FReferenceCollector Collector)

◆ CompareStructValues()

template<typename OtherType >
bool FConstSharedStruct::CompareStructValues ( const OtherType Other,
uint32  PortFlags = 0 
) const
inline

Determines whether Other contains the same values as this

Returns
whether the values stored are equal

◆ GENERATED_BODY()

FConstSharedStruct::GENERATED_BODY ( )

◆ Get()

template<typename T >
requires (std::is_const_v<T>)
constexpr T & FConstSharedStruct::Get ( ) const
inlineconstexpr

Returns const reference to the struct, this getter assumes that all data is valid.

◆ GetMemory()

const uint8 * FConstSharedStruct::GetMemory ( ) const
inline

Returns const pointer to struct memory.

◆ GetPtr()

template<typename T >
requires (std::is_const_v<T>)
constexpr T * FConstSharedStruct::GetPtr ( ) const
inlineconstexpr

Returns const pointer to the struct, or nullptr if cast is not valid.

◆ GetScriptStruct()

const UScriptStruct * FConstSharedStruct::GetScriptStruct ( ) const
inline

Returns struct type.

◆ GetScriptStructPtr()

TObjectPtr< const UScriptStruct > * FConstSharedStruct::GetScriptStructPtr ( )
inline

◆ Identical()

bool FConstSharedStruct::Identical ( const FConstSharedStruct Other,
uint32  PortFlags 
) const

For StructOpsTypeTraits

◆ InitializeAs() [1/4]

template<typename T >
void FConstSharedStruct::InitializeAs ( )
inline

Initializes from a templated struct type.

◆ InitializeAs() [2/4]

template<typename T >
void FConstSharedStruct::InitializeAs ( const T &  Struct)
inline

Initializes from other related struct types. This will create a new instance of the shared struct memory.

◆ InitializeAs() [3/4]

void FConstSharedStruct::InitializeAs ( const UScriptStruct InScriptStruct,
const uint8 InStructMemory = nullptr 
)
inline

Initializes from a struct type and optional data. This will create a new instance of the shared struct memory.

◆ InitializeAs() [4/4]

template<typename T , typename... TArgs>
void FConstSharedStruct::InitializeAs ( TArgs &&...  InArgs)
inline

Initializes from struct type and emplace args. This will create a new instance of the shared struct memory.

◆ IsValid()

bool FConstSharedStruct::IsValid ( ) const
inline

Returns True if the struct is valid.

◆ Make() [1/4]

template<typename T >
static FConstSharedStruct FConstSharedStruct::Make ( )
inlinestatic

Creates a new FSharedStruct from a templated struct type. This will create a new instance of the shared struct memory.

◆ Make() [2/4]

template<typename T >
static FConstSharedStruct FConstSharedStruct::Make ( const T &  Struct)
inlinestatic

Creates a new FSharedStruct from templated struct instance. This will create a new instance of the shared struct memory.

◆ Make() [3/4]

static FConstSharedStruct FConstSharedStruct::Make ( const UScriptStruct InScriptStruct,
const uint8 InStructMemory = nullptr 
)
inlinestatic

Creates a new FSharedStruct from a struct type and optional data. This will create a new instance of the shared struct memory.

◆ Make() [4/4]

template<typename T , typename... TArgs>
static FConstSharedStruct FConstSharedStruct::Make ( TArgs &&...  InArgs)
inlinestatic

Creates a new FSharedStruct from the templated type and forward all arguments to constructor. This will create a new instance of the shared struct memory.

◆ operator!=()

template<typename OtherType >
bool FConstSharedStruct::operator!= ( const OtherType Other) const
inline

◆ operator=() [1/4]

FConstSharedStruct & FConstSharedStruct::operator= ( const FConstSharedStruct Other)
default

◆ operator=() [2/4]

FConstSharedStruct & FConstSharedStruct::operator= ( const FSharedStruct SharedStruct)
inline

◆ operator=() [3/4]

FConstSharedStruct & FConstSharedStruct::operator= ( FConstSharedStruct &&  Other)
default

◆ operator=() [4/4]

FConstSharedStruct & FConstSharedStruct::operator= ( FSharedStruct &&  InSharedStruct)
inline

◆ operator==()

template<typename OtherType >
bool FConstSharedStruct::operator== ( const OtherType Other) const
inline

Comparison operators. Note: it does not compare the internal structure itself

◆ Reset()

void FConstSharedStruct::Reset ( )
inline

Reset to empty.

Member Data Documentation

◆ StructMemoryPtr

TSharedPtr<const FStructSharedMemory> FConstSharedStruct::StructMemoryPtr
protected

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