package frenetic

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type t
type vertex
val sexp_of_vertex : vertex -> Ppx_sexp_conv_lib.Sexp.t
val vertex_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> vertex
type edge
val sexp_of_edge : edge -> Ppx_sexp_conv_lib.Sexp.t
val edge_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> edge
type port = int32
val sexp_of_port : port -> Ppx_sexp_conv_lib.Sexp.t
val port_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> port
module Vertex = Vertex
module Edge = Edge
module UnitWeight : WEIGHT with type t = int and type edge = Edge.t
module EdgeSet : Core_kernel.Set.S with type Elt.t = edge
module PortSet : Core_kernel.Set.S with type Elt.t = port
val copy : t -> t
val empty : unit -> t
val add_vertex : t -> Vertex.t -> t * vertex
val add_port : t -> vertex -> port -> t
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_port : t -> vertex -> port -> t
val remove_edge : t -> edge -> t
val remove_endpoint : t -> (vertex * port) -> t