Fmlib.PoolAn arrayed pool of elements of a certain type.
val make_empty : unit -> 'a tMake an empty pool.
val capacity : 'a t -> intThe current capacity of the pool.
val has : 'a t -> int -> boolhas p i Has the pool p an element at position i?
val elem : 'a t -> int -> 'aelem p i The ith element of the pool p.
val find : 'a t -> int -> intfind p i finds the next occupied element in the pool p starting from i. Returns i if i is occupied. Returns capacity if there is no next occupied element.
val occupy : 'a t -> 'a -> intoccupy p a occupies a place for the element a and puts it there. If there are no free elements then allocate space in pool. Return the position of the element a in the pool.
val release : 'a t -> int -> unitrelease p i makes the position i in the pool free.