graph-core-0.3.0.0: Fast, memory efficient and persistent graph implementation
Data.Core.Graph
data Graph Source #
Instances
Methods
(==) :: Graph -> Graph -> Bool #
(/=) :: Graph -> Graph -> Bool #
showsPrec :: Int -> Graph -> ShowS #
show :: Graph -> String #
showList :: [Graph] -> ShowS #
rnf :: Graph -> () #
type Node = Int Source #
type NodeSet = IntSet Source #
data Edge Source #
Constructors
Fields
(==) :: Edge -> Edge -> Bool #
(/=) :: Edge -> Edge -> Bool #
compare :: Edge -> Edge -> Ordering #
(<) :: Edge -> Edge -> Bool #
(<=) :: Edge -> Edge -> Bool #
(>) :: Edge -> Edge -> Bool #
(>=) :: Edge -> Edge -> Bool #
max :: Edge -> Edge -> Edge #
min :: Edge -> Edge -> Edge #
showsPrec :: Int -> Edge -> ShowS #
show :: Edge -> String #
showList :: [Edge] -> ShowS #
hashWithSalt :: Int -> Edge -> Int #
hash :: Edge -> Int #
empty :: Graph Source #
fromEdges :: [Edge] -> Graph Source #
fromAdj :: [(Node, [Node])] -> Graph Source #
isConsistent :: Graph -> Bool Source #
nodes :: Graph -> [Node] Source #
edges :: Graph -> [Edge] Source #
children :: Graph -> Node -> Vector Node Source #
parents :: Graph -> Node -> Vector Node Source #
hasEdge :: Node -> Node -> Graph -> Bool Source #
edgeCount :: Graph -> Int Source #
hull :: Graph -> Node -> NodeSet Source #
rhull :: Graph -> Node -> NodeSet Source #
hullFold :: Graph -> (b -> Node -> b) -> b -> Node -> b Source #
hullFoldM :: Monad m => Graph -> (b -> Node -> m b) -> b -> Node -> m b Source #
rhullFold :: Graph -> (b -> Node -> b) -> b -> Node -> b Source #
addEdge :: Node -> Node -> Graph -> Graph Source #
addEdges :: [Edge] -> Graph -> Graph Source #
removeEdge :: Node -> Node -> Graph -> Graph Source #
removeEdges :: [Edge] -> Graph -> Graph Source #
addNode :: Node -> Graph -> Graph Source #
removeNode :: Node -> Graph -> Graph Source #
solitaireNodes :: Graph -> [Node] Source #
edgesAdj :: AdjList -> [Edge] Source #