fgl-5.5.4.0: Martin Erwig's Functional Graph Library

Safe Haskell | None
Language | Haskell98

Data.Graph.Inductive.Monad.IOArray

Contents

- Graph Representation
- Utilities

Description

Static IOArray-based Graphs

Synopsis

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

# Graph Representation

newtype SGr a b Source #

Constructors

SGr (GraphRep a b) |

Instances

GraphM IO SGr Source # |

Methods

emptyM :: IO (SGr a b) Source #

isEmptyM :: IO (SGr a b) -> IO Bool Source #

matchM :: Node -> IO (SGr a b) -> IO (Decomp SGr a b) Source #

mkGraphM :: [LNode a] -> [LEdge b] -> IO (SGr a b) Source #

labNodesM :: IO (SGr a b) -> IO [LNode a] Source #

matchAnyM :: IO (SGr a b) -> IO (GDecomp SGr a b) Source #

noNodesM :: IO (SGr a b) -> IO Int Source #

nodeRangeM :: IO (SGr a b) -> IO (Node, Node) Source #

labEdgesM :: IO (SGr a b) -> IO [LEdge b] Source #

(Show a, Show b) => Show (IO (SGr a b)) Source # | Please note that this instance is unsafe.
Methods showsPrec :: Int -> IO (SGr a b) -> ShowS # show :: IO (SGr a b) -> String # showList :: [IO (SGr a b)] -> ShowS #
(Show a, Show b) => Show (SGr a b) Source # | Please note that this instance is unsafe.
Methods showsPrec :: Int -> SGr a b -> ShowS # show :: SGr a b -> String # showList :: [SGr a b] -> ShowS #

type GraphRep a b = (Int, Array Node (Context' a b), IOArray Node Bool) Source #

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

type USGr = SGr () () Source #

defaultGraphSize :: Int Source #

emptyN :: Int -> IO (SGr a b) Source #

# Utilities

removeDel :: IOArray Node Bool -> Adj b -> IO (Adj b) Source #

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