Versions in this module Expand all Collapse all v1 v1.1.3 Dec 29, 2021 Changes in this version + func StronglyConnected(g *Graph) [][]Vertex + func VertexName(raw Vertex) string + type AcyclicGraph struct + func (g *AcyclicGraph) Ancestors(v Vertex) (Set, error) + func (g *AcyclicGraph) Cycles() [][]Vertex + func (g *AcyclicGraph) DepthFirstWalk(start Set, f DepthWalkFunc) error + func (g *AcyclicGraph) Descendents(v Vertex) (Set, error) + func (g *AcyclicGraph) DirectedGraph() Grapher + func (g *AcyclicGraph) ReverseDepthFirstWalk(start Set, f DepthWalkFunc) error + func (g *AcyclicGraph) Root() (Vertex, error) + func (g *AcyclicGraph) SortedDepthFirstWalk(start []Vertex, f DepthWalkFunc) error + func (g *AcyclicGraph) SortedReverseDepthFirstWalk(start []Vertex, f DepthWalkFunc) error + func (g *AcyclicGraph) TransitiveReduction() + func (g *AcyclicGraph) Validate() error + func (g *AcyclicGraph) Walk(cb WalkFunc) tfdiags.Diagnostics + type DepthWalkFunc func(Vertex, int) error + type DotNode struct + Attrs map[string]string + Name string + type DotOpts struct + DrawCycles bool + MaxDepth int + Verbose bool + type Edge interface + Source func() Vertex + Target func() Vertex + func BasicEdge(source, target Vertex) Edge + type Graph struct + func (g *Graph) Add(v Vertex) Vertex + func (g *Graph) Connect(edge Edge) + func (g *Graph) DirectedGraph() Grapher + func (g *Graph) Dot(opts *DotOpts) []byte + func (g *Graph) DownEdges(v Vertex) Set + func (g *Graph) Edges() []Edge + func (g *Graph) EdgesFrom(v Vertex) []Edge + func (g *Graph) EdgesTo(v Vertex) []Edge + func (g *Graph) HasEdge(e Edge) bool + func (g *Graph) HasVertex(v Vertex) bool + func (g *Graph) Remove(v Vertex) Vertex + func (g *Graph) RemoveEdge(edge Edge) + func (g *Graph) Replace(original, replacement Vertex) bool + func (g *Graph) String() string + func (g *Graph) StringWithNodeTypes() string + func (g *Graph) UpEdges(v Vertex) Set + func (g *Graph) Vertices() []Vertex + type GraphNodeDotter interface + DotNode func(string, *DotOpts) *DotNode + type Grapher interface + DirectedGraph func() Grapher + type Hashable interface + Hashcode func() interface{} + type NamedVertex interface + Name func() string + type Set map[interface{}]interface + func (s Set) Add(v interface{}) + func (s Set) Copy() Set + func (s Set) Delete(v interface{}) + func (s Set) Difference(other Set) Set + func (s Set) Filter(cb func(interface{}) bool) Set + func (s Set) Include(v interface{}) bool + func (s Set) Intersection(other Set) Set + func (s Set) Len() int + func (s Set) List() []interface{} + type Subgrapher interface + Subgraph func() Grapher + type Vertex interface + func AsVertexList(s Set) []Vertex + type WalkFunc func(Vertex) tfdiags.Diagnostics + type Walker struct + Callback WalkFunc + Reverse bool + func (w *Walker) Update(g *AcyclicGraph) + func (w *Walker) Wait() tfdiags.Diagnostics