Queue (queue v0.1.1) View Source
Module for work queue.
Link to this section Summary
Functions
Return the queue is empty
Get first element of queue.
Get head element of queue
Put element in queue
Get last element of queue.
Return new queue structure
Get element of queue
Link to this section Types
Specs
t() :: %Queue{queue: term()}
Link to this section Functions
Specs
Return the queue is empty
Example:
iex> queue = Queue.new()
iex> Queue.empty?(queue)
true
iex> queue = Queue.inside(queue, 1)
iex> Queue.empty?(queue)
false
Specs
Get first element of queue.
This function is equals head function.
Example:
iex> queue = Queue.new() |> Queue.inside(1)
iex> Queue.first(queue)
1
iex> Queue.new() |> Queue.first()
nil
Specs
Get head element of queue
Example:
iex> queue = Queue.new() |> Queue.inside(1)
iex> Queue.head(queue)
1
iex> Queue.new() |> Queue.head()
nil
Specs
Put element in queue
Example:
iex> queue = Queue.new() |> Queue.inside(1)
#Queue<1>
iex> {1, queue} = Queue.out(queue)
iex> queue
#Queue<Empty>
Specs
Get last element of queue.
Example:
iex> queue = Queue.new() |> Queue.inside(1)
iex> Queue.last(queue)
1
iex> queue = Queue.inside(queue, 2)
iex> Queue.last(queue)
2
iex> Queue.new() |> Queue.last()
nil
Specs
new() :: t()
Return new queue structure
Example:
iex> Queue.new()
#Queue<Empty>
Specs
Get element of queue
Example:
iex> queue = Queue.new() |> Queue.inside(1)
#Queue<1>
iex> {1, queue} = Queue.out(queue)
iex> queue
#Queue<Empty>
iex> {nil, ^queue} = Queue.out(queue)