val invariant : _ t -> unitval empty : _ tval create : len:int -> 'a -> 'a tval singleton : 'a -> 'a tval init : int -> f:(int -> 'a) -> 'a tval length : 'a t -> intval get : 'a t -> int -> 'aval unsafe_get : 'a t -> int -> 'aval set : 'a t -> int -> 'a -> unitval unsafe_set : 'a t -> int -> 'a -> unitval swap : _ t -> int -> int -> unitval unsafe_set_omit_phys_equal_check : 'a t -> int -> 'a -> unitunsafe_set_omit_phys_equal_check is like unsafe_set, except it doesn't do a phys_equal check to try to skip caml_modify. It is safe to call this even if the values are phys_equal.
val iter : 'a t -> f:('a -> unit) -> unitval of_array : 'a array -> 'a tof_array and to_array return fresh arrays with the same contents rather than returning a reference to the underlying array.
val to_array : 'a t -> 'a arrayval of_list : 'a list -> 'a tval to_list : 'a t -> 'a listval unsafe_truncate : _ t -> len:int -> unitunsafe_truncate t ~len shortens t's length to len. It is an error if len <= 0 or len > length t. It's unsafe to truncate in the middle of iteration.
Extra lowlevel and unsafe functions
val unsafe_create_uninitialized : len:int -> _ tThe behavior is undefined if you access an element before setting it.
val create_obj_array : len:int -> Caml.Obj.t tNew obj array filled with Obj.repr 0
val unsafe_set_assuming_currently_int : Caml.Obj.t t -> int -> Caml.Obj.t -> unitunsafe_set_assuming_currently_int t i obj sets index i of t to obj, but only works correctly if the value there is an immediate, i.e. Caml.Obj.is_int (get t i). This precondition saves a dynamic check.
unsafe_set_int_assuming_currently_int is similar, except the value being set is an int.
unsafe_set_int is similar but does not assume anything about the target.
val unsafe_set_int_assuming_currently_int : Caml.Obj.t t -> int -> int -> unitval unsafe_set_int : Caml.Obj.t t -> int -> int -> unitval unsafe_clear_if_pointer : Caml.Obj.t t -> int -> unitunsafe_clear_if_pointer t i prevents t.(i) from pointing to anything to prevent space leaks. It does this by setting t.(i) to Caml.Obj.repr 0. As a performance hack, it only does this when not (Caml.Obj.is_int t.(i)). It is an error to access the cleared index before setting it again.
val exists : 'a t -> f:('a -> bool) -> boolAs Array.exists.
Functions with the 2 suffix raise an exception if the lengths of the two given arrays aren't the same.
val min_elt : 'a t -> compare:('a -> 'a -> int) -> 'a optionval max_elt : 'a t -> compare:('a -> 'a -> int) -> 'a option