package reparse

  1. Overview
  2. Docs

Module type Reparse.INPUTSource

Sourcetype t

Represents the input.

Sourcetype 'a promise

Represents an input promise.

Sourcetype input
Sourceval create : input -> t
Sourceval trim_buffer : t -> pos:int -> unit promise

trim_buffer t ~pos removes data from the input buffer up till pos.

Note After the input buffer is trimmed the parser is unable to backtrack to pos less than pos.

Sourceval get_char : t -> pos:int -> [ `Char of char | `Eof ] promise
Sourceval get_char_unbuffered : t -> pos:int -> [ `Char of char | `Eof ] promise
Sourceval get_cstruct : t -> pos:int -> len:int -> [ `Cstruct of Cstruct.t | `Eof ] promise

get t ~pos ~len returns `String s where String.length s <= len or `Eof if EOI is reached.

Sourceval get_cstruct_unbuffered : t -> pos:int -> len:int -> [ `Cstruct of Cstruct.t | `Eof ] promise
Sourceval last_trimmed_pos : t -> int promise
Sourceval buffer_size : t -> int option promise