 fgl5.4.1.1: Martin Erwig's Functional Graph Library  Contents  Index 

Data.Graph.Inductive.Basic 




Description 
Basic Graph Algorithms


Synopsis 




Graph Operations


grev :: DynGraph gr => gr a b > gr a b 
Reverse the direction of all edges.


undir :: (Eq b, DynGraph gr) => gr a b > gr a b 
Make the graph undirected, i.e. for every edge from A to B, there
exists an edge from B to A.


unlab :: DynGraph gr => gr a b > gr () () 
Remove all labels.


gsel :: Graph gr => (Context a b > Bool) > gr a b > [Context a b] 
Return all Contexts for which the given function returns True.


gfold 
:: Graph gr   => (Context a b > [Node])  direction of fold
 > (Context a b > c > d)  depth aggregation
 > (Maybe d > c > c, c)  breadth/level aggregation
 > [Node]   > gr a b   > c   Directed graph fold.



Filter Operations


efilter :: DynGraph gr => (LEdge b > Bool) > gr a b > gr a b 
Filter based on edge property.


elfilter :: DynGraph gr => (b > Bool) > gr a b > gr a b 
Filter based on edge label property.


Predicates and Classifications


hasLoop :: Graph gr => gr a b > Bool 
True if the graph has any edges of the form (A, A).


isSimple :: Graph gr => gr a b > Bool 
The inverse of hasLoop.


Tree Operations


postorder :: Tree a > [a] 
Flatten a Tree, returning the elements in postorder.


postorderF :: [Tree a] > [a] 
Flatten multiple Trees in postorder.


preorder :: Tree a > [a] 
Flatten a Tree, returning the elements in preorder. Equivalent to
flatten in Tree.


preorderF :: [Tree a] > [a] 
Flatten multiple Trees in preorder.


Produced by Haddock version 0.8 