graphs-0.7.1: A simple monadic graph library

Copyright(C) 2011 Edward Kmett
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityexperimental
Portabilitytype families
Safe HaskellSafe
LanguageHaskell98

Data.Graph.Class.Bidirectional

Description

 

Documentation

class AdjacencyListGraph g => BidirectionalGraph g where Source #

Minimal complete definition

inEdges

Methods

inEdges :: Vertex g -> g [Edge g] Source #

inDegree :: Vertex g -> g Int Source #

incidentEdges :: Vertex g -> g [Edge g] Source #

degree :: Vertex g -> g Int Source #

Instances

BidirectionalGraph Identity Source # 
BidirectionalGraph g => BidirectionalGraph (MaybeT g) Source # 
BidirectionalGraph g => BidirectionalGraph (Dual g) Source # 
(BidirectionalGraph g, Monoid m) => BidirectionalGraph (WriterT m g) Source # 
(BidirectionalGraph g, Monoid m) => BidirectionalGraph (WriterT m g) Source # 
BidirectionalGraph g => BidirectionalGraph (StateT s g) Source # 

Methods

inEdges :: Vertex (StateT s g) -> StateT s g [Edge (StateT s g)] Source #

inDegree :: Vertex (StateT s g) -> StateT s g Int Source #

incidentEdges :: Vertex (StateT s g) -> StateT s g [Edge (StateT s g)] Source #

degree :: Vertex (StateT s g) -> StateT s g Int Source #

BidirectionalGraph g => BidirectionalGraph (StateT s g) Source # 

Methods

inEdges :: Vertex (StateT s g) -> StateT s g [Edge (StateT s g)] Source #

inDegree :: Vertex (StateT s g) -> StateT s g Int Source #

incidentEdges :: Vertex (StateT s g) -> StateT s g [Edge (StateT s g)] Source #

degree :: Vertex (StateT s g) -> StateT s g Int Source #

BidirectionalGraph g => BidirectionalGraph (IdentityT * g) Source # 
(BidirectionalGraph g, Error e) => BidirectionalGraph (ErrorT e g) Source # 

Methods

inEdges :: Vertex (ErrorT e g) -> ErrorT e g [Edge (ErrorT e g)] Source #

inDegree :: Vertex (ErrorT e g) -> ErrorT e g Int Source #

incidentEdges :: Vertex (ErrorT e g) -> ErrorT e g [Edge (ErrorT e g)] Source #

degree :: Vertex (ErrorT e g) -> ErrorT e g Int Source #

BidirectionalGraph g => BidirectionalGraph (ReaderT * e g) Source # 

Methods

inEdges :: Vertex (ReaderT * e g) -> ReaderT * e g [Edge (ReaderT * e g)] Source #

inDegree :: Vertex (ReaderT * e g) -> ReaderT * e g Int Source #

incidentEdges :: Vertex (ReaderT * e g) -> ReaderT * e g [Edge (ReaderT * e g)] Source #

degree :: Vertex (ReaderT * e g) -> ReaderT * e g Int Source #

(BidirectionalGraph g, Monoid m) => BidirectionalGraph (RWST r m s g) Source # 

Methods

inEdges :: Vertex (RWST r m s g) -> RWST r m s g [Edge (RWST r m s g)] Source #

inDegree :: Vertex (RWST r m s g) -> RWST r m s g Int Source #

incidentEdges :: Vertex (RWST r m s g) -> RWST r m s g [Edge (RWST r m s g)] Source #

degree :: Vertex (RWST r m s g) -> RWST r m s g Int Source #

(BidirectionalGraph g, Monoid m) => BidirectionalGraph (RWST r m s g) Source # 

Methods

inEdges :: Vertex (RWST r m s g) -> RWST r m s g [Edge (RWST r m s g)] Source #

inDegree :: Vertex (RWST r m s g) -> RWST r m s g Int Source #

incidentEdges :: Vertex (RWST r m s g) -> RWST r m s g [Edge (RWST r m s g)] Source #

degree :: Vertex (RWST r m s g) -> RWST r m s g Int Source #