Data.Graph.Inductive.Monad.STArray

fgl-5.5.3.0: 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) # |
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.
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