UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TConstSharedStruct< BaseStructT > Struct Template Reference

#include <SharedStruct.h>

Public Member Functions

 TConstSharedStruct ()=default
 
template<typename T = BaseStructT>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
 TConstSharedStruct (const TConstSharedStruct< T > &Other)
 
template<typename T = BaseStructT>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
 TConstSharedStruct (const TSharedStruct< T > &ConstSharedStruct)
 
template<typename T = BaseStructT>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
 TConstSharedStruct (TConstSharedStruct< T > &&Other)
 
template<typename T = BaseStructT>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
 TConstSharedStruct (TSharedStruct< T > &&ConstSharedStruct)
 
template<typename T = BaseStructT>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
TConstSharedStructoperator= (const TConstSharedStruct< T > &Other)
 
template<typename T = BaseStructT>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
TConstSharedStructoperator= (const TSharedStruct< T > &SharedStruct)
 
const uint8GetMemory () const
 
void Reset ()
 
void Initialize ()
 
template<typename T = BaseStructT>
requires ( std::is_base_of_v<BaseStructT, std::decay_t<T>> && !(std::is_same_v<TStructView<T>, T> || std::is_same_v<TConstStructView<T>, T> || std::is_same_v<TSharedStruct<T>, T> || std::is_same_v<TConstSharedStruct<T>, T> || std::is_same_v<TInstancedStruct<T>, T>))
void Initialize (const T &Struct)
 
template<typename T = BaseStructT, typename... TArgs>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
void Initialize (TArgs &&... InArgs)
 
template<typename T = BaseStructT>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
constexpr const T & Get () const
 
template<typename T = BaseStructT>
requires (std::is_const_v<T> && std::is_base_of_v<BaseStructT, std::decay_t<T>>)
constexpr T & Get () const
 
template<typename T = BaseStructT>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
constexpr const T * GetPtr () const
 
template<typename T = BaseStructT>
requires (std::is_const_v<T> && std::is_base_of_v<BaseStructT, std::decay_t<T>>)
constexpr T * GetPtr () const
 
bool IsValid () const
 
template<typename T = BaseStructT>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
bool operator== (const T &Other) const
 
template<typename T = BaseStructT>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
bool operator!= (const T &Other) const
 

Static Public Member Functions

template<typename T = BaseStructT>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
static TConstSharedStruct Make ()
 
template<typename T = BaseStructT>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
static TConstSharedStruct Make (const T &Struct)
 
template<typename T = BaseStructT>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
static TConstSharedStruct Make (const uint8 *InStructMemory=nullptr)
 
template<typename T = BaseStructT, typename... TArgs>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
static TConstSharedStruct Make (TArgs &&... InArgs)
 

Friends

template<typename U >
struct TConstSharedStruct
 

Detailed Description

template<typename BaseStructT>
struct TConstSharedStruct< BaseStructT >

TConstSharedStruct is a type-safe FConstSharedStruct wrapper against the given BaseStruct type.

Note
When used as a property, this automatically defines the BaseStruct property meta-data.

Example:

TConstSharedStruct<FTestStructBase> Test;

TArray<TConstSharedStruct<FTestStructBase>> TestArray;

Constructor & Destructor Documentation

◆ TConstSharedStruct() [1/5]

◆ TConstSharedStruct() [2/5]

template<typename BaseStructT >
template<typename T = BaseStructT>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
TConstSharedStruct< BaseStructT >::TConstSharedStruct ( const TConstSharedStruct< T > &  Other)
inline

◆ TConstSharedStruct() [3/5]

template<typename BaseStructT >
template<typename T = BaseStructT>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
TConstSharedStruct< BaseStructT >::TConstSharedStruct ( const TSharedStruct< T > &  ConstSharedStruct)
inline

◆ TConstSharedStruct() [4/5]

template<typename BaseStructT >
template<typename T = BaseStructT>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
TConstSharedStruct< BaseStructT >::TConstSharedStruct ( TConstSharedStruct< T > &&  Other)
inline

◆ TConstSharedStruct() [5/5]

template<typename BaseStructT >
template<typename T = BaseStructT>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
TConstSharedStruct< BaseStructT >::TConstSharedStruct ( TSharedStruct< T > &&  ConstSharedStruct)
inline

Member Function Documentation

◆ Get() [1/2]

template<typename BaseStructT >
template<typename T = BaseStructT>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
constexpr const T & TConstSharedStruct< BaseStructT >::Get ( ) const
inlineconstexpr

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

