sig
type 'a t
type 'a priority_queue = 'a Timing_wheel_intf.S.Priority_queue.t
module Elt :
sig
type 'a t
val invariant :
'a Timing_wheel_intf.S.Priority_queue.priority_queue ->
'a Invariant.t ->
'a Timing_wheel_intf.S.Priority_queue.Elt.t Invariant.t
val key :
'a Timing_wheel_intf.S.Priority_queue.priority_queue ->
'a Timing_wheel_intf.S.Priority_queue.Elt.t -> int
val value :
'a Timing_wheel_intf.S.Priority_queue.priority_queue ->
'a Timing_wheel_intf.S.Priority_queue.Elt.t -> 'a
val sexp_of_t :
('a -> Sexplib.Sexp.t) ->
'a Timing_wheel_intf.S.Priority_queue.Elt.t -> Sexplib.Sexp.t
end
val invariant :
'a Core_kernel.Invariant_intf.inv -> 'a t Core_kernel.Invariant_intf.inv
val create :
?level_bits:Timing_wheel_intf.S.Level_bits.t ->
unit -> 'a Timing_wheel_intf.S.Priority_queue.t
val length : 'a Timing_wheel_intf.S.Priority_queue.t -> int
val is_empty : 'a Timing_wheel_intf.S.Priority_queue.t -> bool
val max_representable_key : int
val min_allowed_key : 'a Timing_wheel_intf.S.Priority_queue.t -> int
val max_allowed_key : 'a Timing_wheel_intf.S.Priority_queue.t -> int
val min_elt :
'a Timing_wheel_intf.S.Priority_queue.t ->
'a Timing_wheel_intf.S.Priority_queue.Elt.t option
val min_key : 'a Timing_wheel_intf.S.Priority_queue.t -> int option
val add :
'a Timing_wheel_intf.S.Priority_queue.t ->
key:int -> 'a -> 'a Timing_wheel_intf.S.Priority_queue.Elt.t
val remove :
'a Timing_wheel_intf.S.Priority_queue.t ->
'a Timing_wheel_intf.S.Priority_queue.Elt.t -> unit
val clear : 'a Timing_wheel_intf.S.Priority_queue.t -> unit
val mem :
'a Timing_wheel_intf.S.Priority_queue.t ->
'a Timing_wheel_intf.S.Priority_queue.Elt.t -> bool
val increase_min_allowed_key :
'a Timing_wheel_intf.S.Priority_queue.t ->
key:int ->
handle_removed:('a Timing_wheel_intf.S.Priority_queue.Elt.t -> unit) ->
unit
val iter :
'a Timing_wheel_intf.S.Priority_queue.t ->
f:('a Timing_wheel_intf.S.Priority_queue.Elt.t -> unit) -> unit
val sexp_of_t :
('a -> Sexplib.Sexp.t) ->
'a Timing_wheel_intf.S.Priority_queue.t -> Sexplib.Sexp.t
end