module Events:sig..end
module Event:sig..end
type 'a t
val invariant : 'a t -> unitval create : now:Core.Std.Time.t -> 'a tval iter : 'a t -> f:('a Event.t -> unit) -> unitval is_empty : 'a t -> boolval now : 'a t -> Core.Std.Time.tval advance_clock : 'a t -> to_:Core.Std.Time.t -> [ `Not_in_the_future | `Ok of 'a list ]advance_clock t ~to_ advances the clock to to_, and returns `Ok values, with
values for all events in t with at <= to_.
advance_clock returns `Not_in_the_future if Time.(<=) to_ (now t)
val add : 'a t ->
at:Core.Std.Time.t -> 'a -> [ `Not_in_the_future | `Ok of 'a Event.t ]add t ~at value adds a new event e to t with the specified value, and returns
`Ok e. add returns `Not_in_the_future if Time.(<=) at (now t).val remove : 'a t -> 'a Event.t -> [ `Not_present | `Removed ]remove t event removes event from t and returns `Removed, if event is
present in t, else it returns `Not_present.val next_upcoming : 'a t -> 'a Event.t optionnext_upcoming t returns the next upcoming event in t, if any.val sexp_of_t : ('a -> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.t