| Haskell Hierarchical Libraries (fgl package) | Source code | Contents | Index
Data.Graph.Inductive.Basic
Contents
Graph Operations Filter Operations Predicates and Classifications Tree Operations
Description
Basic Graph Algorithms
Synopsis
grev :: DynGraph gr => gr a b -> gr a b
undir :: (Eq b, DynGraph gr) => gr a b -> gr a b
unlab :: DynGraph gr => gr a b -> gr () ()
gsel :: Graph gr => (Context a b -> Bool) -> gr a b -> [Context a b]
gfold :: Graph gr => (Context a b -> [Node]) -> (Context a b -> c -> d) -> (Maybe d -> c -> c, c) -> [Node] -> gr a b -> c
efilter :: DynGraph gr => (LEdge b -> Bool) -> gr a b -> gr a b
elfilter :: DynGraph gr => (b -> Bool) -> gr a b -> gr a b
hasLoop :: Graph gr => gr a b -> Bool
isSimple :: Graph gr => gr a b -> Bool
postorder :: Tree a -> [a]
postorderF :: [Tree a] -> [a]
preorder :: Tree a -> [a]
preorderF :: [Tree a] -> [a]
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 `Context`s 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 post-order.
postorderF :: [Tree a] -> [a]
Flatten multiple `Tree`s in post-order.
preorder :: Tree a -> [a]
Flatten a `Tree`, returning the elements in pre-order. Equivalent to `flatten` in `Tree`.
preorderF :: [Tree a] -> [a]
Flatten multiple `Tree`s in pre-order.
Produced by Haddock version 0.8