Source file pack_value_intf.ml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
open! Import
module type S = sig
include Irmin.Type.S
type hash
type kind
val hash : t -> hash
val kind : t -> kind
val encode_bin :
dict:(string -> int option) ->
offset:(hash -> int63 option) ->
t ->
hash ->
(string -> unit) ->
unit
val decode_bin :
dict:(int -> string option) ->
hash:(int63 -> hash) ->
string ->
int ->
int * t
val decode_bin_length : string -> int -> int
end
module type Sigs = sig
module Kind : sig
type t = Commit | Contents | Inode | Node [@@deriving irmin]
val to_magic : t -> char
val pp : t Fmt.t
end
module type S = S with type kind := Kind.t
module Make (_ : sig
val selected_kind : Kind.t
end)
(Hash : Irmin.Hash.S)
(Data : Irmin.Type.S) : S with type hash = Hash.t
module Of_contents (Hash : Irmin.Hash.S) (Contents : Irmin.Contents.S) :
S with type t = Contents.t and type hash = Hash.t
module Of_commit (Hash : Irmin.Hash.S) (Commit : Irmin.Private.Commit.S) :
S with type t = Commit.t and type hash = Hash.t
end