libgraph v0.13.3 API Reference

Modules

This module defines a graph data structure, which supports directed and undirected graphs, in both acyclic and cyclic forms. It also defines the API for creating, manipulating, and querying that structure

This module defines the struct used to represent edges and associated metadata about them

This module contains implementation code for path finding algorithms used by libgraph

Reducers provide a way to traverse a graph while applying a function at each vertex. This can be used for a variety of things, most notably though is pre-processing a graph, for example one might decorate vertices with their distance from some known landmarks for later use in a cost function for A*

This reducer traverses the graph using Breadth-First Search

This reducer traverses the graph using Depth-First Search

This module defines the Serializer behavior for graphs

This serializer converts a Graph to a DOT file, which can then be converted to a great many other formats using Graphviz, e.g. dot -Tpng out.dot > out.png

This serializer converts a Graph to an edgelist suitable for using with graph libraries such as the polyglot igraph library

This module defines a priority queue datastructure, intended for use with graphs, as it prioritizes lower priority values over higher priority values (ideal for priorities based on edge weights, etc.)

Exceptions

This exception is raised when a Graph function expects one or more valid edge specifications, but receives a term which does not match one of the allowed specification patterns