CamomileLibrary.SubText.Make

# Functor CamomileLibrary.SubText.Make

    module Make: functor (Text : CamomileLibrary.UnicodeString.Type) -> Type  with type ur_text = Text.t and type ur_index = Text.index

Parameters: |
`Text` | : | `CamomileLibrary.UnicodeString.Type`

    type t

    val get : t -> int -> CamomileLibrary.UChar.t

    val init : int -> (int -> CamomileLibrary.UChar.t) -> t

    val length : t -> int

    type index

    val look : t ->
           index -> CamomileLibrary.UChar.t

    val nth : t -> int -> index

    val first : t -> index

    val last : t -> index

    val next : t ->
           index -> index

    val prev : t ->
           index -> index

    val move : t ->
           index ->
           int -> index

    val out_of_range : t -> index -> bool

    val compare_index : t ->
           index ->
           index -> int

    val iter : (CamomileLibrary.UChar.t -> unit) -> t -> unit

    val compare : t -> t -> int

    module Buf: sig .. end

    type ur_text

The type of original texts.

    type ur_index

The type of indexes of original texts.

    val refer : ur_text ->
           ur_index ->
           ur_index -> t

`refer t i j` returns the part of `t` from `i` until `j`. The character pointed by `j` is not included in the result. If `j` is equal to `i` or located before `j`, the result is an empty string.

    val excerpt : t -> ur_text

`excerpt t` copies the contents of `t` as a new ur_text.

    val context : t ->
           ur_text *
           ur_index * ur_index

`context t` returns the tuple `(s, i, j)` such that `t = refer s i j`.

    val ur_index_of : t ->
           index -> ur_index

Conversion from indexes of sub-texts to ur_texts.