module Name: sig end
Datatype of strings with constant equality
Author(s): Harald Ruess
type t
Representation of strings with constant time equality.
Notice that
Tools.do_at_reset flushes internal structures
and therefor invalidates any use of names. In particular,
names should never be used in global variables.
val of_string : string -> t
of_string s constructs a name with associated string s.
val to_string : t -> string
to_string n returns the string associated with n.
val eq : t -> t -> bool
eq n m holds if the strings associated with n and m are
equal. This test has constant runtime.
val compare : t -> t -> int
If s (t) is the string associated to n (m), then
compare n m equals 0 iff eq n m. Furthermore, if compare n m
equals i, then compare m n equals -i.
val pp : t Pretty.printer
Pretty-printing of names.
| Parameters: |
|
fmt |
: |
Format.formatter
|
|
(s,()) |
: |
string * 'a
|
|
val hash : t -> int
Return hash values for names n. Not injective.
module Set: sig end
Sets of names.
module Map: sig end
Maps with names in the domain.
module Hash: sig end
Hash table with names as keys.