module Fqueue:sig
..end
Fdeque
.
Amortized running times assumes that enqueue/dequeue are used sequentially, threading
the changing Fqueue through the calls.
type 'a
t
include Container.S1
include Invariant.S1
val empty : 'a t
val enqueue : 'a t -> 'a -> 'a t
enqueue t x
returns a queue with adds x
to the end of t
. Complexity: O(1)val enqueue_top : 'a t -> 'a -> 'a t
enqueue_top
is deprecated, use Fdeque.t
instead.val bot_exn : 'a t -> 'a
Empty
if no element is
found. Complexity: O(1)
bot_exn
is deprecated, use Fdeque.t
instead.val bot : 'a t -> 'a option
bot_exn
, but returns result optionally, without exception. Complexity: O(1)
bot
is deprecated, use Fdeque.t
instead.val top_exn : 'a t -> 'a
bot_exn
, except returns top (least-recently enqueued element. Complexity:
O(1)val top : 'a t -> 'a option
top_exn
, but returns result optionally, without exception, Complexity: O(1)val dequeue_exn : 'a t -> 'a * 'a t
dequeue_exn t
removes and returns the front of t
, raising Empty
if t
is empty. Complexity: amortized O(1)val dequeue : 'a t -> ('a * 'a t) option
dequeue_exn
, but returns result optionally, without exception. Complexity:
amortized O(1)val discard_exn : 'a t -> 'a t
val to_list : 'a t -> 'a list
to_list t
returns a list of the elements in t
in order from least-recently-added
(at the head) to most-recently added (at the tail). Complexity: O(n)val length : 'a t -> int
complexity: O(1)
val is_empty : 'a t -> bool
val singleton : 'a -> 'a t
module Stable:sig
..end
val t_of_sexp : (Sexplib.Sexp.t -> 'a) -> Sexplib.Sexp.t -> 'a t
val sexp_of_t : ('a -> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.t
val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
val bin_t : 'a Bin_prot.Type_class.t -> 'a t Bin_prot.Type_class.t
val bin_read_t : 'a Bin_prot.Read.reader -> 'a t Bin_prot.Read.reader
val __bin_read_t__ : 'a Bin_prot.Read.reader -> (int -> 'a t) Bin_prot.Read.reader
val bin_reader_t : 'a Bin_prot.Type_class.reader -> 'a t Bin_prot.Type_class.reader
val bin_size_t : 'a Bin_prot.Size.sizer -> 'a t Bin_prot.Size.sizer
val bin_write_t : 'a Bin_prot.Write.writer -> 'a t Bin_prot.Write.writer
val bin_writer_t : 'a Bin_prot.Type_class.writer -> 'a t Bin_prot.Type_class.writer
enqueue t x
returns a queue with adds x
to the end of t
. Complexity: O(1)enqueue_top
is deprecated, use Fdeque.t
instead.Empty
if no element is
found. Complexity: O(1)
bot_exn
is deprecated, use Fdeque.t
instead.bot_exn
, but returns result optionally, without exception. Complexity: O(1)
bot
is deprecated, use Fdeque.t
instead.bot_exn
, except returns top (least-recently enqueued element. Complexity:
O(1)top_exn
, but returns result optionally, without exception, Complexity: O(1)dequeue_exn t
removes and returns the front of t
, raising Empty
if t
is empty. Complexity: amortized O(1)dequeue_exn
, but returns result optionally, without exception. Complexity:
amortized O(1)to_list t
returns a list of the elements in t
in order from least-recently-added
(at the head) to most-recently added (at the tail). Complexity: O(n)