sig
module Slots : Tuple_type.Slots
module Slot : Tuple_type.Slot
module Pointer :
sig
type 'slots t
val null : unit -> 'a Pool_intf.S.Pointer.t
val is_null : 'a Pool_intf.S.Pointer.t -> bool
val phys_equal :
'a Pool_intf.S.Pointer.t -> 'a Pool_intf.S.Pointer.t -> bool
module Id :
sig
type t
val t_of_sexp : Sexplib.Sexp.t -> Pool_intf.S.Pointer.Id.t
val sexp_of_t : Pool_intf.S.Pointer.Id.t -> Sexplib.Sexp.t
val bin_t : Pool_intf.S.Pointer.Id.t Bin_prot.Type_class.t
val bin_read_t : Pool_intf.S.Pointer.Id.t Bin_prot.Read_ml.reader
val bin_read_t_ :
Pool_intf.S.Pointer.Id.t Bin_prot.Unsafe_read_c.reader
val bin_read_t__ :
(int -> Pool_intf.S.Pointer.Id.t) Bin_prot.Unsafe_read_c.reader
val bin_reader_t :
Pool_intf.S.Pointer.Id.t Bin_prot.Type_class.reader
val bin_size_t : Pool_intf.S.Pointer.Id.t Bin_prot.Size.sizer
val bin_write_t : Pool_intf.S.Pointer.Id.t Bin_prot.Write_ml.writer
val bin_write_t_ :
Pool_intf.S.Pointer.Id.t Bin_prot.Unsafe_write_c.writer
val bin_writer_t :
Pool_intf.S.Pointer.Id.t Bin_prot.Type_class.writer
end
val sexp_of_t :
('slots -> Sexplib.Sexp.t) ->
'slots Pool_intf.S.Pointer.t -> Sexplib.Sexp.t
end
type 'slots t
val invariant : 'a Invariant_intf.inv -> 'a t Invariant_intf.inv
val pointer_is_valid :
'slots Pool_intf.S.t -> 'slots Pool_intf.S.Pointer.t -> bool
val id_of_pointer :
'slots Pool_intf.S.t ->
'slots Pool_intf.S.Pointer.t -> Pool_intf.S.Pointer.Id.t
val pointer_of_id_exn :
'slots Pool_intf.S.t ->
Pool_intf.S.Pointer.Id.t -> 'slots Pool_intf.S.Pointer.t
val pointer_of_id_exn_is_supported : bool
val create :
('tuple, 'a) Slots.t ->
capacity:int -> dummy:'tuple -> ('tuple, 'a) Slots.t Pool_intf.S.t
val capacity : 'a Pool_intf.S.t -> int
val length : 'a Pool_intf.S.t -> int
val grow : ?capacity:int -> 'a Pool_intf.S.t -> 'a Pool_intf.S.t
val is_full : 'a Pool_intf.S.t -> bool
val free : 'slots Pool_intf.S.t -> 'slots Pool_intf.S.Pointer.t -> unit
val new1 :
'a0 Slots.t1 Pool_intf.S.t -> 'a0 -> 'a0 Slots.t1 Pool_intf.S.Pointer.t
val new2 :
('a0, 'a1) Slots.t2 Pool_intf.S.t ->
'a0 -> 'a1 -> ('a0, 'a1) Slots.t2 Pool_intf.S.Pointer.t
val new3 :
('a0, 'a1, 'a2) Slots.t3 Pool_intf.S.t ->
'a0 -> 'a1 -> 'a2 -> ('a0, 'a1, 'a2) Slots.t3 Pool_intf.S.Pointer.t
val new4 :
('a0, 'a1, 'a2, 'a3) Slots.t4 Pool_intf.S.t ->
'a0 ->
'a1 -> 'a2 -> 'a3 -> ('a0, 'a1, 'a2, 'a3) Slots.t4 Pool_intf.S.Pointer.t
val new5 :
('a0, 'a1, 'a2, 'a3, 'a4) Slots.t5 Pool_intf.S.t ->
'a0 ->
'a1 ->
'a2 ->
'a3 -> 'a4 -> ('a0, 'a1, 'a2, 'a3, 'a4) Slots.t5 Pool_intf.S.Pointer.t
val new6 :
('a0, 'a1, 'a2, 'a3, 'a4, 'a5) Slots.t6 Pool_intf.S.t ->
'a0 ->
'a1 ->
'a2 ->
'a3 ->
'a4 ->
'a5 -> ('a0, 'a1, 'a2, 'a3, 'a4, 'a5) Slots.t6 Pool_intf.S.Pointer.t
val new7 :
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6) Slots.t7 Pool_intf.S.t ->
'a0 ->
'a1 ->
'a2 ->
'a3 ->
'a4 ->
'a5 ->
'a6 -> ('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6) Slots.t7 Pool_intf.S.Pointer.t
val new8 :
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Slots.t8 Pool_intf.S.t ->
'a0 ->
'a1 ->
'a2 ->
'a3 ->
'a4 ->
'a5 ->
'a6 ->
'a7 ->
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Slots.t8 Pool_intf.S.Pointer.t
val new9 :
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7, 'a8) Slots.t9 Pool_intf.S.t ->
'a0 ->
'a1 ->
'a2 ->
'a3 ->
'a4 ->
'a5 ->
'a6 ->
'a7 ->
'a8 ->
('a0, 'a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7, 'a8) Slots.t9
Pool_intf.S.Pointer.t
val get_tuple :
('tuple, 'a) Slots.t Pool_intf.S.t ->
('tuple, 'a) Slots.t Pool_intf.S.Pointer.t -> 'tuple
val get :
('a, 'variant) Slots.t Pool_intf.S.t ->
('a, 'variant) Slots.t Pool_intf.S.Pointer.t ->
('variant, 'slot) Slot.t -> 'slot
val unsafe_get :
('a, 'variant) Slots.t Pool_intf.S.t ->
('a, 'variant) Slots.t Pool_intf.S.Pointer.t ->
('variant, 'slot) Slot.t -> 'slot
val set :
('a, 'variant) Slots.t Pool_intf.S.t ->
('a, 'variant) Slots.t Pool_intf.S.Pointer.t ->
('variant, 'slot) Slot.t -> 'slot -> unit
val unsafe_set :
('a, 'variant) Slots.t Pool_intf.S.t ->
('a, 'variant) Slots.t Pool_intf.S.Pointer.t ->
('variant, 'slot) Slot.t -> 'slot -> unit
val sexp_of_t :
('slots -> Sexplib.Sexp.t) -> 'slots Pool_intf.S.t -> Sexplib.Sexp.t
end