Module type Sig.EDGE

module type EDGE = sig .. end
Signature for edges.

Edges are Sig.ORDERED_TYPE.
type t 
val compare : t -> t -> int

Edges are directed.
type vertex 
val src : t -> vertex
Edge origin.
val dst : t -> vertex
Edge destination.

Edges are labeled.
type label 
val create : vertex -> label -> vertex -> t
create v1 l v2 creates an edge from v1 to v2 with label l
val label : t -> label
Get the label of an edge.