sig
type character
type t
val empty : Sosa.BASIC_STRING.t
val is_empty : Sosa.BASIC_STRING.t -> bool
val make : int -> Sosa.BASIC_STRING.character -> Sosa.BASIC_STRING.t
val length : Sosa.BASIC_STRING.t -> int
val of_character : Sosa.BASIC_STRING.character -> Sosa.BASIC_STRING.t
val of_character_list :
Sosa.BASIC_STRING.character list -> Sosa.BASIC_STRING.t
val to_character_list :
Sosa.BASIC_STRING.t -> Sosa.BASIC_STRING.character list
val get :
Sosa.BASIC_STRING.t -> index:int -> Sosa.BASIC_STRING.character option
val set :
Sosa.BASIC_STRING.t ->
index:int -> v:Sosa.BASIC_STRING.character -> Sosa.BASIC_STRING.t option
val get_exn :
Sosa.BASIC_STRING.t -> index:int -> Sosa.BASIC_STRING.character
val set_exn :
Sosa.BASIC_STRING.t ->
index:int -> v:Sosa.BASIC_STRING.character -> Sosa.BASIC_STRING.t
val concat :
?sep:Sosa.BASIC_STRING.t ->
Sosa.BASIC_STRING.t list -> Sosa.BASIC_STRING.t
val of_native_string : string -> (t, [> `wrong_char_at of int ]) result
val of_native_substring :
string ->
offset:int ->
length:int -> (t, [> `out_of_bounds | `wrong_char_at of int ]) result
val to_native_string : t -> string
val to_string_hum : Sosa.BASIC_STRING.t -> string
val fold :
Sosa.BASIC_STRING.t ->
init:'a -> f:('a -> Sosa.BASIC_STRING.character -> 'a) -> 'a
val foldi :
Sosa.BASIC_STRING.t ->
init:'a -> f:(int -> 'a -> Sosa.BASIC_STRING.character -> 'a) -> 'a
val fold2_exn :
Sosa.BASIC_STRING.t ->
Sosa.BASIC_STRING.t ->
init:'a ->
f:('a -> Sosa.BASIC_STRING.character -> Sosa.BASIC_STRING.character -> 'a) ->
'a
val compare : Sosa.BASIC_STRING.t -> Sosa.BASIC_STRING.t -> int
val sub :
Sosa.BASIC_STRING.t ->
index:int -> length:int -> Sosa.BASIC_STRING.t option
val sub_exn :
Sosa.BASIC_STRING.t -> index:int -> length:int -> Sosa.BASIC_STRING.t
val slice :
?start:int ->
?finish:int -> Sosa.BASIC_STRING.t -> Sosa.BASIC_STRING.t option
val slice_exn :
?start:int -> ?finish:int -> Sosa.BASIC_STRING.t -> Sosa.BASIC_STRING.t
val is_prefix : Sosa.BASIC_STRING.t -> prefix:Sosa.BASIC_STRING.t -> bool
val is_suffix : Sosa.BASIC_STRING.t -> suffix:Sosa.BASIC_STRING.t -> bool
val chop_prefix_exn :
Sosa.BASIC_STRING.t -> prefix:Sosa.BASIC_STRING.t -> Sosa.BASIC_STRING.t
val chop_prefix :
Sosa.BASIC_STRING.t ->
prefix:Sosa.BASIC_STRING.t -> Sosa.BASIC_STRING.t option
val chop_suffix_exn :
Sosa.BASIC_STRING.t -> suffix:Sosa.BASIC_STRING.t -> Sosa.BASIC_STRING.t
val chop_suffix :
Sosa.BASIC_STRING.t ->
suffix:Sosa.BASIC_STRING.t -> Sosa.BASIC_STRING.t option
val split_at :
Sosa.BASIC_STRING.t ->
index:int -> Sosa.BASIC_STRING.t * Sosa.BASIC_STRING.t
val take : Sosa.BASIC_STRING.t -> index:int -> Sosa.BASIC_STRING.t
val drop : Sosa.BASIC_STRING.t -> index:int -> Sosa.BASIC_STRING.t
val compare_substring :
Sosa.BASIC_STRING.t * int * int -> Sosa.BASIC_STRING.t * int * int -> int
val compare_substring_strict :
Sosa.BASIC_STRING.t * int * int ->
Sosa.BASIC_STRING.t * int * int -> int option
val iter :
Sosa.BASIC_STRING.t -> f:(Sosa.BASIC_STRING.character -> unit) -> unit
val iteri :
Sosa.BASIC_STRING.t ->
f:(int -> Sosa.BASIC_STRING.character -> unit) -> unit
val iter_reverse :
Sosa.BASIC_STRING.t -> f:(Sosa.BASIC_STRING.character -> unit) -> unit
val rev : Sosa.BASIC_STRING.t -> Sosa.BASIC_STRING.t
val map :
Sosa.BASIC_STRING.t ->
f:(Sosa.BASIC_STRING.character -> Sosa.BASIC_STRING.character) ->
Sosa.BASIC_STRING.t
val mapi :
Sosa.BASIC_STRING.t ->
f:(int -> Sosa.BASIC_STRING.character -> Sosa.BASIC_STRING.character) ->
Sosa.BASIC_STRING.t
val map2_exn :
Sosa.BASIC_STRING.t ->
Sosa.BASIC_STRING.t ->
f:(Sosa.BASIC_STRING.character ->
Sosa.BASIC_STRING.character -> Sosa.BASIC_STRING.character) ->
Sosa.BASIC_STRING.t
val for_all :
Sosa.BASIC_STRING.t -> f:(Sosa.BASIC_STRING.character -> bool) -> bool
val exists :
Sosa.BASIC_STRING.t -> f:(Sosa.BASIC_STRING.character -> bool) -> bool
val take_while :
Sosa.BASIC_STRING.t ->
f:(Sosa.BASIC_STRING.character -> bool) -> Sosa.BASIC_STRING.t
val take_while_with_index :
Sosa.BASIC_STRING.t ->
f:(int -> Sosa.BASIC_STRING.character -> bool) -> Sosa.BASIC_STRING.t
val index_of_character :
Sosa.BASIC_STRING.t ->
?from:int -> Sosa.BASIC_STRING.character -> int option
val index_of_character_reverse :
Sosa.BASIC_STRING.t ->
?from:int -> Sosa.BASIC_STRING.character -> int option
val index_of_string :
?from:int ->
?sub_index:int ->
?sub_length:int ->
Sosa.BASIC_STRING.t -> sub:Sosa.BASIC_STRING.t -> int option
val index_of_string_reverse :
?from:int ->
?sub_index:int ->
?sub_length:int ->
Sosa.BASIC_STRING.t -> sub:Sosa.BASIC_STRING.t -> int option
val find :
?from:int ->
?length:int ->
Sosa.BASIC_STRING.t ->
f:(Sosa.BASIC_STRING.character -> bool) -> int option
val find_reverse :
?from:int ->
?length:int ->
Sosa.BASIC_STRING.t ->
f:(Sosa.BASIC_STRING.character -> bool) -> int option
val filter_map :
?from:int ->
?length:int ->
Sosa.BASIC_STRING.t ->
f:(Sosa.BASIC_STRING.character -> Sosa.BASIC_STRING.character option) ->
Sosa.BASIC_STRING.t
val filter :
?from:int ->
?length:int ->
Sosa.BASIC_STRING.t ->
f:(Sosa.BASIC_STRING.character -> bool) -> Sosa.BASIC_STRING.t
val split :
Sosa.BASIC_STRING.t ->
on:[ `Character of Sosa.BASIC_STRING.character
| `String of Sosa.BASIC_STRING.t ] ->
Sosa.BASIC_STRING.t list
val strip :
?on:[ `Both | `Left | `Right ] ->
?whitespace:(Sosa.BASIC_STRING.character -> bool) ->
Sosa.BASIC_STRING.t -> Sosa.BASIC_STRING.t
module Make_output :
functor (Model : OUTPUT_MODEL) ->
sig
val output :
('a, 'b, 'c) Model.channel ->
Sosa.BASIC_STRING.t -> (unit, 'e, 'f) Model.thread
end
end