`sig
module type Type =
sig
type t
val get :
CamomileLibrary.SubText.Type.t -> int -> CamomileLibrary.UChar.t
val init :
int ->
(int -> CamomileLibrary.UChar.t) -> CamomileLibrary.SubText.Type.t
val length : CamomileLibrary.SubText.Type.t -> int
type index
val look :
CamomileLibrary.SubText.Type.t ->
CamomileLibrary.SubText.Type.index -> CamomileLibrary.UChar.t
val nth :
CamomileLibrary.SubText.Type.t ->
int -> CamomileLibrary.SubText.Type.index
val first :
CamomileLibrary.SubText.Type.t -> CamomileLibrary.SubText.Type.index
val last :
CamomileLibrary.SubText.Type.t -> CamomileLibrary.SubText.Type.index
val next :
CamomileLibrary.SubText.Type.t ->
CamomileLibrary.SubText.Type.index ->
CamomileLibrary.SubText.Type.index
val prev :
CamomileLibrary.SubText.Type.t ->
CamomileLibrary.SubText.Type.index ->
CamomileLibrary.SubText.Type.index
val move :
CamomileLibrary.SubText.Type.t ->
CamomileLibrary.SubText.Type.index ->
int -> CamomileLibrary.SubText.Type.index
val out_of_range :
CamomileLibrary.SubText.Type.t ->
CamomileLibrary.SubText.Type.index -> bool
val compare_index :
CamomileLibrary.SubText.Type.t ->
CamomileLibrary.SubText.Type.index ->
CamomileLibrary.SubText.Type.index -> int
val iter :
(CamomileLibrary.UChar.t -> unit) ->
CamomileLibrary.SubText.Type.t -> unit
val compare :
CamomileLibrary.SubText.Type.t ->
CamomileLibrary.SubText.Type.t -> int
module Buf :
sig
type buf
val create : int -> CamomileLibrary.SubText.Type.Buf.buf
val contents :
CamomileLibrary.SubText.Type.Buf.buf ->
CamomileLibrary.SubText.Type.t
val clear : CamomileLibrary.SubText.Type.Buf.buf -> unit
val reset : CamomileLibrary.SubText.Type.Buf.buf -> unit
val add_char :
CamomileLibrary.SubText.Type.Buf.buf ->
CamomileLibrary.UChar.t -> unit
val add_string :
CamomileLibrary.SubText.Type.Buf.buf ->
CamomileLibrary.SubText.Type.t -> unit
val add_buffer :
CamomileLibrary.SubText.Type.Buf.buf ->
CamomileLibrary.SubText.Type.Buf.buf -> unit
end
type ur_text
type ur_index
val refer :
CamomileLibrary.SubText.Type.ur_text ->
CamomileLibrary.SubText.Type.ur_index ->
CamomileLibrary.SubText.Type.ur_index ->
CamomileLibrary.SubText.Type.t
val excerpt :
CamomileLibrary.SubText.Type.t ->
CamomileLibrary.SubText.Type.ur_text
val context :
CamomileLibrary.SubText.Type.t ->
CamomileLibrary.SubText.Type.ur_text *
CamomileLibrary.SubText.Type.ur_index *
CamomileLibrary.SubText.Type.ur_index
val ur_index_of :
CamomileLibrary.SubText.Type.t ->
CamomileLibrary.SubText.Type.index ->
CamomileLibrary.SubText.Type.ur_index
end
module Make :
functor (Text : UnicodeString.Type) ->
sig
type t
val get : t -> int -> UChar.t
val init : int -> (int -> UChar.t) -> t
val length : t -> int
type index
val look : t -> index -> 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 : (UChar.t -> unit) -> t -> unit
val compare : t -> t -> int
module Buf :
sig
type buf
val create : int -> buf
val contents : buf -> t
val clear : buf -> unit
val reset : buf -> unit
val add_char : buf -> UChar.t -> unit
val add_string : buf -> t -> unit
val add_buffer : buf -> buf -> unit
end
type ur_text = Text.t
type ur_index = Text.index
val refer : ur_text -> ur_index -> ur_index -> t
val excerpt : t -> ur_text
val context : t -> ur_text * ur_index * ur_index
val ur_index_of : t -> index -> ur_index
end
end`