Module Mutable.Make

Parameters

Signature

type key = Vector.key
module Vector = Vector
type 'a t
val num_elements : 'a t -> key
val of_immutable : 'a Vector.t -> 'a t
val create : ?values:'a Vector.Map.Map.t -> ?produce_value:'a Vector.producer -> ?origin:Mavryk_tree_encoding.wrapped_tree -> key -> 'a t
val origin : 'a t -> Mavryk_tree_encoding.wrapped_tree option
val get : key -> 'a t -> 'a Lwt.t
val set : key -> 'a -> 'a t -> unit
val grow : ?default:(unit -> 'a) -> key -> 'a t -> unit
val append : 'a -> 'a t -> key
val cons : 'a -> 'a t -> unit
val drop : 'a t -> unit
val pop : 'a t -> 'a Lwt.t
val reset : 'a t -> unit

reset vec empties vec completely. Contrary to pop, no values are read from the underlying backend.

val snapshot : 'a t -> 'a Vector.t