SS_DAG
class SS_DAG implements IteratorAggregate (View source)
A Directed Acyclic Graph - used for doing topological sorts on dependencies, such as the before/after conditions in config yaml fragments
Properties
protected | array|null | $data | The nodes/vertices in the graph. Should be a numeric sequence of items (no string keys, no gaps). |
|
protected | array | $dag | The edges in the graph, in $to_idx => [$from_idx1, $from_idx2, ...] format |
Methods
Sort graph so that each node (a) comes before any nodes (b) where an edge exists from a to b
Details
__construct($data = null)
No description
additem($item)
Add another node/vertex
addedge($from, $to)
Add an edge from one vertex to another.
When passing actual nodes (as opposed to indexes), uses array_search with strict = true to find
array
sort()
Sort graph so that each node (a) comes before any nodes (b) where an edge exists from a to b
getIterator()
No description