phasic::SCCGraph
Strongly Connected Component (SCC) decomposition of a graph.
Methods
| Name | Description |
|---|---|
| SCCGraph | Construct from C ptd_scc_graph (takes ownership) |
| operator= | |
| n_sccs | Number of strongly connected components. |
| scc_at | Get SCC vertex by index. |
| sccs_in_topo_order | Get all SCCs in topological order. |
| scc_sizes | Get sizes of all SCCs. |
| original_graph | Get reference to original graph. |
| scc_hashes | Compute content hash for each SCC. |
| c_ptr | Access underlying C struct (for C API interop) |
SCCGraph
phasic::SCCGraph::SCCGraph(struct ptd_scc_graph *scc_graph)Construct from C ptd_scc_graph (takes ownership)
Parameters:
scc_graph— C struct pointer (will be freed on destruction)
SCCGraph
phasic::SCCGraph::SCCGraph(const SCCGraph &)=deleteoperator=
SCCGraph & phasic::SCCGraph::operator=(const SCCGraph &)=deleteSCCGraph
phasic::SCCGraph::SCCGraph(SCCGraph &&other) noexceptoperator=
SCCGraph & phasic::SCCGraph::operator=(SCCGraph &&other) noexceptn_sccs
size_t phasic::SCCGraph::n_sccs() constNumber of strongly connected components.
scc_at
const SCCVertex & phasic::SCCGraph::scc_at(size_t index) constGet SCC vertex by index.
Parameters:
index— SCC index (0 to n_sccs()-1)
Returns: Reference to SCCVertex (valid while SCCGraph exists)
sccs_in_topo_order
std::vector< SCCVertex > phasic::SCCGraph::sccs_in_topo_order() constGet all SCCs in topological order.
Topological ordering ensures dependencies are processed first. Essential for correct trace stitching.
Returns: Vector of SCC vertices in topological order
scc_sizes
std::vector< size_t > phasic::SCCGraph::scc_sizes() constGet sizes of all SCCs.
Returns: Vector of vertex counts per SCC
original_graph
const Graph & phasic::SCCGraph::original_graph() constGet reference to original graph.
The original graph that was decomposed.
Returns: Non-owning reference to original graph
scc_hashes
std::vector< std::string > phasic::SCCGraph::scc_hashes() constCompute content hash for each SCC.
Hashes the subgraph formed by each SCC’s internal vertices. Used for cache lookups.
Returns: Vector of hex hash strings (one per SCC)
c_ptr
struct ptd_scc_graph * phasic::SCCGraph::c_ptr()Access underlying C struct (for C API interop)
c_ptr
const struct ptd_scc_graph * phasic::SCCGraph::c_ptr() const