Module BatRefList.Index

module Index: sig .. end

Functions that operate on the element at index i in a list (with indices starting from 0).

While it is sometimes necessary to perform these operations on lists (hence their inclusion here), the functions were moved to an inner module to prevent their overuse: all functions work in O(n) time. You might prefer to use Array or DynArray for constant time indexed element access.


val index_of : 'a BatRefList.t -> 'a -> int

Return the index (position : 0 starting) of an element in a ref list, using ( = ) for testing element equality raise Not_found if no element was found

val index : ('a -> bool) -> 'a BatRefList.t -> int

Return the index (position : 0 starting) of an element in a ref list, using the specified comparator raise Not_found if no element was found

val at_index : 'a BatRefList.t -> int -> 'a

Return the element of ref list at the specified index raise Invalid_index if the index is outside 0 ; length-1

val set : 'a BatRefList.t -> int -> 'a -> unit

Change the element at the specified index raise Invalid_index if the index is outside 0 ; length-1

val remove_at : 'a BatRefList.t -> int -> unit

Remove the element at the specified index raise Invalid_index if the index is outside 0 ; length-1