graphs-0.7: 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 #

Minimal complete definition

inEdges

Methods

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

inDegree :: Vertex g -> g Int #

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

degree :: Vertex g -> g Int #

Instances

BidirectionalGraph Identity # 
BidirectionalGraph g => BidirectionalGraph (MaybeT g) # 
BidirectionalGraph g => BidirectionalGraph (Dual g) # 

Methods

inEdges :: Vertex (Dual g) -> Dual g [Edge (Dual g)] #

inDegree :: Vertex (Dual g) -> Dual g Int #

incidentEdges :: Vertex (Dual g) -> Dual g [Edge (Dual g)] #

degree :: Vertex (Dual g) -> Dual g Int #

(BidirectionalGraph g, Monoid m) => BidirectionalGraph (WriterT m g) # 

Methods

inEdges :: Vertex (WriterT m g) -> WriterT m g [Edge (WriterT m g)] #

inDegree :: Vertex (WriterT m g) -> WriterT m g Int #

incidentEdges :: Vertex (WriterT m g) -> WriterT m g [Edge (WriterT m g)] #

degree :: Vertex (WriterT m g) -> WriterT m g Int #

(BidirectionalGraph g, Monoid m) => BidirectionalGraph (WriterT m g) # 

Methods

inEdges :: Vertex (WriterT m g) -> WriterT m g [Edge (WriterT m g)] #

inDegree :: Vertex (WriterT m g) -> WriterT m g Int #

incidentEdges :: Vertex (WriterT m g) -> WriterT m g [Edge (WriterT m g)] #

degree :: Vertex (WriterT m g) -> WriterT m g Int #

BidirectionalGraph g => BidirectionalGraph (StateT s g) # 

Methods

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

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

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

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

BidirectionalGraph g => BidirectionalGraph (StateT s g) # 

Methods

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

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

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

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

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

Methods

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

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

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

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

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

Methods

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

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

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

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

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

Methods

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

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

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

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

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

Methods

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

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

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

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