package linol

  1. Overview
  2. Docs
LSP server library

Install

dune-project
 Dependency

Authors

Maintainers

Sources

linol-0.12.tbz
sha256=c748f3c03525c1f438ccba7b71d31e91ae7bf4f857fade61005cc4533e3b7fc5
sha512=bc29a1ccf8bfbe7ba39f167397f2d45729e948bfc2db628ba24a1e5239ec64cda7c8356c3824e3c66a3630ca2addb58b444829707f155c2b58aef26c0ddfcabb

doc/linol.lsp/Linol_lsp/Array_view/index.html

Module Linol_lsp.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