sig
module C :
sig
type 'a t =
'a It_type.IT.Subarray.C.t = private {
arr : 'a array;
ofs : int;
len : int;
}
val empty : 'a It_type.IT.S.C.t
val mk : arr:'a array -> ofs:int -> len:int -> 'a It_type.IT.S.C.t
end
type 'a t =
'a It_type.IT.Subarray.C.t = private {
arr : 'a array;
ofs : int;
len : int;
}
val length : 'a It_type.IT.S.t -> int
val get : 'a It_type.IT.S.t -> int -> 'a
val empty : 'a It_type.IT.S.C.t
val replace_with_substring :
char array -> string -> int -> int -> char It_type.IT.S.C.t
val of_string : string -> char It_type.IT.S.C.t
val of_array : 'a array -> 'a It_type.IT.S.C.t
val of_array_sub : 'a array -> int -> int -> 'a It_type.IT.S.C.t
val of_list : 'a list -> 'a It_type.IT.S.C.t
val of_elem : 'a -> 'a It_type.IT.S.C.t
type dir = It_type.IT.Subarray.dir = L | R
val fold :
It_type.IT.S.dir -> ('a -> 'b -> 'a) -> 'a -> 'b It_type.IT.S.C.t -> 'a
val iter : ('a -> unit) -> 'a It_type.IT.S.C.t -> unit
val to_list : 'a It_type.IT.S.C.t -> 'a list
val to_string : char It_type.IT.S.C.t -> string
val append_to_list_rev : 'a It_type.IT.S.C.t -> 'a list -> 'a list
val get_first_item : 'a It_type.IT.S.C.t -> 'a option
val destruct_first_item :
'a It_type.IT.S.C.t -> ('a * 'a It_type.IT.S.C.t) option
val sub : 'a It_type.IT.S.C.t -> ofs:int -> len:int -> 'a It_type.IT.S.C.t
val split_at :
int -> 'a It_type.IT.S.C.t -> 'a It_type.IT.S.C.t * 'a It_type.IT.S.C.t
val drop : int -> 'a It_type.IT.S.C.t -> 'a It_type.IT.S.C.t
val break :
('a -> bool) ->
'a It_type.IT.S.C.t -> 'a It_type.IT.S.C.t * 'a It_type.IT.S.C.t
val break_limit :
limit:int ->
('a -> bool) ->
'a It_type.IT.S.C.t ->
[> `Found of 'a It_type.IT.S.C.t * 'a It_type.IT.S.C.t
| `Hit_end
| `Hit_limit ]
val drop_while : ('a -> bool) -> 'a It_type.IT.S.C.t -> 'a It_type.IT.S.C.t
val is_empty : 'a It_type.IT.S.C.t -> bool
val buffer_add : Buffer.t -> char It_type.IT.S.C.t -> unit
val map : ('a -> 'b) -> 'a It_type.IT.S.C.t -> 'b It_type.IT.S.C.t
val copy : 'a It_type.IT.S.C.t -> 'a It_type.IT.S.C.t
val concat_splitted :
'a It_type.IT.S.C.t -> 'a It_type.IT.S.C.t -> 'a It_type.IT.S.C.t
end