CocoaPods trunk is moving to be read-only. Read more on the blog, there are 8 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