UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Verse::Vst::Project Struct Reference

#include <VstNode.h>

+ Inheritance diagram for Verse::Vst::Project:

Public Member Functions

 Project (const CUTF8StringView &Name)
 
VERSECOMPILER_API const TSRef< Module > & FindOrAddModule (const CUTF8StringView &ModuleName, const CUTF8StringView &FilePath, const CUTF8StringView &ParentModuleName=CUTF8StringView())
 
bool RemovePackagesWithName (const CUTF8StringView &PackageName)
 
bool ReplaceSnippet (const CUTF8StringView &PathOfOldSnippetToReplace, TSRef< Snippet > NewSnippet, TSPtr< Snippet > *OutOldSnippet=nullptr)
 
VERSECOMPILER_API TSRef< NodeCloneNode () const override
 
void CloneNodeFields (Project *DestNode) const
 
- Public Member Functions inherited from Verse::Vst::Node
 Node ()
 
 Node (NodeType in_type)
 
 Node (NodeType in_type, const SLocus &whence)
 
virtual UE_API ~Node ()
 
TSRef< NodeAsShared ()
 
template<typename TNodeType >
TNodeTypeAs ()
 
template<typename TNodeType >
const TNodeTypeAs () const
 
template<typename TNodeType >
TNodeTypeAsNullable ()
 
template<typename TNodeType >
const TNodeTypeAsNullable () const
 
template<typename TNodeType >
bool IsA () const
 
int GetChildCount () const
 
NodeType GetElementType () const
 
int32_t GetElementTypeInt () const
 
template<typename OpType >
OpType GetTag () const
 
template<typename OpType = uint8_t>
void SetTag (OpType in_op)
 
UE_API bool HasAttributes () const
 
UE_API const IdentifierGetAttributeIdentifier (const CUTF8StringView &AttributeName) const
 
UE_API bool IsAttributePresent (const CUTF8StringView &AttributeName) const
 
UE_API const NodeTryGetFirstAttributeOfType (NodeType Type) const
 
template<typename TNodeType >
const TNodeTypeTryGetFirstAttributeOfType () const
 
UE_API void PrependAux (const TSRef< Node > &AuxChild)
 
UE_API void PrependAux (const NodeArray &AuxChildren)
 
UE_API void AppendAux (const TSRef< Node > &AuxChild)
 
UE_API void AppendAux (const NodeArray &AuxChildren)
 
UE_API void AppendAuxAt (const TSRef< Node > &AuxChild, int32_t Idx)
 
const TSPtr< Clause > & GetAux () const
 
UE_API void SetAux (const TSRef< Clause > &Aux)
 
void RemoveAux ()
 
UE_API void AppendPrefixComment (const TSRef< Node > &CommentNode)
 
UE_API void AppendPrefixComment (TSRef< Node > &&CommentNode)
 
UE_API void AppendPrefixComments (const NodeArray &CommentNodes)
 
UE_API void AppendPostfixComment (const TSRef< Node > &CommentNode)
 
UE_API void AppendPostfixComment (TSRef< Node > &&CommentNode)
 
UE_API void AppendPostfixComments (const NodeArray &CommentNodes)
 
const NodeArrayGetPrefixComments () const
 
const NodeArrayGetPostfixComments () const
 
NodeArrayAccessPrefixComments ()
 
NodeArrayAccessPostfixComments ()
 
void SetWhence (const SLocus &Whence)
 
void CombineWhenceWith (const SLocus &Whence)
 
const SLocusWhence () const
 
UE_API const CUTF8StringGetSnippetPath () const
 
UE_API const SnippetFindSnippetByFilePath (const CUTF8StringView &FilePath) const
 
UE_API const NodeFindChildByPosition (const SPosition &TextPosition) const
 
UE_API const TSRef< NodeFindChildClosestToPosition (const SPosition &TextPosition, const SIndexedSourceText &SourceText) const
 
const NodeInfoGetElementInfo () const
 
const ChTypeGetElementName () const
 
int32_t GetPrecedence () const
 
int32_t NumRequiredChildren () const
 
ESupportsManyChildren IsManyChildrenSupported () const
 
int32_t NumNewLinesBefore () const
 
void SetNumNewLinesBefore (const int32_t Num)
 
int32_t NumNewLinesAfter () const
 
void SetNumNewLinesAfter (const int32_t Num)
 
void SetNewLineAfter (const bool bNewLineAfter)
 
bool HasNewLineAfter () const
 
bool HasNewLinesBefore () const
 
bool IsEmpty () const
 
const NodeArrayGetChildren () const
 
NodeArrayAccessChildren ()
 
NodeArray TakeChildren ()
 
TSPtr< NodeGetRightmostChild () const
 
NodeAccessParent ()
 
TSRef< NodeGetSharedSelf ()
 
TSRef< NodeGetSharedSelf () const
 
const NodeGetParent () const
 
void SetParentInternal (TSRef< Node > InParent)
 
bool HasParent () const
 
template<class Type >
const TypeGetParentOfType () const
 
bool IsElementType (NodeType InType) const
 
UE_API const CAtomAsAtomNullable () const
 
bool IsChildElementType (int32_t idx, NodeType InType) const
 
bool IsError () const
 
void DebugOrphanCheck ()
 
bool Contains (const Node &Target, const bool bRecursive=true) const
 
int32_t FindPreviousSibling ()
 
