From f612bee8c1723b4d66fe1ba93dbb23f5bd201ae6 Mon Sep 17 00:00:00 2001 From: Hugo Herbelin Date: Fri, 5 Apr 2019 19:53:48 +0200 Subject: Moving a standard string function (is_prefix) from Minilib to CString. --- clib/cString.ml | 4 ++++ clib/cString.mli | 3 +++ 2 files changed, 7 insertions(+) (limited to 'clib') diff --git a/clib/cString.ml b/clib/cString.ml index 60915efe86..99fb7d2b78 100644 --- a/clib/cString.ml +++ b/clib/cString.ml @@ -24,6 +24,7 @@ sig val conjugate_verb_to_be : int -> string val ordinal : int -> string val is_sub : string -> string -> int -> bool + val is_prefix : string -> string -> bool module Set : Set.S with type elt = t module Map : CMap.ExtS with type key = t and module Set := Set module List : CList.MonoS with type elt = t @@ -101,6 +102,9 @@ let is_sub p s off = in aux 0 +let is_prefix p s = + is_sub p s 0 + let plural n s = if n<>1 then s^"s" else s let conjugate_verb_to_be n = if n<>1 then "are" else "is" diff --git a/clib/cString.mli b/clib/cString.mli index 8a4fe62a1c..d02be2d15f 100644 --- a/clib/cString.mli +++ b/clib/cString.mli @@ -51,6 +51,9 @@ sig val is_sub : string -> string -> int -> bool (** [is_sub p s off] tests whether [s] contains [p] at offset [off]. *) + val is_prefix : string -> string -> bool + (** [is_prefix p s] tests whether [p] is a prefix of [s]. *) + (** {6 Generic operations} **) module Set : Set.S with type elt = t -- cgit v1.2.3