UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Core::Private::TVariantStorage< Ts > Struct Template Reference

#include <TVariantMeta.h>

Public Member Functions

template<SIZE_T N>
autoGetValueAsIndexedType () &
 
template<SIZE_T N>
auto && GetValueAsIndexedType () &&
 
template<SIZE_T N>
const autoGetValueAsIndexedType () const &
 

Static Public Member Functions

static constexpr SIZE_T MaxOf (const SIZE_T Sizes[])
 
static constexpr SIZE_T MaxSizeof ()
 
static constexpr SIZE_T MaxAlignof ()
 

Public Attributes

TAlignedBytes< SizeofValue, AlignofValueStorage
 
uint8 TypeIndex
 

Static Public Attributes

static constexpr SIZE_T SizeofValue = MaxSizeof()
 
static constexpr SIZE_T AlignofValue = MaxAlignof()
 

Detailed Description

template<typename... Ts>
struct UE::Core::Private::TVariantStorage< Ts >

Determine the max alignof and sizeof of all types in a template parameter pack and provide a type that is compatible with those sizes

Member Function Documentation

◆ GetValueAsIndexedType() [1/3]

template<typename... Ts>
template<SIZE_T N>
auto & UE::Core::Private::TVariantStorage< Ts >::GetValueAsIndexedType ( ) &
inline

Interpret the underlying data as the type in the variant parameter pack at the compile-time index. This function is used to implement Visit and should not be used directly

◆ GetValueAsIndexedType() [2/3]

template<typename... Ts>
template<SIZE_T N>
auto && UE::Core::Private::TVariantStorage< Ts >::GetValueAsIndexedType ( ) &&
inline

Interpret the underlying data as the type in the variant parameter pack at the compile-time index. This function is used to implement Visit and should not be used directly

◆ GetValueAsIndexedType() [3/3]

template<typename... Ts>
template<SIZE_T N>
const auto & UE::Core::Private::TVariantStorage< Ts >::GetValueAsIndexedType ( ) const &
inline

Interpret the underlying data as the type in the variant parameter pack at the compile-time index. This function is used to implement Visit and should not be used directly

◆ MaxAlignof()

template<typename... Ts>
static constexpr SIZE_T UE::Core::Private::TVariantStorage< Ts >::MaxAlignof ( )
inlinestaticconstexpr

◆ MaxOf()

template<typename... Ts>
static constexpr SIZE_T UE::Core::Private::TVariantStorage< Ts >::MaxOf ( const SIZE_T  Sizes[])
inlinestaticconstexpr

◆ MaxSizeof()

template<typename... Ts>
static constexpr SIZE_T UE::Core::Private::TVariantStorage< Ts >::MaxSizeof ( )
inlinestaticconstexpr

Member Data Documentation

◆ AlignofValue

template<typename... Ts>
constexpr SIZE_T UE::Core::Private::TVariantStorage< Ts >::AlignofValue = MaxAlignof()
inlinestaticconstexpr

◆ SizeofValue

template<typename... Ts>
constexpr SIZE_T UE::Core::Private::TVariantStorage< Ts >::SizeofValue = MaxSizeof()
inlinestaticconstexpr

◆ Storage

template<typename... Ts>
TAlignedBytes<SizeofValue, AlignofValue> UE::Core::Private::TVariantStorage< Ts >::Storage

◆ TypeIndex

template<typename... Ts>
uint8 UE::Core::Private::TVariantStorage< Ts >::TypeIndex

Index into the template parameter pack for the type held.


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