OLEB_Queue
public protocol OLEB_Queue
This was taken straight from the objc.io book “Advanced Swift.” It’s so damn useful, that I have it made into a standard tool.
The original design was done by Ole Begemann and Chris Eidhof. I have modified it slightly; but not much.
It is fast as all git-go.
A type that can efficiently “enqueue” and “dequeue” elements. It works on one element at a time. You cannot dequeue groups of elements.
-
Defines the type for the Elements
Declaration
Swift
associatedtype Element
-
This will push the single element into the 0th (first) place.
Declaration
Swift
mutating func cutTheLine(_: Element)
-
Adds a new Element to the end (back) of the queue
Declaration
Swift
mutating func enqueue(_: Element)
-
Adds a new Array of Element to the end (back) of the queue
Declaration
Swift
mutating func enqueue(_: [Element])
-
Removes and returns the first element from the beginning (front) of the queue. nil, if the queue is empty.
Declaration
Swift
mutating func dequeue() -> Element?
-
Deletes all data in the queue.
Declaration
Swift
mutating func removeAll()