package irmin-pack

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

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
52
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 of_magic_exn : char -> t
    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
OCaml

Innovation. Community. Security.