UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
uLang::CTupleType Class Reference

#include <SemanticTypes.h>

+ Inheritance diagram for uLang::CTupleType:

Public Types

using ElementArray = TArrayG< const CTypeBase *, TInlineElementAllocator< 4 > >
 

Public Member Functions

 CTupleType (CSemanticProgram &Program, ElementArray &&Elements, int32_t FirstNamedIndex)
 
ULANG_FORCEINLINE bool TryMarkVisited (VisitStampType VisitStamp) const
 
ULANG_FORCEINLINE int32_t Num () const
 
const CTypeBaseoperator[] (int32_t Index) const
 
const ElementArrayGetElements () const
 
UE_API ElementArray ElementsWithSortedNames () const
 
UE_API const CNamedTypeFindNamedType (CSymbol Name) const
 
int32_t GetFirstNamedIndex () const
 
int32_t NumNonNamedElements () const
 
virtual UE_API CUTF8String AsCodeRecursive (ETypeSyntaxPrecedence OuterPrecedence, TArray< const CFlowType * > &VisitedFlowTypes, bool bLinkable, ETypeStringFlag Flag) const override
 
virtual UE_API CUTF8String AsParamsCode (ETypeSyntaxPrecedence OuterPrecedence, TArray< const CFlowType * > &VisitedFlowTypes, bool WithColon, ETypeStringFlag Flag) const override
 
UE_API CUTF8String AsParamsCode (ETypeSyntaxPrecedence OuterPrecedence, TArray< const CFlowType * > &VisitedFlowTypes, bool WithColon, bool bLinkable, ETypeStringFlag Flag) const
 
virtual bool CanBeCustomAccessorDataType () const override
 
virtual UE_API EComparability GetComparability () const override
 
virtual UE_API bool IsPersistable () const override
 
virtual bool IsExplicitlyCastable () const override
 
virtual bool IsExplicitlyConcrete () const override
 
- Public Member Functions inherited from uLang::CNormalType
 CNormalType (ETypeKind Kind, CSemanticProgram &Program)
 
ETypeKind GetKind () const
 
template<typename TType >
TType & AsChecked ()
 
template<typename TType >
TType const & AsChecked () const
 
template<typename TType >
bool IsA () const
 
template<typename TType >
TType * AsNullable ()
 
template<typename TType >
TType const * AsNullable () const
 
virtual const CTypeBaseGetReferenceValueType () const
 
virtual const CTypeBaseGetInnerType () const
 
virtual const CNominalTypeAsNominalType () const
 
UE_API SmallDefinitionArray FindInstanceMember (const CSymbol &MemberName, EMemberOrigin Origin, const SQualifier &Qualifier, const CAstPackage *ContextPackage=nullptr) const
 
virtual SmallDefinitionArray FindInstanceMember (const CSymbol &MemberName, EMemberOrigin Origin, const SQualifier &Qualifier, const CAstPackage *ContextPackage, VisitStampType VisitStamp) const
 
UE_API SmallDefinitionArray FindTypeMember (const CSymbol &MemberName, EMemberOrigin Origin, const SQualifier &Qualifier) const
 
virtual SmallDefinitionArray FindTypeMember (const CSymbol &MemberName, EMemberOrigin Origin, const SQualifier &Qualifier, VisitStampType VisitStamp) const
 
virtual const CNormalTypeGetNormalType () const override
 
- Public Member Functions inherited from uLang::CTypeBase
 CTypeBase (CSemanticProgram &Program)
 
virtual ~CTypeBase ()
 
CSemanticProgramGetProgram () const
 
virtual CNamedTypeAsNamedType ()
 
virtual const CNamedTypeAsNamedType () const
 
virtual CFlowTypeAsFlowType ()
 
virtual const CFlowTypeAsFlowType () const
 
virtual const CAliasTypeAsAliasType () const
 
virtual bool CanBePredictsVarDataType () const
 
