Module Base.Ordered_collection_common
Functions for ordered collections.
- val get_pos_len : ?pos:int -> ?len:int -> unit -> total_length:int -> (int * int) Or_error.t
- get_pos_len,- get_pos_len_exn, and- check_pos_len_exnare intended to be used by functions that take a sequence (array, string, bigstring, ...) and an optional- posand- lenspecifying a subrange of the sequence. Such functions should call- get_pos_lenwith the length of the sequence and the optional- posand- len, and it will return the- posand- lenspecifying the range, where the default- posis zero and the default- lenis to go to the end of the sequence.- It should be the case that: - pos >= 0 && len >= 0 && pos + len <= total_length- Note that this allows - pos = total_lengthand- len = 0, i.e., an empty subrange at the end of the sequence.- get_pos_lenreturns- (pos', len')specifying a subrange where:- pos' = match pos with None -> 0 | Some i -> i len' = match len with None -> total_length - pos' | Some i -> i
- val get_pos_len_exn : ?pos:int -> ?len:int -> unit -> total_length:int -> int * int
- val check_pos_len_exn : pos:int -> len:int -> total_length:int -> unit
- check_pos_len_exn ~pos ~len ~total_lengthraises unless- pos >= 0 && len >= 0 && pos + len <= total_length.
module Private : sig ... end