sig
module ISet :
sig
type t = (int * int) AvlTree.tree
type elt = int
val empty : Main.Type.ISet.t
val is_empty : Main.Type.ISet.t -> bool
val mem : int -> Main.Type.ISet.t -> bool
val add : int -> Main.Type.ISet.t -> Main.Type.ISet.t
val add_range : int -> int -> Main.Type.ISet.t -> Main.Type.ISet.t
val singleton : int -> Main.Type.ISet.t
val remove : int -> Main.Type.ISet.t -> Main.Type.ISet.t
val remove_range : int -> int -> Main.Type.ISet.t -> Main.Type.ISet.t
val union : Main.Type.ISet.t -> Main.Type.ISet.t -> Main.Type.ISet.t
val inter : Main.Type.ISet.t -> Main.Type.ISet.t -> Main.Type.ISet.t
val diff : Main.Type.ISet.t -> Main.Type.ISet.t -> Main.Type.ISet.t
val compl : Main.Type.ISet.t -> Main.Type.ISet.t
val compare : Main.Type.ISet.t -> Main.Type.ISet.t -> int
val equal : Main.Type.ISet.t -> Main.Type.ISet.t -> bool
val subset : Main.Type.ISet.t -> Main.Type.ISet.t -> bool
val from : int -> Main.Type.ISet.t -> Main.Type.ISet.t
val after : int -> Main.Type.ISet.t -> Main.Type.ISet.t
val until : int -> Main.Type.ISet.t -> Main.Type.ISet.t
val before : int -> Main.Type.ISet.t -> Main.Type.ISet.t
val iter : (int -> unit) -> Main.Type.ISet.t -> unit
val iter_range : (int -> int -> unit) -> Main.Type.ISet.t -> unit
val fold : (int -> 'a -> 'a) -> Main.Type.ISet.t -> 'a -> 'a
val fold_range :
(int -> int -> 'a -> 'a) -> Main.Type.ISet.t -> 'a -> 'a
val for_all : (int -> bool) -> Main.Type.ISet.t -> bool
val exists : (int -> bool) -> Main.Type.ISet.t -> bool
val filter : (int -> bool) -> Main.Type.ISet.t -> Main.Type.ISet.t
val partition :
(int -> bool) ->
Main.Type.ISet.t -> Main.Type.ISet.t * Main.Type.ISet.t
val cardinal : Main.Type.ISet.t -> int
val elements : Main.Type.ISet.t -> int list
val ranges : Main.Type.ISet.t -> (int * int) list
val min_elt : Main.Type.ISet.t -> int
val max_elt : Main.Type.ISet.t -> int
val choose : Main.Type.ISet.t -> int
end
module IMap :
sig
type 'a t = (int * int * 'a) AvlTree.tree
type key = int
val empty : 'a Main.Type.IMap.t
val is_empty : 'a Main.Type.IMap.t -> bool
val add :
?eq:('a -> 'a -> bool) ->
int -> 'a -> 'a Main.Type.IMap.t -> 'a Main.Type.IMap.t
val add_range :
?eq:('a -> 'a -> bool) ->
int -> int -> 'a -> 'a Main.Type.IMap.t -> 'a Main.Type.IMap.t
val find : int -> 'a Main.Type.IMap.t -> 'a
val remove : int -> 'a Main.Type.IMap.t -> 'a Main.Type.IMap.t
val remove_range :
int -> int -> 'a Main.Type.IMap.t -> 'a Main.Type.IMap.t
val from : int -> 'a Main.Type.IMap.t -> 'a Main.Type.IMap.t
val after : int -> 'a Main.Type.IMap.t -> 'a Main.Type.IMap.t
val until : int -> 'a Main.Type.IMap.t -> 'a Main.Type.IMap.t
val before : int -> 'a Main.Type.IMap.t -> 'a Main.Type.IMap.t
val mem : int -> 'a Main.Type.IMap.t -> bool
val iter : (int -> 'a -> unit) -> 'a Main.Type.IMap.t -> unit
val iter_range :
(int -> int -> 'a -> unit) -> 'a Main.Type.IMap.t -> unit
val map :
?eq:('a -> 'a -> bool) ->
('b -> 'a) -> 'b Main.Type.IMap.t -> 'a Main.Type.IMap.t
val mapi :
?eq:('a -> 'a -> bool) ->
(int -> 'b -> 'a) -> 'b Main.Type.IMap.t -> 'a Main.Type.IMap.t
val fold : (int -> 'a -> 'b -> 'b) -> 'a Main.Type.IMap.t -> 'b -> 'b
val fold_range :
(int -> int -> 'a -> 'b -> 'b) -> 'a Main.Type.IMap.t -> 'b -> 'b
val set_to_map : Main.Type.ISet.t -> 'a -> 'a Main.Type.IMap.t
val domain : 'a Main.Type.IMap.t -> Main.Type.ISet.t
val map_to_set :
('a -> bool) -> 'a Main.Type.IMap.t -> Main.Type.ISet.t
end
module XArray :
sig
type 'a xarray
type 'a t = 'a Main.Type.XArray.xarray
val init :
?bufsize:int ->
int -> 'a -> (int -> 'a) -> 'a Main.Type.XArray.xarray
val make : ?bufsize:int -> int -> 'a -> 'a Main.Type.XArray.xarray
val length : 'a Main.Type.XArray.xarray -> int
val get : 'a Main.Type.XArray.xarray -> int -> 'a
val set : 'a Main.Type.XArray.xarray -> int -> 'a -> unit
type index
val nth : 'a Main.Type.XArray.xarray -> int -> Main.Type.XArray.index
val first : 'a Main.Type.XArray.xarray -> Main.Type.XArray.index
val last : 'a Main.Type.XArray.xarray -> Main.Type.XArray.index
val look : 'a Main.Type.XArray.xarray -> Main.Type.XArray.index -> 'a
val next :
'a Main.Type.XArray.t ->
Main.Type.XArray.index -> Main.Type.XArray.index
val prev :
'a Main.Type.XArray.t ->
Main.Type.XArray.index -> Main.Type.XArray.index
val move :
'a Main.Type.XArray.t ->
Main.Type.XArray.index -> int -> Main.Type.XArray.index
val out_of_range :
'a Main.Type.XArray.xarray -> Main.Type.XArray.index -> bool
val compare_index :
'a Main.Type.XArray.xarray ->
Main.Type.XArray.index -> Main.Type.XArray.index -> int
val clear : 'a Main.Type.XArray.xarray -> unit
val reset : 'a Main.Type.XArray.xarray -> unit
val copy : 'a Main.Type.XArray.xarray -> 'a Main.Type.XArray.xarray
val sub :
'a Main.Type.XArray.xarray ->
int -> int -> 'a Main.Type.XArray.xarray
val add_element : 'a Main.Type.XArray.xarray -> 'a -> unit
val add_array : 'a Main.Type.XArray.xarray -> 'a array -> unit
val add_xarray :
'a Main.Type.XArray.xarray -> 'a Main.Type.XArray.xarray -> unit
val append :
'a Main.Type.XArray.xarray ->
'a Main.Type.XArray.xarray -> 'a Main.Type.XArray.xarray
val iter : ('a -> unit) -> 'a Main.Type.XArray.xarray -> unit
val array_of : 'a Main.Type.XArray.xarray -> 'a array
val shrink : 'a Main.Type.XArray.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 #Main.Type.OOChannel.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 #Main.Type.OOChannel.obj_input_channel -> char_input_channel
class char_obj_input_channel_of :
Main.Type.OOChannel.char_input_channel -> [char] obj_input_channel
class char_output_channel_of :
char #Main.Type.OOChannel.obj_output_channel -> char_output_channel
class char_obj_output_channel_of :
Main.Type.OOChannel.char_output_channel -> [char] obj_output_channel
class of_in_channel : Pervasives.in_channel -> char_input_channel
class of_out_channel : Pervasives.out_channel -> char_output_channel
end
module UChar :
sig
type t
exception Out_of_range
val char_of : Main.Type.UChar.t -> char
val of_char : char -> Main.Type.UChar.t
val code : Main.Type.UChar.t -> int
val chr : int -> Main.Type.UChar.t
external uint_code : Main.Type.UChar.t -> int = "%identity"
val chr_of_uint : int -> Main.Type.UChar.t
val eq : Main.Type.UChar.t -> Main.Type.UChar.t -> bool
val compare : Main.Type.UChar.t -> Main.Type.UChar.t -> int
type uchar = Main.Type.UChar.t
val int_of : Main.Type.UChar.uchar -> int
val of_int : int -> Main.Type.UChar.uchar
end
module USet :
sig
type t
val empty : Main.Type.USet.t
val is_empty : Main.Type.USet.t -> bool
val mem : Main.Type.UChar.t -> Main.Type.USet.t -> bool
val add : Main.Type.UChar.t -> Main.Type.USet.t -> Main.Type.USet.t
val add_range :
Main.Type.UChar.t ->
Main.Type.UChar.t -> Main.Type.USet.t -> Main.Type.USet.t
val singleton : Main.Type.UChar.t -> Main.Type.USet.t
val remove : Main.Type.UChar.t -> Main.Type.USet.t -> Main.Type.USet.t
val remove_range :
Main.Type.UChar.t ->
Main.Type.UChar.t -> Main.Type.USet.t -> Main.Type.USet.t
val union : Main.Type.USet.t -> Main.Type.USet.t -> Main.Type.USet.t
val inter : Main.Type.USet.t -> Main.Type.USet.t -> Main.Type.USet.t
val diff : Main.Type.USet.t -> Main.Type.USet.t -> Main.Type.USet.t
val compl : Main.Type.USet.t -> Main.Type.USet.t
val compare : Main.Type.USet.t -> Main.Type.USet.t -> int
val equal : Main.Type.USet.t -> Main.Type.USet.t -> bool
val subset : Main.Type.USet.t -> Main.Type.USet.t -> bool
val from : Main.Type.UChar.t -> Main.Type.USet.t -> Main.Type.USet.t
val after : Main.Type.UChar.t -> Main.Type.USet.t -> Main.Type.USet.t
val until : Main.Type.UChar.t -> Main.Type.USet.t -> Main.Type.USet.t
val before : Main.Type.UChar.t -> Main.Type.USet.t -> Main.Type.USet.t
val iter : (Main.Type.UChar.t -> unit) -> Main.Type.USet.t -> unit
val iter_range :
(Main.Type.UChar.t -> Main.Type.UChar.t -> unit) ->
Main.Type.USet.t -> unit
val fold :
(Main.Type.UChar.t -> 'a -> 'a) -> Main.Type.USet.t -> 'a -> 'a
val fold_range :
(Main.Type.UChar.t -> Main.Type.UChar.t -> 'a -> 'a) ->
Main.Type.USet.t -> 'a -> 'a
val for_all : (Main.Type.UChar.t -> bool) -> Main.Type.USet.t -> bool
val exists : (Main.Type.UChar.t -> bool) -> Main.Type.USet.t -> bool
val filter :
(Main.Type.UChar.t -> bool) -> Main.Type.USet.t -> Main.Type.USet.t
val partition :
(Main.Type.UChar.t -> bool) ->
Main.Type.USet.t -> Main.Type.USet.t * Main.Type.USet.t
val cardinal : Main.Type.USet.t -> int
val elements : Main.Type.USet.t -> Main.Type.UChar.t list
val ranges :
Main.Type.USet.t -> (Main.Type.UChar.t * Main.Type.UChar.t) list
val min_elt : Main.Type.USet.t -> Main.Type.UChar.t
val max_elt : Main.Type.USet.t -> Main.Type.UChar.t
val choose : Main.Type.USet.t -> Main.Type.UChar.t
val uset_of_iset : Main.Type.ISet.t -> Main.Type.USet.t
val iset_of_uset : Main.Type.USet.t -> Main.Type.ISet.t
end
module UMap :
sig
type 'a t
val empty : 'a Main.Type.UMap.t
val is_empty : 'a Main.Type.UMap.t -> bool
val add :
?eq:('a -> 'a -> bool) ->
Main.Type.UChar.t -> 'a -> 'a Main.Type.UMap.t -> 'a Main.Type.UMap.t
val add_range :
?eq:('a -> 'a -> bool) ->
Main.Type.UChar.t ->
Main.Type.UChar.t -> 'a -> 'a Main.Type.UMap.t -> 'a Main.Type.UMap.t
val find : Main.Type.UChar.t -> 'a Main.Type.UMap.t -> 'a
val remove :
Main.Type.UChar.t -> 'a Main.Type.UMap.t -> 'a Main.Type.UMap.t
val remove_range :
Main.Type.UChar.t ->
Main.Type.UChar.t -> 'a Main.Type.UMap.t -> 'a Main.Type.UMap.t
val from :
Main.Type.UChar.t -> 'a Main.Type.UMap.t -> 'a Main.Type.UMap.t
val after :
Main.Type.UChar.t -> 'a Main.Type.UMap.t -> 'a Main.Type.UMap.t
val until :
Main.Type.UChar.t -> 'a Main.Type.UMap.t -> 'a Main.Type.UMap.t
val before :
Main.Type.UChar.t -> 'a Main.Type.UMap.t -> 'a Main.Type.UMap.t
val mem : Main.Type.UChar.t -> 'a Main.Type.UMap.t -> bool
val iter :
(Main.Type.UChar.t -> 'a -> unit) -> 'a Main.Type.UMap.t -> unit
val iter_range :
(Main.Type.UChar.t -> Main.Type.UChar.t -> 'a -> unit) ->
'a Main.Type.UMap.t -> unit
val map :
?eq:('a -> 'a -> bool) ->
('b -> 'a) -> 'b Main.Type.UMap.t -> 'a Main.Type.UMap.t
val mapi :
?eq:('a -> 'a -> bool) ->
(Main.Type.UChar.t -> 'b -> 'a) ->
'b Main.Type.UMap.t -> 'a Main.Type.UMap.t
val fold :
(Main.Type.UChar.t -> 'a -> 'b -> 'b) ->
'a Main.Type.UMap.t -> 'b -> 'b
val fold_range :
(Main.Type.UChar.t -> Main.Type.UChar.t -> 'a -> 'b -> 'b) ->
'a Main.Type.UMap.t -> 'b -> 'b
val set_to_map : Main.Type.USet.t -> 'a -> 'a Main.Type.UMap.t
val domain : 'a Main.Type.UMap.t -> Main.Type.USet.t
val map_to_set :
('a -> bool) -> 'a Main.Type.UMap.t -> Main.Type.USet.t
val umap_of_imap : 'a Main.Type.IMap.t -> 'a Main.Type.UMap.t
val imap_of_umap : 'a Main.Type.UMap.t -> 'a Main.Type.IMap.t
end
module UCharTbl :
sig
type 'a tbl
type 'a t = 'a Main.Type.UCharTbl.tbl
val get : 'a Main.Type.UCharTbl.tbl -> Main.Type.UChar.t -> 'a
module type Type =
sig
type elt
type t = Main.Type.UCharTbl.Type.elt Main.Type.UCharTbl.tbl
val get :
Main.Type.UCharTbl.Type.elt Main.Type.UCharTbl.tbl ->
Main.Type.UChar.t -> Main.Type.UCharTbl.Type.elt
val of_map :
Main.Type.UCharTbl.Type.elt ->
Main.Type.UCharTbl.Type.elt Main.Type.UMap.t ->
Main.Type.UCharTbl.Type.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
val get : Main.Type.UCharTbl.Bool.t -> Main.Type.UChar.t -> bool
val of_set : Main.Type.USet.t -> Main.Type.UCharTbl.Bool.t
end
module Bits :
sig
type t
val of_map :
int -> int Main.Type.UMap.t -> Main.Type.UCharTbl.Bits.t
val get : Main.Type.UCharTbl.Bits.t -> Main.Type.UChar.t -> int
end
module Bytes :
sig
type t
val of_map :
int -> int Main.Type.UMap.t -> Main.Type.UCharTbl.Bytes.t
val get : Main.Type.UCharTbl.Bytes.t -> Main.Type.UChar.t -> int
end
module Char :
sig
type t
val of_map :
char -> char Main.Type.UMap.t -> Main.Type.UCharTbl.Char.t
val get : Main.Type.UCharTbl.Char.t -> Main.Type.UChar.t -> char
end
end
module UnicodeString :
sig
module type Type =
sig
type t
val get :
Main.Type.UnicodeString.Type.t -> int -> Main.Type.UChar.t
val init :
int ->
(int -> Main.Type.UChar.t) -> Main.Type.UnicodeString.Type.t
val length : Main.Type.UnicodeString.Type.t -> int
type index
val look :
Main.Type.UnicodeString.Type.t ->
Main.Type.UnicodeString.Type.index -> Main.Type.UChar.t
val nth :
Main.Type.UnicodeString.Type.t ->
int -> Main.Type.UnicodeString.Type.index
val next :
Main.Type.UnicodeString.Type.t ->
Main.Type.UnicodeString.Type.index ->
Main.Type.UnicodeString.Type.index
val prev :
Main.Type.UnicodeString.Type.t ->
Main.Type.UnicodeString.Type.index ->
Main.Type.UnicodeString.Type.index
val out_of_range :
Main.Type.UnicodeString.Type.t ->
Main.Type.UnicodeString.Type.index -> bool
val iter :
(Main.Type.UChar.t -> unit) ->
Main.Type.UnicodeString.Type.t -> unit
val compare :
Main.Type.UnicodeString.Type.t ->
Main.Type.UnicodeString.Type.t -> int
val first :
Main.Type.UnicodeString.Type.t ->
Main.Type.UnicodeString.Type.index
val last :
Main.Type.UnicodeString.Type.t ->
Main.Type.UnicodeString.Type.index
val move :
Main.Type.UnicodeString.Type.t ->
Main.Type.UnicodeString.Type.index ->
int -> Main.Type.UnicodeString.Type.index
val compare_index :
Main.Type.UnicodeString.Type.t ->
Main.Type.UnicodeString.Type.index ->
Main.Type.UnicodeString.Type.index -> int
module Buf :
sig
type buf
val create : int -> Main.Type.UnicodeString.Type.Buf.buf
val contents :
Main.Type.UnicodeString.Type.Buf.buf ->
Main.Type.UnicodeString.Type.t
val clear : Main.Type.UnicodeString.Type.Buf.buf -> unit
val reset : Main.Type.UnicodeString.Type.Buf.buf -> unit
val add_char :
Main.Type.UnicodeString.Type.Buf.buf ->
Main.Type.UChar.t -> unit
val add_string :
Main.Type.UnicodeString.Type.Buf.buf ->
Main.Type.UnicodeString.Type.t -> unit
val add_buffer :
Main.Type.UnicodeString.Type.Buf.buf ->
Main.Type.UnicodeString.Type.Buf.buf -> unit
end
end
end
module UText :
sig
type mutability = [ `Immutable | `Mutable ]
type 'a text
type utext = [ `Immutable ] Main.Type.UText.text
type ustring = [ `Mutable ] Main.Type.UText.text
type t = Main.Type.UText.utext
val utext_of_ustring : Main.Type.UText.ustring -> Main.Type.UText.utext
val ustring_of_utext : Main.Type.UText.utext -> Main.Type.UText.ustring
val get : 'a Main.Type.UText.text -> int -> Main.Type.UChar.t
val set : Main.Type.UText.ustring -> int -> Main.Type.UChar.t -> unit
type index
val look :
'a Main.Type.UText.text -> Main.Type.UText.index -> Main.Type.UChar.t
val nth : 'a Main.Type.UText.text -> int -> Main.Type.UText.index
val first : 'a Main.Type.UText.text -> Main.Type.UText.index
val last : 'a Main.Type.UText.text -> Main.Type.UText.index
val out_of_range :
'a Main.Type.UText.text -> Main.Type.UText.index -> bool
val compare_index :
'a Main.Type.UText.text ->
Main.Type.UText.index -> Main.Type.UText.index -> int
val next :
'a Main.Type.UText.text ->
Main.Type.UText.index -> Main.Type.UText.index
val prev :
'a Main.Type.UText.text ->
Main.Type.UText.index -> Main.Type.UText.index
val move :
'a Main.Type.UText.text ->
Main.Type.UText.index -> int -> Main.Type.UText.index
val length : 'a Main.Type.UText.text -> int
val of_string : string -> Main.Type.UText.utext
val init : int -> (int -> Main.Type.UChar.t) -> Main.Type.UText.utext
val init_ustring :
int -> (int -> Main.Type.UChar.t) -> Main.Type.UText.ustring
val make : int -> Main.Type.UChar.t -> Main.Type.UText.ustring
val copy : Main.Type.UText.ustring -> Main.Type.UText.ustring
val sub :
'a Main.Type.UText.text -> int -> int -> 'a Main.Type.UText.text
val fill :
Main.Type.UText.ustring -> int -> int -> Main.Type.UChar.t -> unit
val blit :
'a Main.Type.UText.text ->
int -> Main.Type.UText.ustring -> int -> int -> unit
val append :
'a Main.Type.UText.text ->
'b Main.Type.UText.text -> 'a Main.Type.UText.text
val iter :
(Main.Type.UChar.t -> unit) -> 'a Main.Type.UText.text -> unit
val compare : 'a Main.Type.UText.text -> 'b Main.Type.UText.text -> int
module Buf :
sig
type buf
val create : int -> Main.Type