sig
module type S =
sig
type 'a key
type ('key, 'a) t
val create : 'a -> ('key, 'a) Stog_tmap.S.t
val compare_key : 'a Stog_tmap.S.key -> 'a Stog_tmap.S.key -> int
val get : ('key, 'a) Stog_tmap.S.t -> 'key Stog_tmap.S.key -> 'a
val add :
('key, 'a) Stog_tmap.S.t ->
'a -> 'key Stog_tmap.S.key * ('key, 'a) Stog_tmap.S.t
val fold :
('key Stog_tmap.S.key -> 'a -> 'b -> 'b) ->
('key, 'a) Stog_tmap.S.t -> 'b -> 'b
val find :
('key, 'a) Stog_tmap.S.t -> ('a -> bool) -> 'key Stog_tmap.S.key
val int : 'key Stog_tmap.S.key -> int
val iter :
('key Stog_tmap.S.key -> 'a -> unit) ->
('key, 'a) Stog_tmap.S.t -> unit
val remove :
('key, 'a) Stog_tmap.S.t ->
'key Stog_tmap.S.key -> ('key, 'a) Stog_tmap.S.t
val modify :
('key, 'a) Stog_tmap.S.t ->
'key Stog_tmap.S.key -> 'a -> ('key, 'a) Stog_tmap.S.t
val card : ('key, 'a) Stog_tmap.S.t -> int
end
type 'a key
type ('key, 'a) t
val create : 'a -> ('key, 'a) t
val compare_key : 'a key -> 'a key -> int
val get : ('key, 'a) t -> 'key key -> 'a
val add : ('key, 'a) t -> 'a -> 'key key * ('key, 'a) t
val fold : ('key key -> 'a -> 'b -> 'b) -> ('key, 'a) t -> 'b -> 'b
val find : ('key, 'a) t -> ('a -> bool) -> 'key key
val int : 'key key -> int
val iter : ('key key -> 'a -> unit) -> ('key, 'a) t -> unit
val remove : ('key, 'a) t -> 'key key -> ('key, 'a) t
val modify : ('key, 'a) t -> 'key key -> 'a -> ('key, 'a) t
val card : ('key, 'a) t -> int
end