diff options
| author | Hugo Herbelin | 2019-04-05 19:53:48 +0200 |
|---|---|---|
| committer | Hugo Herbelin | 2019-09-10 12:05:32 +0200 |
| commit | f612bee8c1723b4d66fe1ba93dbb23f5bd201ae6 (patch) | |
| tree | 454cd553f1eb1c11e096162c8c8ac62e830ea0e2 /clib | |
| parent | d338a42c261287439dd6e9bc07b40a68f2a71786 (diff) | |
Moving a standard string function (is_prefix) from Minilib to CString.
Diffstat (limited to 'clib')
| -rw-r--r-- | clib/cString.ml | 4 | ||||
| -rw-r--r-- | clib/cString.mli | 3 |
2 files changed, 7 insertions, 0 deletions
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 |
