UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Core::Private::TPtrVariantBase< BaseType, bIsStrong > Struct Template Reference

#include <PointerVariants.h>

Classes

struct  FObjectPtrWrapper
 

Public Types

using SharedType = std::conditional_t< bIsStrong, TSharedPtr< BaseType >, TWeakPtr< BaseType > >
 

Public Member Functions

constexpr TPtrVariantBase ()=default
 
constexpr TPtrVariantBase (TYPE_OF_NULLPTR)
 
template<typename DerivedType UE_REQUIRES>
constexpr TPtrVariantBase (DerivedType *InDerived)
 
TPtrVariantBaseoperator= (TYPE_OF_NULLPTR)
 
bool IsValid () const
 
void Reset ()
 

Friends

struct TWeakPtrVariant< BaseType >
 
struct TStrongPtrVariant< BaseType >
 
template<typename LhsType , bool bLhsStrength, typename RhsType , bool bRhsStrength UE_REQUIRES_FRIEND>
bool operator== (const TPtrVariantBase< LhsType, bLhsStrength > &Lhs, const TPtrVariantBase< RhsType, bRhsStrength > &Rhs)
 
template<typename LhsType , typename RhsType , bool bRhsStrength UE_REQUIRES_FRIEND>
bool operator== (LhsType *Lhs, const TPtrVariantBase< RhsType, bRhsStrength > &Rhs)
 
template<typename LhsType , bool bLhsStrength, typename RhsType UE_REQUIRES_FRIEND>
bool operator== (const TPtrVariantBase< LhsType, bLhsStrength > &Lhs, RhsType *Rhs)
 

Member Typedef Documentation

◆ SharedType

template<typename BaseType , bool bIsStrong>
using UE::Core::Private::TPtrVariantBase< BaseType, bIsStrong >::SharedType = std::conditional_t<bIsStrong, TSharedPtr<BaseType>, TWeakPtr<BaseType> >

Constructor & Destructor Documentation

◆ TPtrVariantBase() [1/3]

template<typename BaseType , bool bIsStrong>
constexpr UE::Core::Private::TPtrVariantBase< BaseType, bIsStrong >::TPtrVariantBase ( )
constexprdefault

◆ TPtrVariantBase() [2/3]

template<typename BaseType , bool bIsStrong>
constexpr UE::Core::Private::TPtrVariantBase< BaseType, bIsStrong >::TPtrVariantBase ( TYPE_OF_NULLPTR  )
inlineconstexpr

◆ TPtrVariantBase() [3/3]

template<typename BaseType , bool bIsStrong>
template<typename DerivedType UE_REQUIRES>
constexpr UE::Core::Private::TPtrVariantBase< BaseType, bIsStrong >::TPtrVariantBase ( DerivedType *  InDerived)
inlineconstexpr

Member Function Documentation

◆ IsValid()

template<typename BaseType , bool bIsStrong>
bool UE::Core::Private::TPtrVariantBase< BaseType, bIsStrong >::IsValid ( ) const
inline

◆ operator=()

template<typename BaseType , bool bIsStrong>
TPtrVariantBase & UE::Core::Private::TPtrVariantBase< BaseType, bIsStrong >::operator= ( TYPE_OF_NULLPTR  )
inline

◆ Reset()

template<typename BaseType , bool bIsStrong>
void UE::Core::Private::TPtrVariantBase< BaseType, bIsStrong >::Reset ( )
inline

Friends And Related Symbol Documentation

◆ operator== [1/3]

template<typename BaseType , bool bIsStrong>
template<typename LhsType , bool bLhsStrength, typename RhsType , bool bRhsStrength UE_REQUIRES_FRIEND>
bool operator== ( const TPtrVariantBase< LhsType, bLhsStrength > &  Lhs,
const TPtrVariantBase< RhsType, bRhsStrength > &  Rhs 
)
friend

◆ operator== [2/3]

template<typename BaseType , bool bIsStrong>
template<typename LhsType , bool bLhsStrength, typename RhsType UE_REQUIRES_FRIEND>
bool operator== ( const TPtrVariantBase< LhsType, bLhsStrength > &  Lhs,
RhsType Rhs 
)
friend

◆ operator== [3/3]

template<typename BaseType , bool bIsStrong>
template<typename LhsType , typename RhsType , bool bRhsStrength UE_REQUIRES_FRIEND>
bool operator== ( LhsType Lhs,
const TPtrVariantBase< RhsType, bRhsStrength > &  Rhs 
)
friend

◆ TStrongPtrVariant< BaseType >

template<typename BaseType , bool bIsStrong>
friend struct TStrongPtrVariant< BaseType >
friend

◆ TWeakPtrVariant< BaseType >

template<typename BaseType , bool bIsStrong>
friend struct TWeakPtrVariant< BaseType >
friend

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