template<class NodeType, class EdgeType, class EdgePredicate = select_all>
slang::netlist::CycleDetector class

Class for reporting all cycles in a directed graph.

Public types

using CycleType = std::vector<const NodeType*>

Constructors, destructors, conversion operators

CycleDetector(const DirectedGraph<NodeType, EdgeType>& graph) explicit

Public functions

auto detectCycles() -> auto

Function documentation

template<class NodeType, class EdgeType, class EdgePredicate>
auto slang::netlist::CycleDetector<NodeType, EdgeType, EdgePredicate>::detectCycles()

Detect all cycles within the graph. Returns a vector containing cycles, where each cycle is represented as a vector of nodes.