CocoaPods trunk is moving to be read-only. Read more on the blog, there are 11 months to go.

Queue 0.2.0

Queue 0.2.0

TestsTested
LangLanguage SwiftSwift
License MIT
ReleasedLast Release Apr 2015
SPMSupports SPM

Maintained by to4iki.



Queue 0.2.0

Queue

First-In-First-Out (FIFO) Simple Queue(immutable|mutable)

Description

Queue objects implement data structures that allow to
insert and retrieve elements in a first-in-first-out (FIFO) manner.

Usage

ImmutableQueue

let queue = ImmutableQueue<Int>()

enqueue

let q1 = queue.enqueue(1) // ImmutableQueue(1)
let q123 = q1.enqueue(2,3) // ImmutableQueue(1,2,3)
let q12345 = q123.enqueue([4,5]) // ImmutableQueue(1,2,3,4,5)

dequeue

let q123 = queue.enqueue(1,2,3)
let (q, qs) = q123.dequeue()
q // 1
qs // [2,3]

MutableQueue

var queue = MutableQueue<Int>()

enqueue(+=)

queue.enqueue(0)
queue.enqueue(1,2)
queue += 3
queue.count // 4

enqueue(++=)

queue.enqueue([0,1])
queue ++= [2,3]
queue.count // 4

dequeue

queue ++= [1,2,3]
let res = queue.dequeue()
res.head // 1
res.tail // [2.3]

clear

queue ++= [1,2,3]
queue.clear()
queue.count // 0

Methods

immutable.ImmutableQueue

  • Instance Methods
    • enqueue(elems: T...) -> ImmutableQueue
    • enqueue(elems: [T]) -> ImmutableQueue
    • dequeue() -> (head: T, tail: [T])
    • dequeueOption() -> (head: T, tail: [T])?
    • front() -> T?
    • tail() -> ImmutableQueue

mutable.MutableQueue

  • Instance Methods
    • enqueue(elems: T...)
    • enqueue(elems: [T])
    • dequeue() -> (head: T, tail: [T])
    • dequeueOption() -> (head: T, tail: [T])?
    • dequeueFirst(predicate: T -> Bool) -> T?
    • dequeueAll(predicate: T -> Bool) -> [T]
    • clear()
    • front() -> T?
    • tail() -> MutableQueue

Installation

Licence

MIT

Author

to4iki