UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
uLang::TDirectedGraph< InElementType > Class Template Reference

#include <DirectedGraph.h>

Public Types

using NodeId = int32_t
 

Public Member Functions

NodeId AddNode (const InElementType &Item)
 
NodeId AddNode (InElementType &&Item)
 
bool AddDirectedEdge (const NodeId From, const NodeId To)
 
bool AddDirectedEdgeUnique (const NodeId From, const NodeId To)
 
void Reserve (int32_t NodesSlack, int32_t EdgesSlack=0)
 
void Empty (int32_t NodesSlack=0, int32_t EdgesSlack=0)
 
int32_t NumNodes () const
 
const InElementTypeoperator[] (NodeId Index) const
 
InElementTypeoperator[] (NodeId Index)
 
bool TopologicalSort (TArray< InElementType > &OutItems) const
 
bool TopologicalSort_Pointers (TArray< const InElementType * > &OutItems) const
 
bool TopologicalSort_Pointers (TArray< InElementType * > &OutItems)
 
TArray< TArray< NodeId > > FindCycles () const
 

Static Public Attributes

static constexpr NodeId InvalidNodeId = uLang::IndexNone
 

Friends

struct TDiGraphTopologicalIterator_Base< InElementType >
 

Member Typedef Documentation

◆ NodeId

Member Function Documentation

◆ AddDirectedEdge()

template<typename InElementType >
bool uLang::TDirectedGraph< InElementType >::AddDirectedEdge ( const NodeId  From,
const NodeId  To 
)
inline

◆ AddDirectedEdgeUnique()

template<typename InElementType >
bool uLang::TDirectedGraph< InElementType >::AddDirectedEdgeUnique ( const NodeId  From,
const NodeId  To 
)
inline

◆ AddNode() [1/2]

template<typename InElementType >
NodeId uLang::TDirectedGraph< InElementType >::AddNode ( const InElementType Item)
inline

◆ AddNode() [2/2]

template<typename InElementType >
NodeId uLang::TDirectedGraph< InElementType >::AddNode ( InElementType &&  Item)
inline

◆ Empty()

template<typename InElementType >
void uLang::TDirectedGraph< InElementType >::Empty ( int32_t  NodesSlack = 0,
int32_t  EdgesSlack = 0 
)
inline

◆ FindCycles()

◆ NumNodes()

template<typename InElementType >
int32_t uLang::TDirectedGraph< InElementType >::NumNodes ( ) const
inline

◆ operator[]() [1/2]

template<typename InElementType >
InElementType & uLang::TDirectedGraph< InElementType >::operator[] ( NodeId  Index)
inline

◆ operator[]() [2/2]

template<typename InElementType >
const InElementType & uLang::TDirectedGraph< InElementType >::operator[] ( NodeId  Index) const
inline

◆ Reserve()

template<typename InElementType >
void uLang::TDirectedGraph< InElementType >::Reserve ( int32_t  NodesSlack,
int32_t  EdgesSlack = 0 
)
inline

◆ TopologicalSort()

template<typename InElementType >
bool uLang::TDirectedGraph< InElementType >::TopologicalSort ( TArray< InElementType > &  OutItems) const

◆ TopologicalSort_Pointers() [1/2]

template<typename InElementType >
bool uLang::TDirectedGraph< InElementType >::TopologicalSort_Pointers ( TArray< const InElementType * > &  OutItems) const

◆ TopologicalSort_Pointers() [2/2]

template<typename InElementType >
bool uLang::TDirectedGraph< InElementType >::TopologicalSort_Pointers ( TArray< InElementType * > &  OutItems)

Friends And Related Symbol Documentation

◆ TDiGraphTopologicalIterator_Base< InElementType >

Member Data Documentation

◆ InvalidNodeId


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