sig
module Camomile :
sig
module ISet :
sig
type t = (int * int) AvlTree.tree
type elt = int
val empty : t
val is_empty : t -> bool
val mem : int -> t -> bool
val add : int -> t -> t
val add_range : int -> int -> t -> t
val singleton : int -> t
val remove : int -> t -> t
val remove_range : int -> int -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val diff : t -> t -> t
val compl : t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val from : int -> t -> t
val after : int -> t -> t
val until : int -> t -> t
val before : int -> t -> t
val iter : (int -> unit) -> t -> unit
val iter_range : (int -> int -> unit) -> t -> unit
val fold : (int -> 'a -> 'a) -> t -> 'a -> 'a
val fold_range : (int -> int -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (int -> bool) -> t -> bool
val exists : (int -> bool) -> t -> bool
val filter : (int -> bool) -> t -> t
val partition : (int -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> int list
val ranges : t -> (int * int) list
val min_elt : t -> int
val max_elt : t -> int
val choose : t -> int
end
module IMap :
sig
type 'a t = (int * int * 'a) AvlTree.tree
type key = int
val empty : 'a t
val is_empty : 'a t -> bool
val add : ?eq:('a -> 'a -> bool) -> int -> 'a -> 'a t -> 'a t
val add_range :
?eq:('a -> 'a -> bool) -> int -> int -> 'a -> 'a t -> 'a t
val find : int -> 'a t -> 'a
val remove : int -> 'a t -> 'a t
val remove_range : int -> int -> 'a t -> 'a t
val from : int -> 'a t -> 'a t
val after : int -> 'a t -> 'a t
val until : int -> 'a t -> 'a t
val before : int -> 'a t -> 'a t
val mem : int -> 'a t -> bool
val iter : (int -> 'a -> unit) -> 'a t -> unit
val iter_range : (int -> int -> 'a -> unit) -> 'a t -> unit
val map : ?eq:('a -> 'a -> bool) -> ('b -> 'a) -> 'b t -> 'a t
val mapi :
?eq:('a -> 'a -> bool) -> (int -> 'b -> 'a) -> 'b t -> 'a t
val fold : (int -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
val fold_range : (int -> int -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
val set_to_map : ISet.t -> 'a -> 'a t
val domain : 'a t -> ISet.t
val map_to_set : ('a -> bool) -> 'a t -> ISet.t
end
module XArray :
sig
type 'a xarray = 'a XArray.xarray
type 'a t = 'a xarray
val init : ?bufsize:int -> int -> 'a -> (int -> 'a) -> 'a xarray
val make : ?bufsize:int -> int -> 'a -> 'a xarray
val length : 'a xarray -> int
val get : 'a xarray -> int -> 'a
val set : 'a xarray -> int -> 'a -> unit
type index = XArray.index
val nth : 'a xarray -> int -> index
val first : 'a xarray -> index
val last : 'a xarray -> index
val look : 'a xarray -> index -> 'a
val next : 'a t -> index -> index
val prev : 'a t -> index -> index
val move : 'a t -> index -> int -> index
val out_of_range : 'a xarray -> index -> bool
val compare_index : 'a xarray -> index -> index -> int
val clear : 'a xarray -> unit
val reset : 'a xarray -> unit
val copy : 'a xarray -> 'a xarray
val sub : 'a xarray -> int -> int -> 'a xarray
val add_element : 'a xarray -> 'a -> unit
val add_array : 'a xarray -> 'a array -> unit
val add_xarray : 'a xarray -> 'a xarray -> unit
val append : 'a xarray -> 'a xarray -> 'a xarray
val iter : ('a -> unit) -> 'a xarray -> unit
val array_of : 'a xarray -> 'a array
val shrink : 'a xarray -> int -> unit
end
module OOChannel :
sig
class type ['a] obj_input_channel =
object method close_in : unit -> unit method get : unit -> 'a end
class type ['a] obj_output_channel =
object
method close_out : unit -> unit
method flush : unit -> unit
method put : 'a -> unit
end
class ['a] channel_of_stream :
'a Stream.t -> ['a] obj_input_channel
val stream_of_channel : 'a #obj_input_channel -> 'a Stream.t
class type char_input_channel =
object
method close_in : unit -> unit
method input : string -> int -> int -> int
end
class type char_output_channel =
object
method close_out : unit -> unit
method flush : unit -> unit
method output : string -> int -> int -> int
end
class char_input_channel_of :
char #obj_input_channel -> char_input_channel
class char_obj_input_channel_of :
char_input_channel -> [char] obj_input_channel
class char_output_channel_of :
char #obj_output_channel -> char_output_channel
class char_obj_output_channel_of :
char_output_channel -> [char] obj_output_channel
class of_in_channel : in_channel -> char_input_channel
class of_out_channel : out_channel -> char_output_channel
end
module UChar :
sig
type t = UChar.t
exception Out_of_range
val char_of : t -> char
val of_char : char -> t
val code : t -> int
val chr : int -> t
external uint_code : t -> int = "%identity"
val chr_of_uint : int -> t
val eq : t -> t -> bool
val compare : t -> t -> int
type uchar = t
val int_of : uchar -> int
val of_int : int -> uchar
end
module USet :
sig
type t = USet.t
val empty : t
val is_empty : t -> bool
val mem : UChar.t -> t -> bool
val add : UChar.t -> t -> t
val add_range : UChar.t -> UChar.t -> t -> t
val singleton : UChar.t -> t
val remove : UChar.t -> t -> t
val remove_range : UChar.t -> UChar.t -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val diff : t -> t -> t
val compl : t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val from : UChar.t -> t -> t
val after : UChar.t -> t -> t
val until : UChar.t -> t -> t
val before : UChar.t -> t -> t
val iter : (UChar.t -> unit) -> t -> unit
val iter_range : (UChar.t -> UChar.t -> unit) -> t -> unit
val fold : (UChar.t -> 'a -> 'a) -> t -> 'a -> 'a
val fold_range : (UChar.t -> UChar.t -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (UChar.t -> bool) -> t -> bool
val exists : (UChar.t -> bool) -> t -> bool
val filter : (UChar.t -> bool) -> t -> t
val partition : (UChar.t -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> UChar.t list
val ranges : t -> (UChar.t * UChar.t) list
val min_elt : t -> UChar.t
val max_elt : t -> UChar.t
val choose : t -> UChar.t
val uset_of_iset : ISet.t -> t
val iset_of_uset : t -> ISet.t
end
module UMap :
sig
type 'a t = 'a UMap.t
val empty : 'a t
val is_empty : 'a t -> bool
val add : ?eq:('a -> 'a -> bool) -> UChar.t -> 'a -> 'a t -> 'a t
val add_range :
?eq:('a -> 'a -> bool) ->
UChar.t -> UChar.t -> 'a -> 'a t -> 'a t
val find : UChar.t -> 'a t -> 'a
val remove : UChar.t -> 'a t -> 'a t
val remove_range : UChar.t -> UChar.t -> 'a t -> 'a t
val from : UChar.t -> 'a t -> 'a t
val after : UChar.t -> 'a t -> 'a t
val until : UChar.t -> 'a t -> 'a t
val before : UChar.t -> 'a t -> 'a t
val mem : UChar.t -> 'a t -> bool
val iter : (UChar.t -> 'a -> unit) -> 'a t -> unit
val iter_range : (UChar.t -> UChar.t -> 'a -> unit) -> 'a t -> unit
val map : ?eq:('a -> 'a -> bool) -> ('b -> 'a) -> 'b t -> 'a t
val mapi :
?eq:('a -> 'a -> bool) -> (UChar.t -> 'b -> 'a) -> 'b t -> 'a t
val fold : (UChar.t -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
val fold_range :
(UChar.t -> UChar.t -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
val set_to_map : USet.t -> 'a -> 'a t
val domain : 'a t -> USet.t
val map_to_set : ('a -> bool) -> 'a t -> USet.t
val umap_of_imap : 'a IMap.t -> 'a t
val imap_of_umap : 'a t -> 'a IMap.t
end
module UCharTbl :
sig
type 'a tbl = 'a UCharTbl.tbl
type 'a t = 'a tbl
val get : 'a tbl -> UChar.t -> 'a
module type Type =
sig
type elt
type t = elt tbl
val get : elt tbl -> UChar.t -> elt
val of_map : elt -> elt UMap.t -> t
end
module Make :
functor (H : Hashtbl.HashedType) ->
sig
type elt = H.t
type t = elt tbl
val get : elt tbl -> UChar.t -> elt
val of_map : elt -> elt UMap.t -> t
end
module Bool :
sig
type t = UCharTbl.Bool.t
val get : t -> UChar.t -> bool
val of_set : USet.t -> t
end
module Bits :
sig
type t = UCharTbl.Bits.t
val of_map : int -> int UMap.t -> t
val get : t -> UChar.t -> int
end
module Bytes :
sig
type t = UCharTbl.Bytes.t
val of_map : int -> int UMap.t -> t
val get : t -> UChar.t -> int
end
module Char :
sig
type t = UCharTbl.Char.t
val of_map : char -> char UMap.t -> t
val get : t -> UChar.t -> char
end
end
module UnicodeString :
sig
module type 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 next : t -> index -> index
val prev : t -> index -> index
val out_of_range : t -> index -> bool
val iter : (UChar.t -> unit) -> t -> unit
val compare : t -> t -> int
val first : t -> index
val last : t -> index
val move : t -> index -> int -> index
val compare_index : t -> index -> index -> 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
end
end
module UText :
sig
type mutability = [ `Immutable | `Mutable ]
type 'a text = 'a UText.text
type utext = [ `Immutable ] text
type ustring = [ `Mutable ] text
type t = utext
val utext_of_ustring : ustring -> utext
val ustring_of_utext : utext -> ustring
val get : 'a text -> int -> UChar.t
val set : ustring -> int -> UChar.t -> unit
type index = UText.index
val look : 'a text -> index -> UChar.t
val nth : 'a text -> int -> index
val first : 'a text -> index
val last : 'a text -> index
val out_of_range : 'a text -> index -> bool
val compare_index : 'a text -> index -> index -> int
val next : 'a text -> index -> index
val prev : 'a text -> index -> index
val move : 'a text -> index -> int -> index
val length : 'a text -> int
val of_string : string -> utext
val init : int -> (int -> UChar.t) -> utext
val init_ustring : int -> (int -> UChar.t) -> ustring
val make : int -> UChar.t -> ustring
val copy : ustring -> ustring
val sub : 'a text -> int -> int -> 'a text
val fill : ustring -> int -> int -> UChar.t -> unit
val blit : 'a text -> int -> ustring -> int -> int -> unit
val append : 'a text -> 'b text -> 'a text
val iter : (UChar.t -> unit) -> 'a text -> unit
val compare : 'a text -> 'b text -> int
module Buf :
sig
type buf = UText.Buf.buf
val create : int -> buf
val contents : buf -> t
val contents_string : buf -> ustring
val length : buf -> int
val clear : buf -> unit
val reset : buf -> unit
val add_char : buf -> UChar.t -> unit
val add_string : buf -> 'a text -> unit
val add_buffer : buf -> buf -> unit
end
end
module XString :
sig
type xstring = XString.xstring
type t = xstring
val get : xstring -> int -> UChar.t
val set : xstring -> int -> UChar.t -> unit
val length : xstring -> int
val init : int -> (int -> UChar.t) -> xstring
type index = XString.index
val look : xstring -> index -> UChar.t
val nth : xstring -> int -> index
val first : xstring -> index
val last : xstring -> index
val out_of_range : xstring -> index -> bool
val next : xstring -> index -> index
val prev : xstring -> index -> index
val move : xstring -> index -> int -> index
val compare_index : xstring -> index -> index -> int
val make : ?bufsize:int -> int -> UChar.t -> xstring
val clear : xstring -> unit
val reset : xstring -> unit
val copy : xstring -> xstring
val sub : xstring -> int -> int -> xstring
val add_char : xstring -> UChar.t -> unit
val add_text : xstring -> 'a UText.text -> unit
val add_xstring : xstring -> xstring -> unit
val shrink : xstring -> int -> unit
val append : xstring -> xstring -> xstring
val utext_of : xstring -> UText.t
val ustring_of : xstring -> UText.ustring
val iter : (UChar.t -> unit) -> xstring -> unit
val compare : t -> t -> int
module Buf :
sig
type buf = XString.Buf.buf
val create : int -> buf
val contents : buf -> t
val length : buf -> int
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
end
module SubText :
sig
module type 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
type ur_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
module Make :
functor (Text : UnicodeString.Type) ->
sig
type t = SubText.Make(Text).t
val get : t -> int -> UChar.t
val init : int -> (int -> UChar.t) -> t
val length : t -> int
type index = SubText.Make(Text).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 = SubText.Make(Text).Buf.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
module ULine :
sig
type separator = [ `CR | `CRLF | `LF | `LS | `NEL | `PS ]
class input :
separator ->
UChar.t #OOChannel.obj_input_channel ->
[UChar.t] OOChannel.obj_input_channel
class output :
separator ->
UChar.t #OOChannel.obj_output_channel ->
[UChar.t] OOChannel.obj_output_channel
module type Type =
sig
type text
class input_line :
UChar.t #OOChannel.obj_input_channel ->
[text] OOChannel.obj_input_channel
class output_line :
?sp:separator ->
UChar.t #OOChannel.obj_output_channel ->
[text] OOChannel.obj_output_channel
end
module Make :
functor (Text : UnicodeString.Type) ->
sig
type text = Text.t
class input_line :
UChar.t #OOChannel.obj_input_channel ->
[text] OOChannel.obj_input_channel
class output_line :
?sp:separator ->
UChar.t #OOChannel.obj_output_channel ->
[text] OOChannel.obj_output_channel
end
end
module Locale :
sig
type t = string
val read : string -> string -> (in_channel -> 'a) -> string -> 'a
val contain : string -> string -> bool
end
module CharEncoding : CharEncoding.Interface
module UTF8 :
sig
type t = string
exception Malformed_code
val validate : t -> unit
val get : t -> int -> UChar.t
val init : int -> (int -> UChar.t) -> t
val length : t -> int
type index = int
val nth : t -> int -> index
val first : t -> index
val last : t -> index
val look : t -> index -> UChar.t
val out_of_range : t -> index -> bool
val compare_index : t -> index -> index -> int
val next : t -> index -> index
val prev : t -> index -> index
val move : t -> index -> int -> index
val iter : (UChar.t -> unit) -> t -> unit
val compare : t -> t -> int
module Buf :
sig
type buf = Buffer.t
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
end
module UTF16 :
sig
type t =
(int, Bigarray.int16_unsigned_elt, Bigarray.c_layout)
Bigarray.Array1.t
exception Malformed_code
val validate : t -> unit
val get : t -> int -> UChar.t
exception Out_of_range
val init : int -> (i