Module Make_internal.Raw

include Pack_value.S with type hash = hash with type key = key
include Irmin.Type.S
type t
val t : t Repr__Type.ty
type hash = hash
type key = key
val hash : t -> hash
val kind : t -> Pack_value.Kind.t
val length_header : Pack_value.Kind.t -> [ `Varint ] option

Describes the length header formats for the data sections of pack entries.

val weight : t -> Irmin_pack__.Pack_value_intf.weight

weight t is the t's LRU weight.

val encode_bin : dict:(string -> int option) -> offset_of_key:(key -> Optint.Int63.t option) -> hash -> t Irmin.Type.encode_bin
val decode_bin : dict:(int -> string option) -> key_of_offset:(Optint.Int63.t -> key) -> key_of_hash:(hash -> key) -> t Irmin.Type.decode_bin
val decode_bin_length : string -> int -> int
val to_kinded : t -> Irmin_pack__.Pack_value_intf.kinded

to_kinded t returns a kinded version of t.

val of_kinded : Irmin_pack__.Pack_value_intf.kinded -> t

of_kinded k is the inverse of to_kinded t.

It is expected that an implementation only works for k that is returned from to_kinded t and will raise an exception otherwise.

val depth : t -> int option
exception Invalid_depth of {
  1. expected : int;
  2. got : int;
  3. v : t;
}
val decode_children_offsets : entry_of_offset:(Optint.Int63.t -> 'a) -> entry_of_hash:(hash -> 'a) -> string -> int Stdlib.ref -> 'a list