const TSRef< Node > & AppendChild (const TSRef< Node > &child)
 
const TSRef< Node > & AppendChild (const TSRef< Node > &&child)
 
const TSRef< Node > & AppendChildAt (const TSRef< Node > &child, int32_t idx)
 
void SetChildAt (int32_t Index, TSRef< Node > Child)
 
TSRef< NodeTakeChildAt (int32_t idx, const TSPtr< Node > Replacement=TSPtr< Node >())
 
void AppendChildren (const uLang::TArray< TSRef< Node > > &Children, int32_t NumToAppend=-1)
 
void AppendChildren (const uLang::TSRefArray< Node > &Children, int32_t NumToAppend=-1)
 
void PrependChildren (const uLang::TArray< TSRef< Node > > &Children, int32_t NumToAppend=-1)
 
UE_API void ReplaceSelfWith (const TSRef< Node > &replacement)
 
UE_API bool RemoveFromParent (int32_t idx=uLang::IndexNone)
 
void Empty ()
 
const SnippetFindSnippet () const
 
NodeFindRoot ()
 
const uLang::CAstNodeGetMappedAstNode () const
 
UE_API void AddMapping (uLang::CAstNode *AstNode) const
 
UE_API void EnsureAuxAllocated ()
 
void SetTile (FTile *Tile)
 
FTileGetTile ()
 
void CloneNodeFields (Node *DestOther) 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
 

Static Public Member Functions

static VERSECOMPILER_API uLang::TOptional< TSRef< Module > > FindModule (const Node &ModuleContainer, const CUTF8StringView &ModuleName)
 
- Static Public Member Functions inherited from Verse::Vst::Node
static SLocus CombineLocii (const NodeArray &Nodes)
 
template<class VisitPolicy , typename ReturnType = void>
static void VisitWith (const TSRef< Vst::Node > &node, VisitPolicy &visit_policy)
 
static void TransferChildren (const TSRef< Node > &From, const TSRef< Node > &To, int32_t First, int32_t Last)
 
static void TransferChildren (const TSRef< Node > &From, const TSRef< Node > &To)
 
static void TransferPrefixComments (const TSRef< Node > &From, const TSRef< Node > &To)
 
static void TransferPostfixComments (const TSRef< Node > &From, const TSRef< Node > &To)
 
static UE_API void RemoveMapping (uLang::CAstNode *AstNode)
 

Public Attributes

CUTF8String _Name
 
CUTF8String _FilePath
 

Static Public Attributes

static const Vst::NodeType StaticType = NodeType::Project
 

Additional Inherited Members

- Public Types inherited from Verse::Vst::Node
using NodeArray = LArray< TSRef< Node > >
 
- Protected Member Functions inherited from Verse::Vst::Node
void DropParent (const TSRef< Node > &Child)
 
void AppendChildInternal (const TSRef< Node > &child)
 
void AppendChildInternal (TSRef< Node > &&child)
 
- Static Protected Member Functions inherited from Verse::Vst::Node
static const NodeFindOrphanedNode (const Node &InNode)
 
- 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 Verse::Vst::Node
NodeArray _Children
 
Node_Parent
 
TSPtr< Clause_Aux
 
NodeArray _PreComments
 
NodeArray _PostComments
 
SLocus _Whence
 
int32_t _NumNewLinesBefore
 The number of trailing newlines that should follow this node.
 
int32_t _NumNewLinesAfter
 
uint8_t _Tag
 
NodeType _Type
 
const uLang::CAstNode_MappedAstNode
 
FTile_Tile
 

Constructor & Destructor Documentation

◆ Project()

Verse::Vst::Project::Project ( const CUTF8StringView Name)
inline

Member Function Documentation

◆ CloneNode()

TSRef< Node > Verse::Vst::Project::CloneNode ( ) const
overridevirtual

Reimplemented from Verse::Vst::Node.

◆ CloneNodeFields()

void Verse::Vst::Project::CloneNodeFields ( Project DestNode) const

◆ FindModule()

static VERSECOMPILER_API uLang::TOptional< TSRef< Module > > Verse::Vst::Project::FindModule ( const Node ModuleContainer,
const CUTF8StringView ModuleName 
)
static

◆ FindOrAddModule()

VERSECOMPILER_API const TSRef< Module > & Verse::Vst::Project::FindOrAddModule ( const CUTF8StringView ModuleName,
const CUTF8StringView FilePath,
const CUTF8StringView ParentModuleName = CUTF8StringView() 
)

◆ RemovePackagesWithName()

bool Verse::Vst::Project::RemovePackagesWithName ( const CUTF8StringView PackageName)
inline

Removes any packages from the project that have the given name.

Parameters
PackageNameAny package that has this name in the project will be removed.
Returns
true if any packages were removed, false if no packages with the name were found or another error occurred.

◆ ReplaceSnippet()

bool Verse::Vst::Project::ReplaceSnippet ( const CUTF8StringView PathOfOldSnippetToReplace,
TSRef< Snippet NewSnippet,
TSPtr< Snippet > *  OutOldSnippet = nullptr 
)
inline

Member Data Documentation

◆ _FilePath

CUTF8String Verse::Vst::Project::_FilePath

◆ _Name

CUTF8String Verse::Vst::Project::_Name

◆ StaticType

const Vst::NodeType Verse::Vst::Project::StaticType = NodeType::Project
static

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