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

#include <Expression.h>

+ Inheritance diagram for uLang::CExprRush:

Public Member Functions

virtual EAstNodeType GetNodeType () const override
 
virtual CUTF8String GetErrorDesc () const override
 
- Public Member Functions inherited from uLang::CExprConcurrentBlockBase
 CExprConcurrentBlockBase (int32_t ReserveSubExprNum=0)
 
virtual const CExpressionBaseFindFirstAsyncSubExpr (const CSemanticProgram &Program) const override
 
- Public Member Functions inherited from uLang::CExprCompoundBase
 CExprCompoundBase (int32_t ReserveSubExprNum, EVstMappingType VstMappingType=EVstMappingType::Ast)
 
 CExprCompoundBase (TSPtrArray< CExpressionBase > &&SubExprs, EVstMappingType VstMappingType=EVstMappingType::Ast)
 
 CExprCompoundBase (TSPtr< CExpressionBase > &&SubExpr1, TSPtr< CExpressionBase > &&SubExpr2)
 
 CExprCompoundBase ()=default
 
bool IsEmpty () const
 
int32_t SubExprNum () const
 
const uLang::CExpressionBaseGetLastSubExpr () const
 
const TSPtrArray< CExpressionBase > & GetSubExprs () const
 
TSPtrArray< CExpressionBase > & GetSubExprs ()
 
TSPtrArray< CExpressionBase > && TakeSubExprs ()
 
void AppendSubExpr (TSPtr< CExpressionBase > SubExpr)
 
void PrependSubExpr (TSPtr< CExpressionBase > SubExpr)
 
void SetSubExprs (TSPtrArray< CExpressionBase > AnalyzedExprs)
 
void ReplaceSubExpr (TSPtr< CExpressionBase > SubExpr, int32_t Index)
 
virtual UE_API bool CanFail (const CAstPackage *Package) const override
 
virtual void VisitChildren (SAstVisitor &Visitor) const override
 
virtual UE_API bool operator== (const CExpressionBase &Other) const override
 
- Public Member Functions inherited from uLang::CExpressionBase
 CExpressionBase (EVstMappingType VstMappingType=EVstMappingType::Ast)
 
 CExpressionBase (const CTypeBase *InResultType)
 
virtual const CExpressionBaseAsExpression () const override
 
virtual CExpressionBaseAsExpression () override
 
virtual bool MayHaveAttributes () const override
 
virtual bool CanBePathSegment (const TMacroSymbols &MacroSymbols) const
 
virtual void VisitImmediates (SAstVisitor &Visitor) const override
 
EInvokeTime DetermineInvokeTime (const CSemanticProgram &Program) const
 
virtual UE_API const CTypeBaseGetResultType (const CSemanticProgram &Program) const
 
UE_API void SetResultType (const CTypeBase *InResultType)
 
UE_API void RefineResultType (const CTypeBase *RefinedResultType)
 
bool IsAnalyzed () const
 
bool operator!= (const CExpressionBase &Other) const
 
const CTypeBaseIrGetResultType () const
 
void IrSetResultType (const CTypeBase *TypeBase)
 
template<typename TRange1 , typename TRange2 >
ULANG_FORCEINLINE bool AreSubExprsEqual (const TRange1 &Lhs, const TRange2 &Rhs)
 
- Public Member Functions inherited from uLang::CAstNode
 CAstNode (EVstMappingType VstMappingType=EVstMappingType::Ast)
 
virtual UE_API ~CAstNode ()
 
virtual const CExprIdentifierBaseAsIdentifierBase () const
 
template<typename FunctionType >
ULANG_FORCEINLINE void VisitChildrenLambda (FunctionType &&Function) const
 
const Verse::Vst::NodeGetMappedVstNode () const
 
void SetNonReciprocalMappedVstNode (const Verse::Vst::Node *VstNode)
 
void SetIrMappedVstNode (const Verse::Vst::Node *VstNode)
 
bool IsIrNode () const
 
bool IsVstMappingReciprocal () const
 
template<typename FunctionType >
void VisitChildrenLambda (FunctionType &&Function) const
 
- Public Member Functions inherited from uLang::CSharedMix
 CSharedMix ()
 
virtual UE_API ~CSharedMix ()
 
 CSharedMix (const CSharedMix &Other)=delete
 
CSharedMixoperator= (const CSharedMix &Other)=delete
 
uint32_t GetRefCount () const
 
- Public Member Functions inherited from uLang::CAttributable
bool HasAttributes () const
 
UE_API bool HasAttributeClass (const CClass *AttributeClass, const CSemanticProgram &Program) const
 
UE_API bool HasAttributeSubclass (const CClass *AttributeClass, const CSemanticProgram &Program) const
 
UE_API int32_t GetAttributeClassCount (const CClass *AttributeClass, const CSemanticProgram &Program) const
 
