Slice.Make
module C : Contents.STORE
module N : Node.STORE
module H : Commit.STORE
type t
The type for slices.
type contents = C.key * C.value
The type for exported contents.
type node = N.key * N.value
The type for exported nodes.
type commit = H.key * H.value
The type for exported commits.
type value = [
|
`Contents of contents
`Node of node
`Commit of commit
]
The type for exported values.
val empty : unit -> t Lwt.t
Create a new empty slice.
val add : t -> value -> unit Lwt.t
add t v adds v to t.
add t v
v
t
val iter : t -> (value -> unit Lwt.t) -> unit Lwt.t
iter t f calls f on all values of t.
iter t f
f
val t : t Type.t
t is the value type for t.
val contents_t : contents Type.t
content_t is the value type for contents.
content_t
contents
val node_t : node Type.t
node_t is the value type for node.
node_t
node
val commit_t : commit Type.t
commit_t is the value type for commit.
commit_t
commit
val value_t : value Type.t
value_t is the value type for value.
value_t
value