Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data MGraph m (d :: EdgeType) v e = MGraph {}
- new :: forall m d v e. (SingI d, Ord v, Serialize v, PrimMonad m) => [v] -> m (MGraph (PrimState m) d v e)
- nNodes :: PrimMonad m => MGraph (PrimState m) d v e -> m Int
- nEdges :: PrimMonad m => MGraph (PrimState m) d v e -> m Int
- addNodes :: (Ord v, Serialize v, PrimMonad m) => [v] -> MGraph (PrimState m) d v e -> m ()
- delNodes :: (PrimMonad m, Ord v, Serialize v) => [Node] -> MGraph (PrimState m) d v e -> m ()
- addEdges :: (PrimMonad m, Serialize e) => [LEdge e] -> MGraph (PrimState m) d v e -> m ()
- delEdges :: forall m d v e. (SingI d, PrimMonad m) => [Edge] -> MGraph (PrimState m) d v e -> m ()
- setEdgeAttr :: (PrimMonad m, Serialize e) => Int -> e -> MGraph (PrimState m) d v e -> m ()
- setNodeAttr :: (PrimMonad m, Serialize v, Ord v) => Int -> v -> MGraph (PrimState m) d v e -> m ()
Documentation
new :: forall m d v e. (SingI d, Ord v, Serialize v, PrimMonad m) => [v] -> m (MGraph (PrimState m) d v e) Source #
Create a new graph.
nNodes :: PrimMonad m => MGraph (PrimState m) d v e -> m Int Source #
Return the number of nodes in a graph.
nEdges :: PrimMonad m => MGraph (PrimState m) d v e -> m Int Source #
Return the number of edges in a graph.
Add nodes with labels to the graph.
delNodes :: (PrimMonad m, Ord v, Serialize v) => [Node] -> MGraph (PrimState m) d v e -> m () Source #
Delete nodes from the graph.
addEdges :: (PrimMonad m, Serialize e) => [LEdge e] -> MGraph (PrimState m) d v e -> m () Source #
Add edges with labels to the graph. If you also want to add new vertices, call addNodes first.
delEdges :: forall m d v e. (SingI d, PrimMonad m) => [Edge] -> MGraph (PrimState m) d v e -> m () Source #
Delete edges from the graph.
Set edge attribute.