package topology

  1. Overview
  2. Docs
type t
type vertex
type edge
type port = int32
module Vertex : sig ... end
module Edge : sig ... end
module UnitWeight : sig ... end
module EdgeSet : sig ... end
module VertexSet : sig ... end
module VertexHash : sig ... end
module PortSet : sig ... end
val copy : t -> t
val empty : unit -> t
val add_vertex : t -> Vertex.t -> t * vertex
val add_edge : t -> vertex -> port -> Edge.t -> vertex -> port -> t * edge
val num_vertexes : t -> int
val num_edges : t -> int
val vertexes : t -> VertexSet.t
val edges : t -> EdgeSet.t
val neighbors : t -> vertex -> VertexSet.t
val find_edge : t -> vertex -> vertex -> edge
val find_all_edges : t -> vertex -> vertex -> EdgeSet.t
val vertex_to_ports : t -> vertex -> PortSet.t
val next_hop : t -> vertex -> port -> edge option
val edge_src : edge -> vertex * port
val edge_dst : edge -> vertex * port
val inverse_edge : t -> edge -> edge option
val vertex_to_string : t -> vertex -> string
val vertex_to_label : t -> vertex -> Vertex.t
val vertex_of_label : t -> Vertex.t -> vertex
val edge_to_string : t -> edge -> string
val edge_to_label : t -> edge -> Edge.t
val iter_succ : (edge -> unit) -> t -> vertex -> unit
val iter_vertexes : (vertex -> unit) -> t -> unit
val iter_edges : (edge -> unit) -> t -> unit
val fold_vertexes : (vertex -> 'a -> 'a) -> t -> 'a -> 'a
val fold_edges : (edge -> 'a -> 'a) -> t -> 'a -> 'a
val remove_vertex : t -> vertex -> t
val remove_edge : t -> edge -> t
val remove_endpoint : t -> (vertex * port) -> t
OCaml

Innovation. Community. Security.