haggle-0.1.0.0: A graph library offering mutable, immutable, and inductive graphs

Safe HaskellNone
LanguageHaskell2010

Data.Graph.Haggle.EdgeLabelAdapter

Description

This adapter adds edge labels (but not vertex labels) to graphs.

It only supports addLabeledEdge, not addEdge. See LabeledGraph for more details.

Documentation

data EdgeLabeledMGraph g el s Source #

Instances
MBidirectional g => MBidirectional (EdgeLabeledMGraph g el) Source # 
Instance details

Defined in Data.Graph.Haggle.EdgeLabelAdapter

MAddEdge g => MLabeledEdge (EdgeLabeledMGraph g el) Source # 
Instance details

Defined in Data.Graph.Haggle.EdgeLabelAdapter

Associated Types

type MEdgeLabel (EdgeLabeledMGraph g el) :: Type Source #

MAddVertex g => MAddVertex (EdgeLabeledMGraph g el) Source # 
Instance details

Defined in Data.Graph.Haggle.EdgeLabelAdapter

Methods

addVertex :: (PrimMonad m, MonadRef m) => EdgeLabeledMGraph g el m -> m Vertex Source #

MGraph g => MGraph (EdgeLabeledMGraph g el) Source # 
Instance details

Defined in Data.Graph.Haggle.EdgeLabelAdapter

Associated Types

type ImmutableGraph (EdgeLabeledMGraph g el) :: Type Source #

type MEdgeLabel (EdgeLabeledMGraph g el) Source # 
Instance details

Defined in Data.Graph.Haggle.EdgeLabelAdapter

type MEdgeLabel (EdgeLabeledMGraph g el) = el
type ImmutableGraph (EdgeLabeledMGraph g el) Source # 
Instance details

Defined in Data.Graph.Haggle.EdgeLabelAdapter

data EdgeLabeledGraph g el Source #

Instances
(NFData g, NFData el) => NFData (EdgeLabeledGraph g el) Source # 
Instance details

Defined in Data.Graph.Haggle.EdgeLabelAdapter

Methods

rnf :: EdgeLabeledGraph g el -> () #

Bidirectional g => BidirectionalEdgeLabel (EdgeLabeledGraph g el) Source # 
Instance details

Defined in Data.Graph.Haggle.EdgeLabelAdapter

Graph g => HasEdgeLabel (EdgeLabeledGraph g el) Source # 
Instance details

Defined in Data.Graph.Haggle.EdgeLabelAdapter

Associated Types

type EdgeLabel (EdgeLabeledGraph g el) :: Type Source #

Bidirectional g => Bidirectional (EdgeLabeledGraph g el) Source # 
Instance details

Defined in Data.Graph.Haggle.EdgeLabelAdapter

Thawable g => Thawable (EdgeLabeledGraph g el) Source # 
Instance details

Defined in Data.Graph.Haggle.EdgeLabelAdapter

Associated Types

type MutableGraph (EdgeLabeledGraph g el) :: (Type -> Type) -> Type Source #

Methods

thaw :: (PrimMonad m, MonadRef m) => EdgeLabeledGraph g el -> m (MutableGraph (EdgeLabeledGraph g el) m) Source #

Graph g => Graph (EdgeLabeledGraph g el) Source # 
Instance details

Defined in Data.Graph.Haggle.EdgeLabelAdapter

type EdgeLabel (EdgeLabeledGraph g el) Source # 
Instance details

Defined in Data.Graph.Haggle.EdgeLabelAdapter

type EdgeLabel (EdgeLabeledGraph g el) = el
type MutableGraph (EdgeLabeledGraph g el) Source # 
Instance details

Defined in Data.Graph.Haggle.EdgeLabelAdapter

newEdgeLabeledGraph :: (MGraph g, PrimMonad m, MonadRef m) => m (g m) -> m (EdgeLabeledMGraph g nl m) Source #

newSizedEdgeLabeledGraph :: (MGraph g, PrimMonad m, MonadRef m) => (Int -> Int -> m (g m)) -> Int -> Int -> m (EdgeLabeledMGraph g el m) Source #

mapEdgeLabel :: EdgeLabeledGraph g el -> (el -> el') -> EdgeLabeledGraph g el' Source #