Up

module Ir_s

: sig

Irmin stores

#
module type STORE = sig
include Ir_bc.STORE
#
module Key : Ir_path.S with type step = step
#
module Val : Ir_contents.S with type t = value
#
module Tag : Ir_tag.S with type t = tag
#
module Head : Ir_hash.S with type t = head
#
module Private : sig
include Ir_bc.PRIVATE with type Contents.value = value and type Node.Path.step = step and type Commit.key = head and type Tag.key = tag and type Slice.t = slice
#
val config : t -> Ir_conf.t
#
val contents_t : t -> Contents.t
#
val node_t : t -> Node.t
#
val commit_t : t -> Commit.t
#
val tag_t : t -> Tag.t
#
val read_node : t -> key -> Node.key option Lwt.t
#
val mem_node : t -> key -> bool Lwt.t
#
val update_node : t -> key -> Node.key -> unit Lwt.t
end
end
#
module type MAKER = functor (P : Ir_path.S) -> functor (C : Ir_contents.S) -> functor (T : Ir_tag.S) -> functor (H : Ir_hash.S) -> STORE with type step = P.step and type value = C.t and type tag = T.t and type head = H.t
#
module Make : functor (AO : Ir_ao.MAKER) -> functor (RW : Ir_rw.MAKER) -> MAKER
#
module Make_ext : functor (P : Ir_bc.PRIVATE) -> STORE with type step = P.Node.Path.step and type value = P.Contents.value and type tag = P.Tag.key and type head = P.Tag.value
#
module Default : functor (S : MAKER) -> functor (C : Ir_contents.S) -> STORE with type step = string and type value = C.t and type tag = string and type head = Ir_hash.SHA1.t
end