# Module Std_kernel.Fqueue

    module Fqueue: Fqueue

    type 'a t

    include Container.S1

    include Invariant.S1

    val empty : 'a t

The empty queue

    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 a single element on the *top* of the queue. Complexity: amortized O(1) `enqueue_top` is deprecated, use `Fdeque.t` instead.

    val bot_exn : 'a t -> 'a

returns the bottom (most-recently enqueued element). Raises `Empty` if no element is found. Complexity: O(1) `bot_exn` is deprecated, use `Fdeque.t` instead.

    val bot : 'a t -> 'a option

like `bot_exn`, but returns result optionally, without exception. Complexity: O(1) `bot` is deprecated, use `Fdeque.t` instead.

    val top_exn : 'a t -> 'a

Like `bot_exn`, except returns top (least-recently enqueued element. Complexity: O(1)

    val top : 'a t -> 'a option

like `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

Like `dequeue_exn`, but returns result optionally, without exception. Complexity: amortized O(1)

    val discard_exn : 'a t -> 'a t

Returns version of queue with top element removed. Complexity: amortized O(1)

    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)

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

The empty queue
`enqueue t x` returns a queue with adds `x` to the end of `t`. Complexity: O(1)
enqueue a single element on the *top* of the queue. Complexity: amortized O(1) `enqueue_top` is deprecated, use `Fdeque.t` instead.
returns the bottom (most-recently enqueued element). Raises `Empty` if no element is found. Complexity: O(1) `bot_exn` is deprecated, use `Fdeque.t` instead.
like `bot_exn`, but returns result optionally, without exception. Complexity: O(1) `bot` is deprecated, use `Fdeque.t` instead.
Like `bot_exn`, except returns top (least-recently enqueued element. Complexity: O(1)
like `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)
Like `dequeue_exn`, but returns result optionally, without exception. Complexity: amortized O(1)
Returns version of queue with top element removed. 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)
complexity: O(1)
complexity: O(1)