CUTF8String AsCode (ETypeSyntaxPrecedence OuterPrecedence=ETypeSyntaxPrecedence::Min, ETypeStringFlag Flag=ETypeStringFlag::Simple) const
 
CUTF8String AsParamsCode (ETypeSyntaxPrecedence OuterPrecedence=ETypeSyntaxPrecedence::Min, ETypeStringFlag Flag=ETypeStringFlag::Simple) const
 
CUTF8String AsLinkableCode () const
 

Static Public Attributes

static const ETypeKind StaticTypeKind = ETypeKind::Tuple
 

Member Typedef Documentation

◆ ElementArray

Constructor & Destructor Documentation

◆ CTupleType()

uLang::CTupleType::CTupleType ( CSemanticProgram Program,
ElementArray &&  Elements,
int32_t  FirstNamedIndex 
)
inline

Member Function Documentation

◆ AsCodeRecursive()

CUTF8String uLang::CTupleType::AsCodeRecursive ( ETypeSyntaxPrecedence  OuterPrecedence,
TArray< const CFlowType * > &  VisitedFlowTypes,
bool  bLinkable,
ETypeStringFlag  Flag 
) const
overridevirtual

Implements uLang::CTypeBase.

◆ AsParamsCode() [1/2]

CUTF8String uLang::CTupleType::AsParamsCode ( ETypeSyntaxPrecedence  OuterPrecedence,
TArray< const CFlowType * > &  VisitedFlowTypes,
bool  WithColon,
bool  bLinkable,
ETypeStringFlag  Flag 
) const

◆ AsParamsCode() [2/2]

CUTF8String uLang::CTupleType::AsParamsCode ( ETypeSyntaxPrecedence  OuterPrecedence,
TArray< const CFlowType * > &  VisitedFlowTypes,
bool  WithColon,
ETypeStringFlag  Flag 
) const
overridevirtual

Reimplemented from uLang::CTypeBase.

◆ CanBeCustomAccessorDataType()

virtual bool uLang::CTupleType::CanBeCustomAccessorDataType ( ) const
inlineoverridevirtual

Implements uLang::CTypeBase.

◆ ElementsWithSortedNames()

CTupleType::ElementArray uLang::CTupleType::ElementsWithSortedNames ( ) const

◆ FindNamedType()

const CNamedType * uLang::CTupleType::FindNamedType ( CSymbol  Name) const

◆ GetComparability()

EComparability uLang::CTupleType::GetComparability ( ) const
overridevirtual

Returns whether this type is comparable for equality

Reimplemented from uLang::CNormalType.

◆ GetElements()

const ElementArray & uLang::CTupleType::GetElements ( ) const
inline

◆ GetFirstNamedIndex()

int32_t uLang::CTupleType::GetFirstNamedIndex ( ) const
inline

◆ IsExplicitlyCastable()

virtual bool uLang::CTupleType::IsExplicitlyCastable ( ) const
inlineoverridevirtual

Implements uLang::CNormalType.

◆ IsExplicitlyConcrete()

virtual bool uLang::CTupleType::IsExplicitlyConcrete ( ) const
inlineoverridevirtual

Implements uLang::CNormalType.

◆ IsPersistable()

bool uLang::CTupleType::IsPersistable ( ) const
overridevirtual

Returns whether this type is persistable

Implements uLang::CNormalType.

◆ Num()

ULANG_FORCEINLINE int32_t uLang::CTupleType::Num ( ) const
inline

◆ NumNonNamedElements()

int32_t uLang::CTupleType::NumNonNamedElements ( ) const
inline

◆ operator[]()

const CTypeBase * uLang::CTupleType::operator[] ( int32_t  Index) const
inline

◆ TryMarkVisited()

ULANG_FORCEINLINE bool uLang::CTupleType::TryMarkVisited ( VisitStampType  VisitStamp) const
inline

Member Data Documentation

◆ StaticTypeKind

const ETypeKind uLang::CTupleType::StaticTypeKind = ETypeKind::Tuple
static

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