Module queue.lua

📑 Source

Simple FIFO queue implementation.

Usage

local max_size = 1
local a_queue_of_one = queue(max_size)

-- max_size is optional. When not defined it has no limit.
a_queue_of_one.push(1)
a_queue_of_one.size -- 1
a_queue_of_one.push(2) -- Throws with 'queue is empty'
a_queue_of_one.pop() -- 1
a_queue_of_one.is_empty -- true
a_queue_of_one.size -- 0

Functions


# returns... ([max_size])

Parameters

  • max_size number Maximum number of elements allowed in the queue. (optional)

Returns

    queue Instance of a queue.

queue


# queue.push (v)

Parameters

  • v any Value to push

Returns

    boolean True when push was successful.

# queue.pop ()

Returns

    any

Raises

Throws when queue is empty

# queue.size ()

Returns

    integer

# queue.is_empty ()

Returns

    boolean