Up

Module type Pool

Signature

module type S = S
include S with type 'a Pointer.t = private int
module Unsafe : sig .. end
An Unsafe pool is like an ordinary pool, except that the create function does not require an initial element.
module Debug (Pool : S) : sig .. end
Debug builds a pool in which every function can run invariant on its pool argument(s) and/or print a debug message to stderr, as determined by !check_invariant and !show_messages, which are initially both true.
module Error_check (Pool : S) : S
Error_check builds a pool that has additional error checking for pointers, in particular to detect using a freed pointer or multiply freeing a pointer.