# 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`