Queue¶
- class guppylang.std.collections.Queue[source]¶
A first-in-first-out (FIFO) growable collection of values.
To ensure static allocation, the maximum queue size must be specified in advance and is tracked in the type. For example, the Queue[int, 10] is a queue that can hold at most 10 integers.
Use empty_queue to construct a new queue.
- __iter__() Queue[T, MAX_SIZE][source]¶
Returns an iterator over the elements in the queue from bottom to top.
- buf: array[Option[T], MAX_SIZE]¶
Underlying buffer holding the queue elements.
INVARIANT: All array elements up to and including index self.end - 1 are option.some variants and all further ones are option.nothing.
- discard_empty() None[source]¶
Discards a queue of potentially non-droppable elements assuming that the queue is empty.
Panics if the queue is not empty.
- peek() tuple[TCopyable, Queue[TCopyable, MAX_SIZE]][source]¶
Returns a copy of the top element of the queue without removing it.
Panics if the queue is empty.
Note that this operation is only allowed if the queue elements are copyable.