haskell-igraph-0.4.0: Haskell interface of the igraph library.

Safe HaskellNone
LanguageHaskell2010

IGraph.Types

Synopsis

Documentation

type Node = Int Source #

type Edge = (Node, Node) Source #

type LEdge a = (Edge, a) Source #

data U Source #

Undirected graph.

Instances
MGraph U Source # 
Instance details

Methods

new :: PrimMonad m => Int -> m (MLGraph (PrimState m) U v e) Source #

addNodes :: PrimMonad m => Int -> MLGraph (PrimState m) U v e -> m () Source #

addLNodes :: (Serialize v, PrimMonad m) => [v] -> MLGraph (PrimState m) U v e -> m () Source #

delNodes :: PrimMonad m => [Int] -> MLGraph (PrimState m) U v e -> m () Source #

addEdges :: PrimMonad m => [(Int, Int)] -> MLGraph (PrimState m) U v e -> m () Source #

addLEdges :: (PrimMonad m, Serialize e) => [LEdge e] -> MLGraph (PrimState m) U v e -> m () Source #

delEdges :: PrimMonad m => [(Int, Int)] -> MLGraph (PrimState m) U v e -> m () Source #

Graph U Source # 
Instance details

Methods

isDirected :: LGraph U v e -> Bool Source #

isD :: U -> Bool Source #

nNodes :: LGraph U v e -> Int Source #

nodes :: LGraph U v e -> [Node] Source #

nEdges :: LGraph U v e -> Int Source #

edges :: LGraph U v e -> [Edge] Source #

hasEdge :: LGraph U v e -> Edge -> Bool Source #

nodeLab :: Serialize v => LGraph U v e -> Node -> v Source #

getNodes :: (Hashable v, Eq v) => LGraph U v e -> v -> [Node] Source #

edgeLab :: Serialize e => LGraph U v e -> Edge -> e Source #

getEdgeByEid :: LGraph U v e -> Int -> Edge Source #

edgeLabByEid :: Serialize e => LGraph U v e -> Int -> e Source #

data D Source #

Directed graph.

Instances
MGraph D Source # 
Instance details

Methods

new :: PrimMonad m => Int -> m (MLGraph (PrimState m) D v e) Source #

addNodes :: PrimMonad m => Int -> MLGraph (PrimState m) D v e -> m () Source #

addLNodes :: (Serialize v, PrimMonad m) => [v] -> MLGraph (PrimState m) D v e -> m () Source #

delNodes :: PrimMonad m => [Int] -> MLGraph (PrimState m) D v e -> m () Source #

addEdges :: PrimMonad m => [(Int, Int)] -> MLGraph (PrimState m) D v e -> m () Source #

addLEdges :: (PrimMonad m, Serialize e) => [LEdge e] -> MLGraph (PrimState m) D v e -> m () Source #

delEdges :: PrimMonad m => [(Int, Int)] -> MLGraph (PrimState m) D v e -> m () Source #

Graph D Source # 
Instance details

Methods

isDirected :: LGraph D v e -> Bool Source #

isD :: D -> Bool Source #

nNodes :: LGraph D v e -> Int Source #

nodes :: LGraph D v e -> [Node] Source #

nEdges :: LGraph D v e -> Int Source #

edges :: LGraph D v e -> [Edge] Source #

hasEdge :: LGraph D v e -> Edge -> Bool Source #

nodeLab :: Serialize v => LGraph D v e -> Node -> v Source #

getNodes :: (Hashable v, Eq v) => LGraph D v e -> v -> [Node] Source #

edgeLab :: Serialize e => LGraph D v e -> Edge -> e Source #

getEdgeByEid :: LGraph D v e -> Int -> Edge Source #

edgeLabByEid :: Serialize e => LGraph D v e -> Int -> e Source #