String.CaselessCaseless compares and hashes strings ignoring case, so that for example Caseless.equal "OCaml" "ocaml" and Caseless.("apple" < "Banana") are true, and Caseless.Map, Caseless.Table lookup and Caseless.Set membership is case-insensitive.
Caseless also provides case-insensitive is_suffix and is_prefix functions, so that for example Caseless.is_suffix "OCaml" ~suffix:"AmL" and Caseless.is_prefix "OCaml" ~prefix:"oc" are true.
include module type of struct include Base.String.Caseless endinclude Ppx_hash_lib.Hashable.S_any with type t := Base.String.tinclude Sexplib0.Sexpable.S__stack with type t := Base.String.tinclude Sexplib0.Sexpable.Of_sexp with type t := Base.String.tinclude Sexplib0.Sexpable.Sexp_of__stack with type t := Base.String.tval t_sexp_grammar : Base.String.t Sexplib0.Sexp_grammar.t @@ portableinclude Base.Comparable.S__portable with type t := Base.String.tinclude Base.Comparisons.S with type t := Base.String.tinclude Base.Comparisons.Infix with type t := Base.String.tinclude Base.Comparator.S__portable with type t := Base.String.tinclude Ppx_compare_lib.Comparable.S__local with type t := Base.String.tval is_suffix :
Base.String.t @ local ->
(suffix:Base.String.t @ local ->
bool) @ localval is_prefix :
Base.String.t @ local ->
(prefix:Base.String.t @ local ->
bool) @ localval is_substring :
Base.String.t @ local ->
(substring:Base.String.t @ local ->
bool) @ localval is_substring_at :
Base.String.t @ local ->
(pos:int ->
(substring:Base.String.t @ local ->
bool) @ local) @ localval substr_index :
?pos:int ->
Base.String.t @ local ->
(pattern:Base.String.t @ local ->
int option) @ localval substr_index_exn :
?pos:int ->
Base.String.t @ local ->
(pattern:Base.String.t ->
int) @ localval substr_index_all :
Base.String.t @ local ->
(may_overlap:bool ->
(pattern:Base.String.t @ local ->
int list) @ local) @ localval substr_replace_first :
?pos:int ->
Base.String.t ->
pattern:Base.String.t @ local ->
(with_:Base.String.t @ local ->
Base.String.t) @ localval substr_replace_all :
Base.String.t ->
pattern:Base.String.t @ local ->
(with_:Base.String.t @ local ->
Base.String.t) @ localtype nonrec t = Base.String.tinclude Bin_prot.Binable.S__local with type t := tinclude Bin_prot.Binable.S_only_functions__local with type t := tval bin_read_t : t Bin_prot.Read.readerval __bin_read_t__ : t Bin_prot.Read.vtag_readerThis function only needs implementation if t exposed to be a polymorphic variant. Despite what the type reads, this does *not* produce a function after reading; instead it takes the constructor tag (int) before reading and reads the rest of the variant t afterwards.
val bin_shape_t : Bin_prot.Shape.tval bin_writer_t : t Bin_prot.Type_class.writerval bin_reader_t : t Bin_prot.Type_class.readerval bin_t : t Bin_prot.Type_class.tinclude Ppx_hash_lib.Hashable.S_any with type t := tinclude Sexplib0.Sexpable.S with type t := tinclude Sexplib0.Sexpable.Of_sexp with type t := tval t_of_sexp : Sexplib0.Sexp.t -> tinclude Sexplib0.Sexpable.Sexp_of with type t := tval sexp_of_t : t -> Sexplib0.Sexp.tinclude Base.Comparable.S__local__portable with type t := tinclude Base.Comparisons.S__local with type t := tcompare t1 t2 returns 0 if t1 is equal to t2, a negative integer if t1 is less than t2, and a positive integer if t1 is greater than t2.
ascending is identical to compare. descending x y = ascending y x. These are intended to be mnemonic when used like List.sort ~compare:ascending and List.sort ~cmp:descending, since they cause the list to be sorted in ascending or descending order, respectively.
clamp_exn t ~min ~max returns t', the closest value to t such that between t' ~low:min ~high:max is true.
Raises if not (min <= max).
val clamp : t -> min:t -> max:t -> t Base.Or_error.t @@ portableinclude Base.Comparator.S__portable with type t := tval validate_lbound : min:t Maybe_bound.t -> t Validate.checkval validate_ubound : max:t Maybe_bound.t -> t Validate.checkval validate_bound :
min:t Maybe_bound.t ->
max:t Maybe_bound.t ->
t Validate.checkmodule Replace_polymorphic_compare :
Base.Comparable.Comparisons__local with type t := tinclude Comparator.S__portable
with type t := t
with type comparator_witness := comparator_witnessval comparator : (t, comparator_witness) Base.Comparator.T.comparatormodule Map :
Map_intf.S_binable__portable
with type Key.t = t
with type Key.comparator_witness = comparator_witnessmodule Set :
Set_intf.S_binable__portable
with type Elt.t = t
with type Elt.comparator_witness = comparator_witnessinclude Hashable.S_binable with type t := tinclude Ppx_hash_lib.Hashable.S_any with type t := tval hash_fold_t : t Ppx_hash_lib.hash_foldval hash : t -> Ppx_hash_lib.Std.Hash.hash_valueval hashable : t Base.Hashable.tmodule Table : Hashtbl.S_binable with type key = tmodule Hash_set : Hash_set.S_binable with type elt = tmodule Hash_queue : Hash_queue.S with type key = t