UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TVariantMeta.h File Reference

Go to the source code of this file.

Classes

struct  UE::Core::Private::TAlwaysFArchive< T >
 
struct  UE::Core::Private::TTypePackContainsDuplicates< T >
 
struct  UE::Core::Private::TTypePackContainsDuplicates< T, T, Ts... >
 
struct  UE::Core::Private::TTypePackContainsDuplicates< T, U, Rest... >
 
struct  UE::Core::Private::TContainsReferenceType< Ts >
 
struct  UE::Core::Private::TVariantStorage< Ts >
 
struct  UE::Core::Private::TParameterPackTypeIndexHelper< N, LookupType, Ts >
 
struct  UE::Core::Private::TParameterPackTypeIndexHelper< N, T, T, Ts... >
 
struct  UE::Core::Private::TParameterPackTypeIndexHelper< N, LookupType, T, Ts... >
 
struct  UE::Core::Private::TParameterPackTypeIndex< LookupType, Ts >
 
struct  UE::Core::Private::TDestructorCaller< T >
 
struct  UE::Core::Private::TDestructorLookup< Ts >
 
struct  UE::Core::Private::TCopyConstructorCaller< T >
 
struct  UE::Core::Private::TCopyConstructorLookup< Ts >
 
struct  UE::Core::Private::TMoveConstructorCaller< T >
 
struct  UE::Core::Private::TMoveConstructorLookup< Ts >
 
struct  UE::Core::Private::TVariantLoadFromArchiveCaller< T, VariantType >
 
struct  UE::Core::Private::TVariantLoadFromArchiveLookup< Ts >
 
struct  UE::Core::Private::TIsType< LookupType, Ts >
 
struct  UE::Core::Private::TWrapper< InvokeFn, VariantIndices >
 
struct  UE::Core::Private::TDestructibleVariantStorage< T, Ts >
 

Namespaces

namespace  UE
 
namespace  UE::Core
 
namespace  UE::Core::Private
 implementation
 

Functions

template<typename T >
struct UE_DEPRECATED (5.4, "TIsVariant<T> has been deprecated, please use TIsVariant_V<std::remove_reference_t<T>> instead") TIsVariant
 
template<typename T >
struct UE_DEPRECATED (5.4, "TVariantSize<T> has been deprecated, please use TVariantSize_V<std::remove_reference_t<T>> instead") TVariantSize
 
template<typename T >
SIZE_T UE::Core::Private::EncodeIndices (const T &Variant)
 
template<typename Variant0 , typename... Variants>
SIZE_T UE::Core::Private::EncodeIndices (const Variant0 &First, const Variants &... Rest)
 
constexpr SIZE_T UE::Core::Private::DecodeIndex (SIZE_T EncodedIndex, SIZE_T VariantIndex, const SIZE_T *VariantSizes)
 
template<typename... Ts>
UE_FORCEINLINE_HINT TVariantStorage< Ts... > & UE::Core::Private::CastToStorage (TVariant< Ts... > &Variant)
 
template<typename... Ts>
UE_FORCEINLINE_HINT TVariantStorage< Ts... > && UE::Core::Private::CastToStorage (TVariant< Ts... > &&Variant)
 
template<typename... Ts>
UE_FORCEINLINE_HINT const TVariantStorage< Ts... > & UE::Core::Private::CastToStorage (const TVariant< Ts... > &Variant)
 
template<SIZE_T EncodedIndex, SIZE_T... VariantIndices, typename Func , typename... Variants>
decltype(autoUE::Core::Private::VisitApplyEncoded (Func &&Callable, Variants &&... Args)
 
template<typename Func , SIZE_T... EncodedIndices, SIZE_T... VariantIndices, typename... Variants>
decltype(autoUE::Core::Private::VisitImpl (SIZE_T EncodedIndex, Func &&Callable, TIntegerSequence< SIZE_T, EncodedIndices... > &&, TIntegerSequence< SIZE_T, VariantIndices... > &&VariantIndicesSeq, Variants &&... Args)
 

Variables

template<typename T >
constexpr bool TIsVariant_V = false
 
template<typename... Ts>
constexpr bool TIsVariant_V< TVariant< Ts... > > = true
 
template<typename T >
constexpr bool TIsVariant_V< const T > = TIsVariant_V<T>
 
template<typename T >
constexpr bool TIsVariant_V< volatile T > = TIsVariant_V<T>
 
template<typename T >
constexpr bool TIsVariant_V< const volatile T > = TIsVariant_V<T>
 
template<typename >
constexpr SIZE_T TVariantSize_V = 0
 
template<typename... Ts>
constexpr SIZE_T TVariantSize_V< TVariant< Ts... > > = sizeof...(Ts)
 
template<typename T >
constexpr SIZE_T TVariantSize_V< const T > = TVariantSize_V<T>
 
template<typename T >
constexpr SIZE_T TVariantSize_V< volatile T > = TVariantSize_V<T>
 
template<typename T >
constexpr SIZE_T TVariantSize_V< const volatile T > = TVariantSize_V<T>
 

Function Documentation

◆ UE_DEPRECATED() [1/2]

template<typename T >
struct UE_DEPRECATED ( 5.  4,
"TIsVariant<T> has been  deprecated,
please use TIsVariant_V< std::remove_reference_t< T > > instead"   
)

◆ UE_DEPRECATED() [2/2]

template<typename T >
struct UE_DEPRECATED ( 5.  4,
"TVariantSize<T> has been  deprecated,
please use TVariantSize_V< std::remove_reference_t< T > > instead"   
)

Variable Documentation

◆ TIsVariant_V

template<typename T >
constexpr bool TIsVariant_V = false
constexpr

Determine if a type is a variant

◆ TIsVariant_V< const T >

template<typename T >
constexpr bool TIsVariant_V< const T > = TIsVariant_V<T>
constexpr

◆ TIsVariant_V< const volatile T >

template<typename T >
constexpr bool TIsVariant_V< const volatile T > = TIsVariant_V<T>
constexpr

◆ TIsVariant_V< TVariant< Ts... > >

template<typename... Ts>
constexpr bool TIsVariant_V< TVariant< Ts... > > = true
constexpr

◆ TIsVariant_V< volatile T >

template<typename T >
constexpr bool TIsVariant_V< volatile T > = TIsVariant_V<T>
constexpr

◆ TVariantSize_V

template<typename >
constexpr SIZE_T TVariantSize_V = 0
constexpr

Determine the number of types in a TVariant

◆ TVariantSize_V< const T >

template<typename T >
constexpr SIZE_T TVariantSize_V< const T > = TVariantSize_V<T>
constexpr

◆ TVariantSize_V< const volatile T >

template<typename T >
constexpr SIZE_T TVariantSize_V< const volatile T > = TVariantSize_V<T>
constexpr

◆ TVariantSize_V< TVariant< Ts... > >

template<typename... Ts>
constexpr SIZE_T TVariantSize_V< TVariant< Ts... > > = sizeof...(Ts)
constexpr

◆ TVariantSize_V< volatile T >

template<typename T >
constexpr SIZE_T TVariantSize_V< volatile T > = TVariantSize_V<T>
constexpr