package lsp

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Private.Array_viewSource

Sourcetype 'a t
Sourceval make : ?len:int -> 'a array -> pos:int -> 'a t

make arr ~pos ~len can be thought of a new array for which the 0-th element is arr.(pos) and has length len if specified. If len is omitted, Array.length arr - pos is taken as the length. Importantly, the "new array" does not copy but simply references arr. Hence, creating views is constant time. However, keep in mind that since a view references an array, the array will be alive in memory as long as the view is alive.

  • raises Invalid_argument

    if pos + len > Array.length arr or pos < 0 || pos >= Array.length arr

Sourceval get : 'a t -> int -> 'a
Sourceval set : 'a t -> int -> 'a -> unit
Sourceval is_empty : 'a t -> bool
Sourceval length : 'a t -> int
Sourceval common_suffix_len : 'a t -> 'a t -> int
Sourceval fold_left : 'a t -> init:'acc -> f:('acc -> 'a -> 'acc) -> 'acc
Sourceval iteri : 'a t -> f:(int -> 'a -> unit) -> unit
Sourceval sub : 'a t -> pos:int -> len:int -> 'a t
Sourceval blit : 'a t -> 'a array -> pos:int -> unit
Sourceval copy : 'a t -> 'a array
Sourceval backing_array_pos : _ t -> int -> int
OCaml

Innovation. Community. Security.