模块 CamlinternalMenhirLib.InfiniteArray

module InfiniteArray: sig .. end

type 'a t 

此模块实现无限数组。*

val make : 'a -> 'a t

make x 创建一个无限数组,其中每个槽都包含 x。*

val get : 'a t -> int -> 'a

get a i 返回数组 a 中偏移量为 i 的元素。槽从 0 开始编号。*

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

set a i x 将数组 a 中偏移量为 i 的元素设置为 x。槽从 0 开始编号。*

val extent : 'a t -> int

extent a 是数组 a 的初始段的长度,该段足够大以包含所有执行过的 set 操作。换句话说,该段之外的所有元素都具有默认值。

val domain : 'a t -> 'a array

domain a 是数组 a 的初始段的一个新的副本,其长度为 extent a