A module internal to Core_bench. Please look at Bench.

Arrays in which only some initial segment is meaningful.

type 'a t = {
values : 'a array;
mutable len : int;
}
val len : 'a t -> int
val set_len : 'a t -> int -> unit
val values : 'a t -> 'a array
module Fields : sig .. end
val names : string list
val len : ([< `Read | `Set_and_create ], 'a t, int) Fieldslib.Field.t_with_perm
val values : ([< `Read | `Set_and_create ], 'a t, 'a array) Fieldslib.Field.t_with_perm
val make_creator : values:(([< `Read | `Set_and_create ], 'a t, 'a array)
        Fieldslib.Field.t_with_perm -> 'b -> ('c -> 'd array) * 'e) ->
len:(([< `Read | `Set_and_create ], 'f t, int) Fieldslib.Field.t_with_perm ->
     'e -> ('c -> int) * 'g) ->
'b -> ('c -> 'd t) * 'g
val create : values:'a array -> len:int -> 'a t
val map : values:(([< `Read | `Set_and_create ], 'a t, 'a array)
        Fieldslib.Field.t_with_perm -> 'b array) ->
len:(([< `Read | `Set_and_create ], 'c t, int) Fieldslib.Field.t_with_perm ->
     int) ->
'b t
val iter : values:(([< `Read | `Set_and_create ], 'a t, 'a array)
        Fieldslib.Field.t_with_perm -> 'b) ->
len:(([< `Read | `Set_and_create ], 'c t, int) Fieldslib.Field.t_with_perm ->
     'd) ->
'd
val fold : init:'a ->
values:('a ->
        ([< `Read | `Set_and_create ], 'b t, 'b array)
        Fieldslib.Field.t_with_perm -> 'c) ->
len:('c ->
     ([< `Read | `Set_and_create ], 'd t, int) Fieldslib.Field.t_with_perm ->
     'e) ->
'e
val map_poly : ([< `Read | `Set_and_create ], 'a t, 'b) Fieldslib.Field.user -> 'b list
val for_all : values:(([< `Read | `Set_and_create ], 'a t, 'a array)
        Fieldslib.Field.t_with_perm -> bool) ->
len:(([< `Read | `Set_and_create ], 'b t, int) Fieldslib.Field.t_with_perm ->
     bool) ->
bool
val exists : values:(([< `Read | `Set_and_create ], 'a t, 'a array)
        Fieldslib.Field.t_with_perm -> bool) ->
len:(([< `Read | `Set_and_create ], 'b t, int) Fieldslib.Field.t_with_perm ->
     bool) ->
bool
val to_list : values:(([< `Read | `Set_and_create ], 'a t, 'a array)
        Fieldslib.Field.t_with_perm -> 'b) ->
len:(([< `Read | `Set_and_create ], 'c t, int) Fieldslib.Field.t_with_perm ->
     'b) ->
'b list
module Direct : sig .. end
val iter : 'a t ->
values:(([< `Read | `Set_and_create ], 'b t, 'b array)
        Fieldslib.Field.t_with_perm -> 'a t -> 'a array -> 'c) ->
len:(([< `Read | `Set_and_create ], 'd t, int) Fieldslib.Field.t_with_perm ->
     'a t -> int -> 'e) ->
'e
val fold : 'a t ->
init:'b ->
values:('b ->
        ([< `Read | `Set_and_create ], 'c t, 'c array)
        Fieldslib.Field.t_with_perm -> 'a t -> 'a array -> 'd) ->
len:('d ->
     ([< `Read | `Set_and_create ], 'e t, int) Fieldslib.Field.t_with_perm ->
     'a t -> int -> 'f) ->
'f
val create : values:'a array -> len:int -> 'a t
val map_to_array : 'a t -> f:('a -> 'b) -> 'b Core.Std.Array.t