sig
type t = Extlib.Rope.t
exception Out_of_bounds
exception Invalid_rope
val max_length : int
val empty : t
val of_latin1 : string -> t
val of_string : string -> t
val to_string : t -> string
val of_ustring : Extlib.ExtUTF8.UTF8.t -> t
val to_ustring : t -> Extlib.ExtUTF8.UTF8.t
val of_uchar : Extlib.ExtUChar.UChar.t -> t
val of_char : char -> t
val make : int -> Extlib.ExtUChar.UChar.t -> t
val lowercase : t -> t
val uppercase : t -> t
val capitalize : t -> t
val uncapitalize : t -> t
val join : t -> t list -> t
val explode : t -> Extlib.ExtUChar.UChar.t list
val implode : Extlib.ExtUChar.UChar.t list -> t
val is_empty : t -> bool
val length : t -> int
val height : t -> int
val balance : t -> t
val append : t -> t -> t
val ( ^^^ ) : t -> t -> t
val append_char : Extlib.ExtUChar.UChar.t -> t -> t
val prepend_char : Extlib.ExtUChar.UChar.t -> t -> t
val get : t -> int -> Extlib.ExtUChar.UChar.t
val set : t -> int -> Extlib.ExtUChar.UChar.t -> t
val sub : t -> int -> int -> t
val insert : int -> t -> t -> t
val remove : int -> int -> t -> t
val concat : t -> t list -> t
val iter : (Extlib.ExtUChar.UChar.t -> unit) -> t -> unit
val iteri :
?base:int -> (int -> Extlib.ExtUChar.UChar.t -> unit) -> t -> unit
val range_iter :
(Extlib.ExtUChar.UChar.t -> unit) -> int -> int -> t -> unit
val range_iteri :
(int -> Extlib.ExtUChar.UChar.t -> unit) ->
?base:int -> int -> int -> t -> unit
val bulk_iter : (Extlib.ExtUTF8.UTF8.t -> unit) -> t -> unit
val bulk_iteri :
?base:int -> (int -> Extlib.ExtUTF8.UTF8.t -> unit) -> t -> unit
val fold : ('a -> Extlib.ExtUChar.UChar.t -> 'a) -> 'a -> t -> 'a
val bulk_fold : ('a -> Extlib.ExtUTF8.UTF8.t -> 'a) -> 'a -> t -> 'a
val enum : t -> Extlib.ExtUChar.UChar.t Extlib.Enum.t
val bulk_enum : t -> Extlib.ExtUTF8.UTF8.t Extlib.Enum.t
val of_enum : Extlib.ExtUChar.UChar.t Extlib.Enum.t -> t
val of_bulk_enum : Extlib.ExtUTF8.UTF8.t Extlib.Enum.t -> t
val backwards : t -> Extlib.ExtUChar.UChar.t Extlib.Enum.t
val of_backwards : Extlib.ExtUChar.UChar.t Extlib.Enum.t -> t
val init : int -> (int -> Extlib.ExtUChar.UChar.t) -> t
val of_int : int -> t
val of_float : float -> t
val to_int : t -> int
val to_float : t -> float
val bulk_map : (Extlib.ExtUTF8.UTF8.t -> Extlib.ExtUTF8.UTF8.t) -> t -> t
val map : (Extlib.ExtUChar.UChar.t -> Extlib.ExtUChar.UChar.t) -> t -> t
val bulk_filter_map :
(Extlib.ExtUTF8.UTF8.t -> Extlib.ExtUTF8.UTF8.t option) -> t -> t
val filter_map :
(Extlib.ExtUChar.UChar.t -> Extlib.ExtUChar.UChar.t option) -> t -> t
val filter : (Extlib.ExtUChar.UChar.t -> bool) -> t -> t
val index : t -> Extlib.ExtUChar.UChar.t -> int
val index_from : t -> int -> Extlib.ExtUChar.UChar.t -> int
val rindex : t -> Extlib.ExtUChar.UChar.t -> int
val rindex_from : t -> int -> Extlib.ExtUChar.UChar.t -> int
val contains : t -> Extlib.ExtUChar.UChar.t -> bool
val contains_from : t -> int -> Extlib.ExtUChar.UChar.t -> bool
val rcontains_from : t -> int -> Extlib.ExtUChar.UChar.t -> bool
val find : t -> t -> int
val find_from : t -> int -> t -> int
val rfind : t -> t -> int
val rfind_from : t -> int -> t -> int
val starts_with : t -> t -> bool
val ends_with : t -> t -> bool
val exists : t -> t -> bool
val trim : t -> t
val left : t -> int -> t
val right : t -> int -> t
val head : t -> int -> t
val tail : t -> int -> t
val strip : ?chars:Extlib.ExtUChar.UChar.t list -> t -> t
val lchop : t -> t
val rchop : t -> t
val slice : ?first:int -> ?last:int -> t -> t
val splice : t -> int -> int -> t -> t
val fill : t -> int -> int -> Extlib.ExtUChar.UChar.t -> t
val blit : t -> int -> t -> int -> int -> t
val concat : t -> t list -> t
val escaped : t -> t
val replace_chars :
(Extlib.ExtUChar.UChar.t -> Extlib.ExtUTF8.UTF8.t) -> t -> t
val replace : str:t -> sub:t -> by:t -> bool * t
val split : t -> t -> t * t
val rsplit : t -> t -> t * t
val nsplit : t -> t -> t list
val compare : t -> t -> int
val icompare : t -> t -> int
module IRope : sig type t = t val compare : t -> t -> int end
val t_of_sexp : Sexplib.Sexp.t -> t
val sexp_of_t : t -> Sexplib.Sexp.t
val print : 'a Extlib.InnerIO.output -> t -> unit
val t_printer : t Extlib.Value_printer.t
end