`sig
module type S = S
module Slots : Tuple_type.Slots
module Slot : Tuple_type.Slot
module Pointer :
sig
type 'a t = private int
val null : unit -> 'a t
val is_null : 'a t -> bool
val phys_compare : 'a t -> 'a t -> int
val phys_equal : 'a t -> 'a t -> bool
module Id :
sig
type t
val to_int63 : t -> Int63.t
val of_int63 : Int63.t -> t
val t_of_sexp : Sexplib.Sexp.t -> t
val sexp_of_t : t -> Sexplib.Sexp.t
val bin_t : t Bin_prot.Type_class.t
val bin_read_t : t Bin_prot.Read.reader
val __bin_read_t__ : (int -> t) Bin_prot.Read.reader
val bin_reader_t : t Bin_prot.Type_class.reader
val bin_size_t : t Bin_prot.Size.sizer
val bin_write_t : t Bin_prot.Write.writer
val bin_writer_t : t Bin_prot.Type_class.writer
end
val sexp_of_t :
('slots -> Sexplib.Sexp.t) -> 'slots t -> Sexplib.Sexp.t
end
type 'slots t
val invariant : 'a Invariant_intf.inv -> 'a t Invariant_intf.inv
val pointer_is_valid : 'slots t -> 'slots Pointer.t -> bool
val id_of_pointer : 'slots t -> 'slots Pointer.t -> Pointer.Id.t
val pointer_of_id_exn : 'slots t -> Pointer.Id.t -> 'slots Pointer.t
val create :
('tuple, 'a) Slots.t ->
capacity:int -> dummy:'tuple -> ('tuple, 'a) Slots.t t
val max_capacity : slots_per_tuple:int -> int
val capacity : 'a t -> int
val length : 'a t -> int
val grow : ?capacity:int -> 'a t -> 'a t
val is_full : 'a t -> bool
val free : 'slots t -> 'slots Pointer.t -> unit
val unsafe_free : 'slots t -> 'slots Pointer.t -> unit
val new1 : 'a0 Slots.t1 t -> 'a0 -> 'a0 Slots.t1 Pointer.t
val new2 :
('a0, 'a1) Slots.t2 t -> 'a0 -> 'a1 -> ('a0, 'a1) Slots.t2 Pointer.t
val new3 :
('a0, 'a1, 'a2) Slots.t3 t ->
'a0 -> 'a1 -> 'a2 -> ('a0, 'a1, 'a2) Slots.t3 Pointer.t
val new4 :
('a0, 'a1, 'a2, 'a3) Slots.t4 t ->
'a0 -> 'a1 -> 'a2 -> 'a3 -> ('a0, 'a1, 'a2, 'a3) Slots.t4 Pointer.t
val new5 :
('a0, 'a1, 'a2, 'a3, 'a4) Slots.t5 t ->
'a0 ->
'a1 -> 'a2 -> 'a3 -> 'a4 -> ('a0, 'a1, 'a2, 'a3, 'a4) Slots.t5 Pointer.t
val new6 :
('a0, 'a1, 'a2, 'a3, 'a4, 'a5) Slots.t6 t ->
'a0 ->
'a1 ->
'a2 ->
'a3 -> 'a4 -> 'a5 -> ('a0, 'a1, 'a2, 'a3, 'a4, 'a5) Slots.t6 Pointer.t
val new7 :
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6) Slots.t7 t ->
'a0 ->
'a1 ->
'a2 ->
'a3 ->
'a4 ->
'a5 -> 'a6 -> ('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6) Slots.t7 Pointer.t
val new8 :
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Slots.t8 t ->
'a0 ->
'a1 ->
'a2 ->
'a3 ->
'a4 ->
'a5 ->
'a6 -> 'a7 -> ('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Slots.t8 Pointer.t
val new9 :
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7, 'a8) Slots.t9 t ->
'a0 ->
'a1 ->
'a2 ->
'a3 ->
'a4 ->
'a5 ->
'a6 ->
'a7 ->
'a8 -> ('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7, 'a8) Slots.t9 Pointer.t
val new10 :
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7, 'a8, 'a9) Slots.t10 t ->
'a0 ->
'a1 ->
'a2 ->
'a3 ->
'a4 ->
'a5 ->
'a6 ->
'a7 ->
'a8 ->
'a9 ->
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7, 'a8, 'a9) Slots.t10 Pointer.t
val new11 :
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7, 'a8, 'a9, 'a10) Slots.t11 t ->
'a0 ->
'a1 ->
'a2 ->
'a3 ->
'a4 ->
'a5 ->
'a6 ->
'a7 ->
'a8 ->
'a9 ->
'a10 ->
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7, 'a8, 'a9, 'a10) Slots.t11
Pointer.t
val new12 :
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7, 'a8, 'a9, 'a10, 'a11) Slots.t12
t ->
'a0 ->
'a1 ->
'a2 ->
'a3 ->
'a4 ->
'a5 ->
'a6 ->
'a7 ->
'a8 ->
'a9 ->
'a10 ->
'a11 ->
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7, 'a8, 'a9, 'a10, 'a11) Slots.t12
Pointer.t
val get_tuple :
('tuple, 'a) Slots.t t -> ('tuple, 'a) Slots.t Pointer.t -> 'tuple
val get :
('a, 'variant) Slots.t t ->
('a, 'variant) Slots.t Pointer.t -> ('variant, 'slot) Slot.t -> 'slot
val unsafe_get :
('a, 'variant) Slots.t t ->
('a, 'variant) Slots.t Pointer.t -> ('variant, 'slot) Slot.t -> 'slot
val set :
('a, 'variant) Slots.t t ->
('a, 'variant) Slots.t Pointer.t ->
('variant, 'slot) Slot.t -> 'slot -> unit
val unsafe_set :
('a, 'variant) Slots.t t ->
('a, 'variant) Slots.t Pointer.t ->
('variant, 'slot) Slot.t -> 'slot -> unit
val sexp_of_t : ('slots -> Sexplib.Sexp.t) -> 'slots t -> Sexplib.Sexp.t
module Unsafe :
sig
module Slots : Tuple_type.Slots
module Slot : Tuple_type.Slot
module Pointer :
sig
type 'a t = private int
val null : unit -> 'a t
val is_null : 'a t -> bool
val phys_compare : 'a t -> 'a t -> int
val phys_equal : 'a t -> 'a t -> bool
module Id :
sig
type t
val to_int63 : t -> Int63.t
val of_int63 : Int63.t -> t
val t_of_sexp : Sexplib.Sexp.t -> t
val sexp_of_t : t -> Sexplib.Sexp.t
val bin_t : t Bin_prot.Type_class.t
val bin_read_t : t Bin_prot.Read.reader
val __bin_read_t__ : (int -> t) Bin_prot.Read.reader
val bin_reader_t : t Bin_prot.Type_class.reader
val bin_size_t : t Bin_prot.Size.sizer
val bin_write_t : t Bin_prot.Write.writer
val bin_writer_t : t Bin_prot.Type_class.writer
end
val sexp_of_t :
('slots -> Sexplib.Sexp.t) -> 'slots t -> Sexplib.Sexp.t
end
type 'slots t
val invariant : 'a Invariant_intf.inv -> 'a t Invariant_intf.inv
val pointer_is_valid : 'slots t -> 'slots Pointer.t -> bool
val id_of_pointer : 'slots t -> 'slots Pointer.t -> Pointer.Id.t
val pointer_of_id_exn : 'slots t -> Pointer.Id.t -> 'slots Pointer.t
val max_capacity : slots_per_tuple:int -> int
val capacity : 'a t -> int
val length : 'a t -> int
val grow : ?capacity:int -> 'a t -> 'a t
val is_full : 'a t -> bool
val free : 'slots t -> 'slots Pointer.t -> unit
val unsafe_free : 'slots t -> 'slots Pointer.t -> unit
val new1 : 'a0 Slots.t1 t -> 'a0 -> 'a0 Slots.t1 Pointer.t
val new2 :
('a0, 'a1) Slots.t2 t -> 'a0 -> 'a1 -> ('a0, 'a1) Slots.t2 Pointer.t
val new3 :
('a0, 'a1, 'a2) Slots.t3 t ->
'a0 -> 'a1 -> 'a2 -> ('a0, 'a1, 'a2) Slots.t3 Pointer.t
val new4 :
('a0, 'a1, 'a2, 'a3) Slots.t4 t ->
'a0 -> 'a1 -> 'a2 -> 'a3 -> ('a0, 'a1, 'a2, 'a3) Slots.t4 Pointer.t
val new5 :
('a0, 'a1, 'a2, 'a3, 'a4) Slots.t5 t ->
'a0 ->
'a1 ->
'a2 -> 'a3 -> 'a4 -> ('a0, 'a1, 'a2, 'a3, 'a4) Slots.t5 Pointer.t
val new6 :
('a0, 'a1, 'a2, 'a3, 'a4, 'a5) Slots.t6 t ->
'a0 ->
'a1 ->
'a2 ->
'a3 ->
'a4 -> 'a5 -> ('a0, 'a1, 'a2, 'a3, 'a4, 'a5) Slots.t6 Pointer.t
val new7 :
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6) Slots.t7 t ->
'a0 ->
'a1 ->
'a2 ->
'a3 ->
'a4 ->
'a5 -> 'a6 -> ('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6) Slots.t7 Pointer.t
val new8 :
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Slots.t8 t ->
'a0 ->
'a1 ->
'a2 ->
'a3 ->
'a4 ->
'a5 ->
'a6 ->
'a7 -> ('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Slots.t8 Pointer.t
val new9 :
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7, 'a8) Slots.t9 t ->
'a0 ->
'a1 ->
'a2 ->
'a3 ->
'a4 ->
'a5 ->
'a6 ->
'a7 ->
'a8 ->
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7, 'a8) Slots.t9 Pointer.t
val new10 :
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7, 'a8, 'a9) Slots.t10 t ->
'a0 ->
'a1 ->
'a2 ->
'a3 ->
'a4 ->
'a5 ->
'a6 ->
'a7 ->
'a8 ->
'a9 ->
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7, 'a8, 'a9) Slots.t10
Pointer.t
val new11 :
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7, 'a8, 'a9, 'a10) Slots.t11 t ->
'a0 ->
'a1 ->
'a2 ->
'a3 ->
'a4 ->
'a5 ->
'a6 ->
'a7 ->
'a8 ->
'a9 ->
'a10 ->
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7, 'a8, 'a9, 'a10) Slots.t11
Pointer.t
val new12 :
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7, 'a8, 'a9, 'a10, 'a11)
Slots.t12 t ->
'a0 ->
'a1 ->
'a2 ->
'a3 ->
'a4 ->
'a5 ->
'a6 ->
'a7 ->
'a8 ->
'a9 ->
'a10 ->
'a11 ->
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7, 'a8, 'a9, 'a10, 'a11)
Slots.t12 Pointer.t
val get_tuple :
('tuple, 'a) Slots.t t -> ('tuple, 'a) Slots.t Pointer.t -> 'tuple
val get :
('a, 'variant) Slots.t t ->
('a, 'variant) Slots.t Pointer.t -> ('variant, 'slot) Slot.t -> 'slot
val unsafe_get :
('a, 'variant) Slots.t t ->
('a, 'variant) Slots.t Pointer.t -> ('variant, 'slot) Slot.t -> 'slot
val set :
('a, 'variant) Slots.t t ->
('a, 'variant) Slots.t Pointer.t ->
('variant, 'slot) Slot.t -> 'slot -> unit
val unsafe_set :
('a, 'variant) Slots.t t ->
('a, 'variant) Slots.t Pointer.t ->
('variant, 'slot) Slot.t -> 'slot -> unit
val sexp_of_t :
('slots -> Sexplib.Sexp.t) -> 'slots t -> Sexplib.Sexp.t
val create : ('a, 'b) Slots.t -> capacity:int -> ('a, 'b) Slots.t t
end
module Debug :
functor (Pool : S) ->
sig
module Slots : Tuple_type.Slots
module Slot : Tuple_type.Slot
module Pointer :
sig
type 'a t = 'a Pool.Pointer.t
val null : unit -> 'a t
val is_null : 'a t -> bool
val phys_compare : 'a t -> 'a t -> int
val phys_equal : 'a t -> 'a t -> bool
module Id :
sig
type t = Pool.Pointer.Id.t
val to_int63 : t -> Int63.t
val of_int63 : Int63.t -> t
val t_of_sexp : Sexplib.Sexp.t -> t
val sexp_of_t : t -> Sexplib.Sexp.t
val bin_t : t Bin_prot.Type_class.t
val bin_read_t : t Bin_prot.Read.reader
val __bin_read_t__ : (int -> t) Bin_prot.Read.reader
val bin_reader_t : t Bin_prot.Type_class.reader
val bin_size_t : t Bin_prot.Size.sizer
val bin_write_t : t Bin_prot.Write.writer
val bin_writer_t : t Bin_prot.Type_class.writer
end
val sexp_of_t :
('slots -> Sexplib.Sexp.t) -> 'slots t -> Sexplib.Sexp.t
end
type 'a t = 'a Pool.t
val invariant : 'a Invariant_intf.inv -> 'a t Invariant_intf.inv
val pointer_is_valid : 'slots t -> 'slots Pointer.t -> bool
val id_of_pointer : 'slots t -> 'slots Pointer.t -> Pointer.Id.t
val pointer_of_id_exn : 'slots t -> Pointer.Id.t -> 'slots Pointer.t
val create :
('tuple, 'a) Slots.t ->
capacity:int -> dummy:'tuple -> ('tuple, 'a) Slots.t t
val max_capacity : slots_per_tuple:int -> int
val capacity : 'a t -> int
val length : 'a t -> int
val grow : ?capacity:int -> 'a t -> 'a t
val is_full : 'a t -> bool
val free : 'slots t -> 'slots Pointer.t -> unit
val unsafe_free : 'slots t -> 'slots Pointer.t -> unit
val new1 : 'a0 Slots.t1 t -> 'a0 -> 'a0 Slots.t1 Pointer.t
val new2 :
('a0, 'a1) Slots.t2 t ->
'a0 -> 'a1 -> ('a0, 'a1) Slots.t2 Pointer.t
val new3 :
('a0, 'a1, 'a2) Slots.t3 t ->
'a0 -> 'a1 -> 'a2 -> ('a0, 'a1, 'a2) Slots.t3 Pointer.t
val new4 :
('a0, 'a1, 'a2, 'a3) Slots.t4 t ->
'a0 -> 'a1 -> 'a2 -> 'a3 -> ('a0, 'a1, 'a2, 'a3) Slots.t4 Pointer.t
val new5 :
('a0, 'a1, 'a2, 'a3, 'a4) Slots.t5 t ->
'a0 ->
'a1 ->
'a2 -> 'a3 -> 'a4 -> ('a0, 'a1, 'a2, 'a3, 'a4) Slots.t5 Pointer.t
val new6 :
('a0, 'a1, 'a2, 'a3, 'a4, 'a5) Slots.t6 t ->
'a0 ->
'a1 ->
'a2 ->
'a3 ->
'a4 -> 'a5 -> ('a0, 'a1, 'a2, 'a3, 'a4, 'a5) Slots.t6 Pointer.t
val new7 :
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6) Slots.t7 t ->
'a0 ->
'a1 ->
'a2 ->
'a3 ->
'a4 ->
'a5 ->
'a6 -> ('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6) Slots.t7 Pointer.t
val new8 :
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Slots.t8 t ->
'a0 ->
'a1 ->
'a2 ->
'a3 ->
'a4 ->
'a5 ->
'a6 ->
'a7 -> ('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Slots.t8 Pointer.t
val new9 :
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7, 'a8) Slots.t9 t ->
'a0 ->
'a1 ->
'a2 ->
'a3 ->
'a4 ->
'a5 ->
'a6 ->
'a7 ->
'a8 ->
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7, 'a8) Slots.t9 Pointer.t
val new10 :
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7, 'a8, 'a9) Slots.t10 t ->
'a0 ->
'a1 ->
'a2 ->
'a3 ->
'a4 ->
'a5 ->
'a6 ->
'a7 ->
'a8 ->
'a9 ->
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7, 'a8, 'a9) Slots.t10
Pointer.t
val new11 :
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7, 'a8, 'a9, 'a10) Slots.t11
t ->
'a0 ->
'a1 ->
'a2 ->
'a3 ->
'a4 ->
'a5 ->
'a6 ->
'a7 ->
'a8 ->
'a9 ->
'a10 ->
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7, 'a8, 'a9, 'a10) Slots.t11
Pointer.t
val new12 :
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7, 'a8, 'a9, 'a10, 'a11)
Slots.t12 t ->
'a0 ->
'a1 ->
'a2 ->
'a3 ->
'a4 ->
'a5 ->
'a6 ->
'a7 ->
'a8 ->
'a9 ->
'a10 ->
'a11 ->
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7, 'a8, 'a9, 'a10, 'a11)
Slots.t12 Pointer.t
val get_tuple :
('tuple, 'a) Slots.t t -> ('tuple, 'a) Slots.t Pointer.t -> 'tuple
val get :
('a, 'variant) Slots.t t ->
('a, 'variant) Slots.t Pointer.t ->
('variant, 'slot) Slot.t -> 'slot
val unsafe_get :
('a, 'variant) Slots.t t ->
('a, 'variant) Slots.t Pointer.t ->
('variant, 'slot) Slot.t -> 'slot
val set :
('a, 'variant) Slots.t t ->
('a, 'variant) Slots.t Pointer.t ->
('variant, 'slot) Slot.t -> 'slot -> unit
val unsafe_set :
('a, 'variant) Slots.t t ->
('a, 'variant) Slots.t Pointer.t ->
('variant, 'slot) Slot.t -> 'slot -> unit
val sexp_of_t :
('slots -> Sexplib.Sexp.t) -> 'slots t -> Sexplib.Sexp.t
val check_invariant : bool Pervasives.ref
val show_messages : bool Pervasives.ref
end
module Error_check : functor (Pool : S) -> S
end`