Versions in this module Expand all Collapse all v1 v1.2.4 May 17, 2023 Changes in this version + type DAG struct + func NewDAG() *DAG[T] + func UnmarshalJSON(data []byte, wd StorableDAG[T]) (*DAG[T], error) + func (d *DAG[T]) AddEdge(srcID, dstID string) error + func (d *DAG[T]) AddVertex(v T) (string, error) + func (d *DAG[T]) AddVertexByID(id string, v T) error + func (d *DAG[T]) AncestorsWalker(id string) (chan string, chan bool, error) + func (d *DAG[T]) BFSWalk(visitor Visitor[T]) + func (d *DAG[T]) Copy() (newDAG *DAG[T], err error) + func (d *DAG[T]) DFSWalk(visitor Visitor[T]) + func (d *DAG[T]) DeleteEdge(srcID, dstID string) error + func (d *DAG[T]) DeleteVertex(id string) error + func (d *DAG[T]) DescendantsFlow(startID string, inputs []FlowResult[T], callback FlowCallback[T]) ([]FlowResult[T], error) + func (d *DAG[T]) DescendantsWalker(id string) (chan string, chan bool, error) + func (d *DAG[T]) FlushCaches() + func (d *DAG[T]) GetAncestors(id string) (map[string]T, error) + func (d *DAG[T]) GetAncestorsGraph(id string) (*DAG[T], string, error) + func (d *DAG[T]) GetChildren(id string) (map[string]T, error) + func (d *DAG[T]) GetDescendants(id string) (map[string]T, error) + func (d *DAG[T]) GetDescendantsGraph(id string) (*DAG[T], string, error) + func (d *DAG[T]) GetLeaves() map[string]T + func (d *DAG[T]) GetOrder() int + func (d *DAG[T]) GetOrderedAncestors(id string) ([]string, error) + func (d *DAG[T]) GetOrderedDescendants(id string) ([]string, error) + func (d *DAG[T]) GetParents(id string) (map[string]T, error) + func (d *DAG[T]) GetRoots() map[string]T + func (d *DAG[T]) GetSize() int + func (d *DAG[T]) GetVertex(id string) (T, error) + func (d *DAG[T]) GetVertices() map[string]T + func (d *DAG[T]) IsEdge(srcID, dstID string) (bool, error) + func (d *DAG[T]) IsLeaf(id string) (bool, error) + func (d *DAG[T]) IsRoot(id string) (bool, error) + func (d *DAG[T]) MarshalJSON() ([]byte, error) + func (d *DAG[T]) ReduceTransitively() + func (d *DAG[T]) String() string + func (d *DAG[T]) UnmarshalJSON(_ []byte) error + type EdgeDuplicateError struct + func (e EdgeDuplicateError) Error() string + type EdgeLoopError struct + func (e EdgeLoopError) Error() string + type EdgeUnknownError struct + func (e EdgeUnknownError) Error() string + type Edger interface + Edge func() (srcID, dstID string) + type FlowCallback func(d *DAG[T], id string, parentResults []FlowResult[T]) (T, error) + type FlowResult struct + Error error + ID string + Result T + type IDDuplicateError struct + func (e IDDuplicateError) Error() string + type IDEmptyError struct + func (e IDEmptyError) Error() string + type IDInterface interface + ID func() string + type IDUnknownError struct + func (e IDUnknownError) Error() string + type SrcDstEqualError struct + func (e SrcDstEqualError) Error() string + type StorableDAG interface + Edges func() []Edger + Vertices func() []Vertexer[T] + type VertexDuplicateError struct + func (e VertexDuplicateError) Error() string + type VertexNilError struct + func (e VertexNilError) Error() string + type Vertexer interface + Vertex func() (id string, value T) + type Visitor interface + Visit func(Vertexer[T])