2 * Copyright (C) 2011 Red Hat Inc.
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 val failwithf : ('a, unit, string, 'b) format4 -> 'a
20 (** Like [failwith] but supports printf-like arguments. *)
22 val isspace : char -> bool
23 (** Return true if char is a whitespace character. *)
25 val isalnum : char -> bool
26 (** Return true if char is an alphanumeric character. *)
28 val files_equal : string -> string -> bool
29 (** [files_equal filename1 filename2] returns true if the files contain
32 val count_chars : char -> string -> int
33 (** Count number of times the character occurs in string. *)
35 module StringMap : sig
37 type 'a t = 'a Map.Make(String).t
39 val is_empty : 'a t -> bool
40 val mem : key -> 'a t -> bool
41 val add : key -> 'a -> 'a t -> 'a t
42 val singleton : key -> 'a -> 'a t
43 val remove : key -> 'a t -> 'a t
45 (key -> 'a option -> 'b option -> 'c option) ->
47 val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
48 val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
49 val iter : (key -> 'a -> unit) -> 'a t -> unit
50 val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
51 val for_all : (key -> 'a -> bool) -> 'a t -> bool
52 val exists : (key -> 'a -> bool) -> 'a t -> bool
53 val filter : (key -> 'a -> bool) -> 'a t -> 'a t
54 val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
55 val cardinal : 'a t -> int
56 val bindings : 'a t -> (key * 'a) list
57 val min_binding : 'a t -> key * 'a
58 val max_binding : 'a t -> key * 'a
59 val choose : 'a t -> key * 'a
60 val split : key -> 'a t -> 'a t * 'a option * 'a t
61 val find : key -> 'a t -> 'a
62 val map : ('a -> 'b) -> 'a t -> 'b t
63 val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t