# Module RefList.Index

    module Index: sig .. end

Functions that operate on the `i`th element of a list.

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 RefList.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 RefList.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 RefList.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 RefList.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 RefList.t -> int -> unit

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