sig
type 'a compare =
'a Hashhe.compare = {
hash : 'a -> int;
equal : 'a -> 'a -> bool;
}
type ('a, 'b) t = {
compare : 'a Hashhe.compare;
mutable hashtbl : ('a, 'b) Hashhe.t;
}
val stdcompare : 'a PHashhe.compare
val create : ('a -> int) -> ('a -> 'a -> bool) -> int -> ('a, 'b) PHashhe.t
val create_compare : 'a Hashhe.compare -> int -> ('a, 'b) PHashhe.t
val clear : ('a, 'b) PHashhe.t -> unit
val add : ('a, 'b) PHashhe.t -> 'a -> 'b -> unit
val remove : ('a, 'b) PHashhe.t -> 'a -> unit
val find : ('a, 'b) PHashhe.t -> 'a -> 'b
val find_all : ('a, 'b) PHashhe.t -> 'a -> 'b list
val replace : ('a, 'b) PHashhe.t -> 'a -> 'b -> unit
val mem : ('a, 'b) PHashhe.t -> 'a -> bool
val copy : ('a, 'b) PHashhe.t -> ('a, 'b) PHashhe.t
val iter : ('a -> 'b -> unit) -> ('a, 'b) PHashhe.t -> unit
val fold : ('a -> 'b -> 'c -> 'c) -> ('a, 'b) PHashhe.t -> 'c -> 'c
val map : ('a -> 'b -> 'c) -> ('a, 'b) PHashhe.t -> ('a, 'c) PHashhe.t
val length : ('a, 'b) PHashhe.t -> int
val print :
?first:(unit, Format.formatter, unit) Pervasives.format ->
?sep:(unit, Format.formatter, unit) Pervasives.format ->
?last:(unit, Format.formatter, unit) Pervasives.format ->
?firstbind:(unit, Format.formatter, unit) Pervasives.format ->
?sepbind:(unit, Format.formatter, unit) Pervasives.format ->
?lastbind:(unit, Format.formatter, unit) Pervasives.format ->
(Format.formatter -> 'a -> unit) ->
(Format.formatter -> 'b -> unit) ->
Format.formatter -> ('a, 'b) PHashhe.t -> unit
end