Make_helpers.Graph
type 'a t = 'a B.Node.t
type contents_key = B.Node.Contents.key
val contents_key_t : contents_key Brassaia.Type.t
type node_key = B.Node.key
val node_key_t : node_key Brassaia.Type.t
val value_t : value Brassaia.Type.t
val empty : [> Brassaia.Perms.write ] t -> node_key Lwt.t
val init :
[> Brassaia.Perms.write ] t ->
(Brassaia.Path.step * value) list ->
node_key Lwt.t
val list :
[> Brassaia.Perms.read ] t ->
node_key ->
(Brassaia.Path.step * value) list Lwt.t
val find :
[> Brassaia.Perms.read ] t ->
node_key ->
Brassaia.Path.t ->
value option Lwt.t
val add :
[> Brassaia.Perms.read_write ] t ->
node_key ->
Brassaia.Path.t ->
value ->
node_key Lwt.t
val remove :
[> Brassaia.Perms.read_write ] t ->
node_key ->
Brassaia.Path.t ->
node_key Lwt.t
val closure :
[> Brassaia.Perms.read ] t ->
min:node_key list ->
max:node_key list ->
node_key list Lwt.t
val iter :
[> Brassaia.Perms.read ] t ->
min:node_key list ->
max:node_key list ->
?node:(node_key -> unit Lwt.t) ->
?contents:(contents_key -> unit Lwt.t) ->
?edge:(node_key -> node_key -> unit Lwt.t) ->
?skip_node:(node_key -> bool Lwt.t) ->
?skip_contents:(contents_key -> bool Lwt.t) ->
?rev:bool ->
unit ->
unit Lwt.t