sig
module type NamePool =
sig
type name
type symbol = int
type namepool
val create_pool : unit -> Pool.NamePool.namepool
val init_pool : Pool.NamePool.namepool -> unit
val get_name :
Pool.NamePool.namepool -> Pool.NamePool.symbol -> Pool.NamePool.name
val add_name :
Pool.NamePool.namepool -> Pool.NamePool.name -> Pool.NamePool.symbol
val exists_name : Pool.NamePool.namepool -> Pool.NamePool.name -> bool
val symbol_equals :
Pool.NamePool.namepool ->
Pool.NamePool.symbol -> Pool.NamePool.symbol -> bool
val pool_size : Pool.NamePool.namepool -> int * int * int
end
module MakeNamePool :
functor (H : Hashtbl.HashedType) ->
sig
type name = H.t
type symbol = int
type namepool
val create_pool : unit -> namepool
val init_pool : namepool -> unit
val get_name : namepool -> symbol -> name
val add_name : namepool -> name -> symbol
val exists_name : namepool -> name -> bool
val symbol_equals : namepool -> symbol -> symbol -> bool
val pool_size : namepool -> int * int * int
end
end