hgraph-1.2.0.1: Tools for working on (di)graphs.
Safe HaskellSafe-Inferred
LanguageHaskell2010

HGraph.Directed

Documentation

class DirectedGraph t where Source #

Minimal complete definition

empty, vertices, arcs, linearizeVertices, isVertex

Methods

empty :: t a -> t a Source #

vertices :: t a -> [a] Source #

numVertices :: Integral b => t a -> b Source #

arcs :: t a -> [(a, a)] Source #

numArcs :: Integral b => t a -> b Source #

linearizeVertices :: t a -> (t Int, [(Int, a)]) Source #

isVertex :: t a -> a -> Bool Source #

Instances

Instances details
DirectedGraph Digraph Source # 
Instance details

Defined in HGraph.Directed.AdjacencyMap

Methods

empty :: Digraph a -> Digraph a Source #

vertices :: Digraph a -> [a] Source #

numVertices :: Integral b => Digraph a -> b Source #

arcs :: Digraph a -> [(a, a)] Source #

numArcs :: Integral b => Digraph a -> b Source #

linearizeVertices :: Digraph a -> (Digraph Int, [(Int, a)]) Source #

isVertex :: Digraph a -> a -> Bool Source #

class Adjacency t where Source #

Minimal complete definition

outneighbors, inneighbors, arcExists

Methods

outneighbors :: t a -> a -> [a] Source #

inneighbors :: t a -> a -> [a] Source #

outdegree :: Integral b => t a -> a -> b Source #

indegree :: Integral b => t a -> a -> b Source #

arcExists :: t a -> (a, a) -> Bool Source #

metaBfs :: Ord a => t a -> a -> ([a] -> [a]) -> ([a] -> [a]) -> [a] Source #

Instances

Instances details
Adjacency Digraph Source # 
Instance details

Defined in HGraph.Directed.AdjacencyMap

Methods

outneighbors :: Digraph a -> a -> [a] Source #

inneighbors :: Digraph a -> a -> [a] Source #

outdegree :: Integral b => Digraph a -> a -> b Source #

indegree :: Integral b => Digraph a -> a -> b Source #

arcExists :: Digraph a -> (a, a) -> Bool Source #

metaBfs :: Ord a => Digraph a -> a -> ([a] -> [a]) -> ([a] -> [a]) -> [a] Source #

class Mutable t where Source #

Methods

addVertex :: a -> t a -> t a Source #

removeVertex :: a -> t a -> t a Source #

addArc :: (a, a) -> t a -> t a Source #

removeArc :: (a, a) -> t a -> t a Source #

Instances

Instances details
Mutable Digraph Source # 
Instance details

Defined in HGraph.Directed.AdjacencyMap

Methods

addVertex :: a -> Digraph a -> Digraph a Source #

removeVertex :: a -> Digraph a -> Digraph a Source #

addArc :: (a, a) -> Digraph a -> Digraph a Source #

removeArc :: (a, a) -> Digraph a -> Digraph a Source #