UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
NestedVariant.h File Reference
#include "Containers/Array.h"
#include "Containers/Map.h"
#include "Misc/TVariant.h"
#include "Templates/SharedPointer.h"
#include <type_traits>

Go to the source code of this file.

Classes

class  TVariantArray< ValueTypes >
 
class  TVariantMap< KeyType, ValueTypes >
 
struct  UE::Online::NestedVariant::TRecursionScope< VisitType, MaxDepth >
 
class  TNestedVariantArray< KeyType, ValueTypes >
 
class  TNestedVariantMap< KeyType, ValueTypes >
 
class  TNestedVariant< KeyType, ValueTypes >
 

Namespaces

namespace  UE
 
namespace  UE::Online
 
namespace  UE::Online::NestedVariant
 

Typedefs

template<typename KeyType , typename... ValueTypes>
using TNestedVariantArrayRef = TSharedRef< TNestedVariantArray< KeyType, ValueTypes... > >
 
template<typename KeyType , typename... ValueTypes>
using TNestedVariantArrayPtr = TSharedPtr< TNestedVariantArray< KeyType, ValueTypes... > >
 
template<typename KeyType , typename... ValueTypes>
using TNestedVariantMapRef = TSharedRef< TNestedVariantMap< KeyType, ValueTypes... > >
 
template<typename KeyType , typename... ValueTypes>
using TNestedVariantMapPtr = TSharedPtr< TNestedVariantMap< KeyType, ValueTypes... > >
 
template<typename KeyType , typename... ValueTypes>
using FNestedVariantValue = TVariant< ValueTypes..., TNestedVariantArrayRef< KeyType, ValueTypes... >, TNestedVariantMapRef< KeyType, ValueTypes... > >
 
template<typename VisitType >
using UE::Online::NestedVariant::TGuardType = TSet< VisitType >
 
using UE::Online::NestedVariant::FSingleType = const void *
 
using UE::Online::NestedVariant::FSingleVisit = TGuardType< FSingleType >
 
using UE::Online::NestedVariant::FDualType = TPair< const void *, const void * >
 
using UE::Online::NestedVariant::FDualVisit = TGuardType< FDualType >
 

Functions

FSingleType UE::Online::NestedVariant::MakeID (const void *InID)
 
bool UE::Online::NestedVariant::ContainsID (const FSingleVisit &VisitSet, FSingleType ID)
 
FString UE::Online::NestedVariant::ToString (FSingleType InID)
 
FDualType UE::Online::NestedVariant::MakeID (const void *Left, const void *Right)
 
bool UE::Online::NestedVariant::ContainsID (const FDualVisit &VisitSet, FDualType &ID)
 
FString UE::Online::NestedVariant::ToString (FDualType InPair)
 
template<int32 MaxDepth, typename KeyType , typename... ValueTypes, typename T >
bool UE::Online::NestedVariant::Compare (const T &Lhs, const T &Rhs, FDualVisit &)
 
template<int32 MaxDepth, typename KeyType , typename... ValueTypes>
bool UE::Online::NestedVariant::CompareVariants (const FNestedVariantValue< KeyType, ValueTypes... > &Lhs, const FNestedVariantValue< KeyType, ValueTypes... > &Rhs, FDualVisit &VisitedSet)
 
template<int32 MaxDepth, typename KeyType , typename... ValueTypes>
bool UE::Online::NestedVariant::Compare (const TNestedVariantArray< KeyType, ValueTypes... > &Lhs, const TNestedVariantArray< KeyType, ValueTypes... > &Rhs, FDualVisit &Visited)
 
template<int32 MaxDepth, typename KeyType , typename... ValueTypes>
bool UE::Online::NestedVariant::Compare (const TNestedVariantArrayRef< KeyType, ValueTypes... > &Lhs, const TNestedVariantArrayRef< KeyType, ValueTypes... > &Rhs, FDualVisit &Visited)
 
template<int32 MaxDepth, typename KeyType , typename... ValueTypes>
bool UE::Online::NestedVariant::Compare (const TNestedVariantMap< KeyType, ValueTypes... > &Lhs, const TNestedVariantMap< KeyType, ValueTypes... > &Rhs, FDualVisit &Visited)
 
template<int32 MaxDepth, typename KeyType , typename... ValueTypes>
bool UE::Online::NestedVariant::Compare (const TNestedVariantMapRef< KeyType, ValueTypes... > &Lhs, const TNestedVariantMapRef< KeyType, ValueTypes... > &Rhs, FDualVisit &Visited)
 
void UE::Online::NestedVariant::AppendIndent (FString &OutString, int32 TabDepth)
 
template<int32 MaxDepth, int32 TabOffset, typename KeyType , typename... ValueTypes>
void UE::Online::NestedVariant::AppendArray (const TNestedVariantArray< KeyType, ValueTypes... > &Array, FString &OutString, FSingleVisit &Visited)
 
template<int32 MaxDepth, int32 TabOffset, typename KeyType , typename... ValueTypes>
void UE::Online::NestedVariant::AppendMap (const TNestedVariantMap< KeyType, ValueTypes... > &Map, FString &OutString, FSingleVisit &Visited)
 
template<typename T >
void UE::Online::NestedVariant::AppendValue (FString &OutString, const T &V)
 
void UE::Online::NestedVariant::AppendValue (FString &OutString, const FString &S)
 
void UE::Online::NestedVariant::AppendValue (FString &OutString, double Double, int32 Precision)
 
template<int32 MaxDepth, int32 TabOffset, bool bAfterKey, typename KeyType , typename... ValueTypes>
void UE::Online::NestedVariant::AppendVariant (const FNestedVariantValue< KeyType, ValueTypes... > &Variant, FString &OutString, FSingleVisit &VisitedSet)
 

Typedef Documentation

◆ FNestedVariantValue

template<typename KeyType , typename... ValueTypes>
using FNestedVariantValue = TVariant<ValueTypes..., TNestedVariantArrayRef<KeyType, ValueTypes...>, TNestedVariantMapRef<KeyType, ValueTypes...> >

◆ TNestedVariantArrayPtr

template<typename KeyType , typename... ValueTypes>
using TNestedVariantArrayPtr = TSharedPtr<TNestedVariantArray<KeyType, ValueTypes...> >

◆ TNestedVariantArrayRef

template<typename KeyType , typename... ValueTypes>
using TNestedVariantArrayRef = TSharedRef<TNestedVariantArray<KeyType, ValueTypes...> >

◆ TNestedVariantMapPtr

template<typename KeyType , typename... ValueTypes>
using TNestedVariantMapPtr = TSharedPtr<TNestedVariantMap<KeyType, ValueTypes...> >

◆ TNestedVariantMapRef

template<typename KeyType , typename... ValueTypes>
using TNestedVariantMapRef = TSharedRef<TNestedVariantMap<KeyType, ValueTypes...> >