atoms.mli 981 Bytes
Newer Older
1
2
open Encodings

3
4
module V : sig
  include Custom.T
5
6
7
8
9
  type value = Ns.QName.t
(*  include Upool.S with type value = Ns.QName.t  *)
  val mk: value -> t
  val value: t -> value
  val print_quote: Format.formatter -> t -> unit
10
  val mk_ascii: string -> t
11
  val get_ascii: t -> string
12
  val print: Format.formatter -> t -> unit
13
  val to_string: t -> string
14
15
16
end

include Custom.T
17
18
19
20
21
22
23
24
val print : t -> (Format.formatter -> unit) list

val empty : t
val any   : t

val cup : t -> t -> t
val cap : t -> t -> t
val diff : t -> t -> t
25
val atom : V.t -> t
26
val any_in_ns : Ns.Uri.t -> t
27

28
val contains : V.t -> t -> bool
29
val disjoint : t -> t -> bool
30
val is_empty : t -> bool
31
val print_tag : t -> (Format.formatter -> unit) option
32

33
val single : t -> V.t
34

35
36
37
38
type sample = (Ns.Uri.t * Ns.Label.t option) option
val sample : t -> sample
val contains_sample: sample -> t -> bool

39
40
type 'a map
val mk_map: (t * 'a) list -> 'a map
41
val get_map: V.t -> 'a map -> 'a
42
val map_map: ('a -> 'b) -> 'a map -> 'b map