UE_API TArray< const CExpressionBase * > GetAttributesWithAttribute (const CClass *AttributeClass, const CSemanticProgram &Program) const
 
UE_API const CExpressionBaseFindAttributeExpr (const CClass *AttributeClass, const CSemanticProgram &Program) const
 
UE_API const CExpressionBaseFindAttributeSubclassExpr (const CClass *AttributeClass, const CSemanticProgram &Program) const
 
UE_API const TArray< CExpressionBase * > FindAttributeExprs (const CClass *AttributeClass, const CSemanticProgram &Program) const
 
UE_API const TArray< CExpressionBase * > FindAttributeSubclassExprs (const CClass *AttributeClass, const CSemanticProgram &Program) const
 
UE_API TOptional< SAttributeFindAttribute (const CClass *AttributeClass, const CSemanticProgram &Program) const
 
UE_API TArray< SAttributeFindAttributes (const CClass *AttributeClass, const CSemanticProgram &Program) const
 
UE_API void AddAttributeClass (const CClass *AttributeClass)
 
UE_API void AddAttribute (SAttribute Attribute)
 
UE_API void RemoveAttributeClass (const CClass *AttributeClass, const CSemanticProgram &Program)
 
UE_API TOptional< CUTF8StringGetAttributeTextValue (const CClass *AttributeClass, const CSemanticProgram &Program) const
 
CAttributableoperator= (const CAttributable &Other)=delete
 
CAttributableoperator= (CAttributable &&Other)=delete
 
UE_API bool HasAttributeClassHack (const CClass *AttributeClass, const CSemanticProgram &) const
 
UE_API bool HasAttributeFunctionHack (const CFunction *AttributeFunction, const CSemanticProgram &) const
 

Additional Inherited Members

- Public Types inherited from uLang::CExpressionBase
using TMacroSymbols = TArrayG< CSymbol, TInlineElementAllocator< 3 > >
 
- Public Types inherited from uLang::CAttributable
enum class  EAttributableScope : uint8_t {
  Module , Class , Struct , Data ,
  Function , Enum , Enumerator , AttributeClass ,
  Interface , Expression , TypeDefinition , ScopedAccessLevel ,
  ClassTypeFunction , AttributeClassTypeFunction , InterfaceTypeFunction
}
 
- Static Public Member Functions inherited from uLang::CExpressionBase
static bool BaseCompare (const CExpressionBase &A, const CExpressionBase &B)
 
static bool IsSubExprEqual (const CExpressionBase *Lhs, const CExpressionBase *Rhs)
 
static bool IsSubExprEqual (const CExpressionBase &Lhs, const CExpressionBase &Rhs)
 
static bool IsSubExprEqual (const TSPtr< CExpressionBase > &Lhs, const TSPtr< CExpressionBase > &Rhs)
 
static bool IsSubExprEqual (const TSRef< CExpressionBase > &Lhs, const TSRef< CExpressionBase > &Rhs)
 
template<typename TRange1 , typename TRange2 >
static bool AreSubExprsEqual (const TRange1 &, const TRange2 &)
 
- Static Public Member Functions inherited from uLang::CAttributable
static UE_API TOptional< CUTF8StringGetAttributeTextValue (const TArray< SAttribute > &Attributes, const CClass *AttributeClass, const CSemanticProgram &Program)
 
- Public Attributes inherited from uLang::CAttributable
TArray< SAttribute_Attributes
 
- Static Protected Member Functions inherited from uLang::CSharedMix
template<class ObjectType >
static TSPtrG< ObjectType, false, CHeapRawAllocatorSharedThis (ObjectType *This)
 
template<class ObjectType >
static TSPtrG< const ObjectType, false, CHeapRawAllocatorSharedThis (const ObjectType *This)
 
- Protected Attributes inherited from uLang::CExprCompoundBase
TSPtrArray< CExpressionBase_SubExprs
 
- Protected Attributes inherited from uLang::CExpressionBase
TOptional< SAnalysisResult_Report
 
- Protected Attributes inherited from uLang::CAstNode
EVstMappingType _VstMappingType
 
const Verse::Vst::Node_MappedVstNode {nullptr}
 

Detailed Description

Rush concurrency primitive - rush {_coro1() _coro2()} 2+ Async expressions run concurrently and next expression executed when fastest/first expression completed and all other expressions continue independently until each is fully completed. Its overall result is the result of the first expression in the block to complete (using most specific common compatible result type of all expressions or no result if there is no common type).

Member Function Documentation

◆ GetErrorDesc()

virtual CUTF8String uLang::CExprRush::GetErrorDesc ( ) const
inlineoverridevirtual

Implements uLang::CAstNode.

◆ GetNodeType()

virtual EAstNodeType uLang::CExprRush::GetNodeType ( ) const
inlineoverridevirtual

Implements uLang::CAstNode.


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