chars.mli 872 Bytes
Newer Older
1 2
module V : sig
  include Custom.T
3

4 5 6 7 8 9 10 11
  val mk_int: int -> t
  val mk_char: char -> t
  val to_int: t -> int
  val to_char: t -> char
  val print : Format.formatter -> t -> unit
  val print_in_string : Format.formatter -> t -> unit
end

12
include Bool.S with type elem = V.t
13
val print : t -> (Format.formatter -> unit) list
14 15
val dump: Format.formatter -> t -> unit

16
val empty : t
17
val any   : t
18
val full  : t (* same as any *)
19 20 21
val cup   : t -> t -> t
val cap   : t -> t -> t
val diff  : t -> t -> t
22 23
val char_class  : V.t-> V.t-> t
val atom  : V.t-> t
24
val mk_classes : (int * int) list -> t
25

26
val disjoint : t -> t -> bool
27
val is_empty : t -> bool
28 29 30
val contains : V.t-> t -> bool
val sample : t -> V.t
val is_char : t -> V.t option
31
val single : t -> V.t
32

33
type 'a map
34 35 36
val mk_map : (t * 'a) list -> 'a map
val get_map : V.t-> 'a map -> 'a
val map_map : ('a -> 'b) -> 'a map -> 'b map