Module MultiGraph.G.Edge
module Edge:Module to manage edges. Edges are values of typesig
..end
Edge.t
and are shared
by all multi-graphs.include Print.PRINTABLE_TYPE
The printable type of edges.
module Label:Print.PRINTABLE_TYPE
The printable type of edge labels.
val create : MultiGraph.G.Vertex.t -> Label.t -> MultiGraph.G.Vertex.t -> t
create v l v'
creates a new edge from v
to v'
labeled with l
.
The resulting edge is distinct (w.r.t. to the equality predicate below)
from all other edges managed by this module.val src : t -> MultiGraph.G.Vertex.t
src e
returns the source vertex of the edge e
.val tgt : t -> MultiGraph.G.Vertex.t
tgt e
returns the target vertex of the edge e
.val lbl : t -> Label.t
lbl e
returns the label of the edge e
.Edges are ordered (see
Set.OrderedType
or Map.OrderedType
) and
hashable (see Hashtbl.HashedType
).val compare : t -> t -> int
Total ordering over edges.
val equal : t -> t -> bool
equal e1 e2
tests whether e1 and e2 are the same edge, i.e. represent
the same element in the set of edges. There may be multiple edges with
the same end nodes and the same label.val hash : t -> int
Hashing function on edges.