◆ Get() [2/2]

template<typename BaseStructT >
template<typename T = BaseStructT>
requires (std::is_const_v<T> && std::is_base_of_v<BaseStructT, std::decay_t<T>>)
constexpr T & TConstSharedStruct< BaseStructT >::Get ( ) const
inlineconstexpr

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

◆ GetMemory()

template<typename BaseStructT >
const uint8 * TConstSharedStruct< BaseStructT >::GetMemory ( ) const
inline

Returns const pointer to struct memory.

◆ GetPtr() [1/2]

template<typename BaseStructT >
template<typename T = BaseStructT>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
constexpr const T * TConstSharedStruct< BaseStructT >::GetPtr ( ) const
inlineconstexpr

Returns const pointer to the struct.

◆ GetPtr() [2/2]

template<typename BaseStructT >
template<typename T = BaseStructT>
requires (std::is_const_v<T> && std::is_base_of_v<BaseStructT, std::decay_t<T>>)
constexpr T * TConstSharedStruct< BaseStructT >::GetPtr ( ) const
inlineconstexpr

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

◆ Initialize() [1/3]

template<typename BaseStructT >
void TConstSharedStruct< BaseStructT >::Initialize ( )
inline

Initializes from a templated struct type.

◆ Initialize() [2/3]

template<typename BaseStructT >
template<typename T = BaseStructT>
requires ( std::is_base_of_v<BaseStructT, std::decay_t<T>> && !(std::is_same_v<TStructView<T>, T> || std::is_same_v<TConstStructView<T>, T> || std::is_same_v<TSharedStruct<T>, T> || std::is_same_v<TConstSharedStruct<T>, T> || std::is_same_v<TInstancedStruct<T>, T>))
void TConstSharedStruct< BaseStructT >::Initialize ( const T &  Struct)
inline

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

◆ Initialize() [3/3]

template<typename BaseStructT >
template<typename T = BaseStructT, typename... TArgs>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
void TConstSharedStruct< BaseStructT >::Initialize ( TArgs &&...  InArgs)
inline

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

◆ IsValid()

template<typename BaseStructT >
bool TConstSharedStruct< BaseStructT >::IsValid ( ) const
inline

Returns True if the struct is valid.

◆ Make() [1/4]

template<typename BaseStructT >
template<typename T = BaseStructT>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
static TConstSharedStruct TConstSharedStruct< BaseStructT >::Make ( )
inlinestatic

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

◆ Make() [2/4]

template<typename BaseStructT >
template<typename T = BaseStructT>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
static TConstSharedStruct TConstSharedStruct< BaseStructT >::Make ( const T &  Struct)
inlinestatic

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

◆ Make() [3/4]

template<typename BaseStructT >
template<typename T = BaseStructT>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
static TConstSharedStruct TConstSharedStruct< BaseStructT >::Make ( const uint8 InStructMemory = nullptr)
inlinestatic

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

◆ Make() [4/4]

template<typename BaseStructT >
template<typename T = BaseStructT, typename... TArgs>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
static TConstSharedStruct TConstSharedStruct< BaseStructT >::Make ( TArgs &&...  InArgs)
inlinestatic

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

◆ operator!=()

template<typename BaseStructT >
template<typename T = BaseStructT>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
bool TConstSharedStruct< BaseStructT >::operator!= ( const T &  Other) const
inline

◆ operator=() [1/2]

template<typename BaseStructT >
template<typename T = BaseStructT>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
TConstSharedStruct & TConstSharedStruct< BaseStructT >::operator= ( const TConstSharedStruct< T > &  Other)
inline

◆ operator=() [2/2]

template<typename BaseStructT >
template<typename T = BaseStructT>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
TConstSharedStruct & TConstSharedStruct< BaseStructT >::operator= ( const TSharedStruct< T > &  SharedStruct)
inline

◆ operator==()

template<typename BaseStructT >
template<typename T = BaseStructT>
requires (std::is_base_of_v<BaseStructT, std::decay_t<T>>)
bool TConstSharedStruct< BaseStructT >::operator== ( const T &  Other) const
inline

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

◆ Reset()

template<typename BaseStructT >
void TConstSharedStruct< BaseStructT >::Reset ( )
inline

Reset to empty.

Friends And Related Symbol Documentation

◆ TConstSharedStruct

template<typename BaseStructT >
template<typename U >
friend struct TConstSharedStruct
friend

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