fgl-5.7.0.1: Martin Erwig's Functional Graph Library

Safe Haskell | None
Language | Haskell98

Data.Graph.Inductive.Monad.STArray

Contents

- Graph Representation
- Utilities

Description

Static IOArray-based Graphs

Synopsis

- newtype SGr s a b = SGr (GraphRep s a b)
- type GraphRep s a b = (Int, Array Node (Context' a b), STArray s Node Bool)
- type Context' a b = Maybe (Adj b, a, Adj b)
- type USGr s = SGr s () ()
- defaultGraphSize :: Int
- emptyN :: Int -> ST s (SGr s a b)
- removeDel :: STArray s Node Bool -> Adj b -> ST s (Adj b)

# Graph Representation

newtype SGr s a b #

Constructors

SGr (GraphRep s a b) |

Instances

GraphM (ST s) (SGr s) # |

Instance details

Defined in Data.Graph.Inductive.Monad.STArray

Methods

emptyM :: ST s (SGr s a b) #

isEmptyM :: ST s (SGr s a b) -> ST s Bool #

matchM :: Node -> ST s (SGr s a b) -> ST s (Decomp (SGr s) a b) #

mkGraphM :: [LNode a] -> [LEdge b] -> ST s (SGr s a b) #

labNodesM :: ST s (SGr s a b) -> ST s [LNode a] #

matchAnyM :: ST s (SGr s a b) -> ST s (GDecomp (SGr s) a b) #

noNodesM :: ST s (SGr s a b) -> ST s Int #

nodeRangeM :: ST s (SGr s a b) -> ST s (Node, Node) #

labEdgesM :: ST s (SGr s a b) -> ST s [LEdge b] #

(Show a, Show b) => Show (SGr RealWorld a b) # | Please not that this instance is unsafe.
Instance details Defined in Data.Graph.Inductive.Monad.STArray Methods showsPrec :: Int -> SGr RealWorld a b -> ShowS # show :: SGr RealWorld a b -> String # showList :: [SGr RealWorld a b] -> ShowS #

type GraphRep s a b = (Int, Array Node (Context' a b), STArray s Node Bool) #

type Context' a b = Maybe (Adj b, a, Adj b) #

type USGr s = SGr s () () #

defaultGraphSize :: Int #

emptyN :: Int -> ST s (SGr s a b) #

# Utilities

removeDel :: STArray s Node Bool -> Adj b -> ST s (Adj b) #

filter list (of successors/predecessors) through a boolean ST array representing deleted marks