package digraph6

import ""

Package digraph6 implements graphs specified by digraph6 strings.



func IsValid

func IsValid(g Graph) bool

IsValid returns whether the graph is a valid digraph6 encoding. An invalid Graph behaves as the null graph.


type Graph

type Graph string

Graph is a digraph6-represented directed graph.

See for details.

Note that the digraph6 format specifies that the first character of the graph string is a '&'. This character must be present for use in the digraph6 package. A Graph without this prefix is treated as the null graph.

func Encode

func Encode(g graph.Graph) Graph

Encode returns a graph6 encoding of the topology of the given graph using a lexical ordering of the nodes by ID to map them to [0, n).

func (Graph) Edge

func (g Graph) Edge(uid, vid int64) graph.Edge

Edge returns the edge from u to v, with IDs uid and vid, if such an edge exists and nil otherwise. The node v must be directly reachable from u as defined by the From method.

func (Graph) From

func (g Graph) From(id int64) graph.Nodes

From returns all nodes that can be reached directly from the node with the given ID.

func (Graph) GoString

func (g Graph) GoString() string

func (Graph) HasEdgeBetween

func (g Graph) HasEdgeBetween(xid, yid int64) bool

HasEdgeBetween returns whether an edge exists between nodes with IDs xid and yid without considering direction.

func (Graph) HasEdgeFromTo

func (g Graph) HasEdgeFromTo(uid, vid int64) bool

HasEdgeFromTo returns whether an edge exists in the graph from u to v with IDs uid and vid.

func (Graph) Node

func (g Graph) Node(id int64) graph.Node

Node returns the node with the given ID if it exists in the graph, and nil otherwise.

func (Graph) Nodes

func (g Graph) Nodes() graph.Nodes

Nodes returns all the nodes in the graph.

func (Graph) To

func (g Graph) To(id int64) graph.Nodes

To returns all nodes that can reach directly to the node with the given ID.

Source Files


v0.14.0 (latest)
Aug 19, 2023
7 packages
Last checked
4 hours ago

Tools for package owners.