A double queue.
Taken from Programming in Lua Queues and Double Queues and modified to not allow nil values, and returns nil if pop_first or pop_last is used when the queue is empty.
local Queue = require('stdlib/queue/queue')
count (queue) | Returns the number of items in the queue. |
is_empty (queue) | Returns true if the given queue is empty. |
load (...) | Load global.queue or queues during on_load, as metatables are not persisted. |
new () | Constructs a new Queue object. |
peek () | Shortcut for Queue.peek_first |
peek_first (queue) | Return the element at the front of the queue and remove it from the queue. |
peek_last (queue) | Return the element at the back of the queue. |
pop () | Shortcut for Queue.pop_first |
pop_first (queue) | Retrieve the element at the front of the queue and remove it from the queue. |
pop_last (queue) | Retrieve the element at the back of the queue and remove it from the queue. |
push () | Shortcut for Queue.push_last |
push_first (queue, value) | Push a new element to the front of the queue. |
push_last (queue, value) | Push a new element to the back of the queue. |
Returns the number of items in the queue.
Parameters:
Returns true if the given queue is empty.
Parameters:
Load global.queue or queues during on_load, as metatables are not persisted.
This is only needed if you are using the queue as an object and storing it in global.
Parameters:global.myqueue1 = Queue.new()
global.myqueue2 = Queue.new()
script.on_load(function() Queue.load(myqueue1, myqueue2))
Constructs a new Queue object.
Returns:
Shortcut for Queue.peek_first
Return the element at the front of the queue and remove it from the queue.
Parameters:
Return the element at the back of the queue.
Parameters:
Shortcut for Queue.pop_first
Retrieve the element at the front of the queue and remove it from the queue.
Parameters:
Retrieve the element at the back of the queue and remove it from the queue.
Parameters:
Shortcut for Queue.push_last
Push a new element to the front of the queue.
Parameters:
Push a new element to the back of the queue.
Parameters: