sig
module type HashableComparableType =
sig
type t
val equal :
InvertibleArray.HashableComparableType.t ->
InvertibleArray.HashableComparableType.t -> bool
val compare :
InvertibleArray.HashableComparableType.t ->
InvertibleArray.HashableComparableType.t -> int
val hash : InvertibleArray.HashableComparableType.t -> int
val to_string : InvertibleArray.HashableComparableType.t -> string
end
module type S =
sig
type elem
type t
val make : int -> int -> InvertibleArray.S.elem -> InvertibleArray.S.t
val from_array :
exn ->
InvertibleArray.S.elem array ->
InvertibleArray.S.elem -> InvertibleArray.S.t
val to_array : InvertibleArray.S.t -> InvertibleArray.S.elem array
val length : InvertibleArray.S.t -> int
val capacity : InvertibleArray.S.t -> int
val get : InvertibleArray.S.t -> Utils.u2 -> InvertibleArray.S.elem
val set :
InvertibleArray.S.t -> Utils.u2 -> InvertibleArray.S.elem -> unit
val find : InvertibleArray.S.elem -> InvertibleArray.S.t -> Utils.u2
val add :
exn ->
InvertibleArray.S.t ->
InvertibleArray.S.elem -> InvertibleArray.S.elem -> bool -> Utils.u2
val add_if_not_found :
exn ->
InvertibleArray.S.t ->
InvertibleArray.S.elem -> InvertibleArray.S.elem -> bool -> Utils.u2
val equal : InvertibleArray.S.t -> InvertibleArray.S.t -> bool
val compare : InvertibleArray.S.t -> InvertibleArray.S.t -> int
val hash : InvertibleArray.S.t -> int
val to_string : InvertibleArray.S.t -> string
end
module Make :
functor (T : HashableComparableType) ->
sig
type elem = T.t
type t
val make : int -> int -> elem -> t
val from_array : exn -> elem array -> elem -> t
val to_array : t -> elem array
val length : t -> int
val capacity : t -> int
val get : t -> Utils.u2 -> elem
val set : t -> Utils.u2 -> elem -> unit
val find : elem -> t -> Utils.u2
val add : exn -> t -> elem -> elem -> bool -> Utils.u2
val add_if_not_found : exn -> t -> elem -> elem -> bool -> Utils.u2
val equal : t -> t -> bool
val compare : t -> t -> int
val hash : t -> int
val to_string : t -> string
end
end