0001    //
0002    //  Queue.swift
0003    //  Rx
0004    //
0005    //  Created by Krunoslav Zaher on 3/21/15.
0006    //  Copyright © 2015 Krunoslav Zaher. All rights reserved.
0007    //
0008    
0009    import Foundation
0010    
0011    /**
0012    Data structure that represents queue.
0013    
0014    Complexity of `enqueue`, `dequeue` is O(1) when number of operations is
0015    averaged over N operations.
0016    
0017    Complexity of `peek` is O(1).
0018    */
0019    public struct Queue
AsyncLock.swift:29
    private var _queue: Queue<I> = Queue(capacity: 0)
AsyncLock.swift:29
    private var _queue: Queue<I> = Queue(capacity: 0)
AsyncLock.swift:101
        _queue = Queue(capacity: 0)
CurrentThreadScheduler.swift:65
    typealias ScheduleQueue = RxMutableBox<Queue<ScheduledItemType>>
CurrentThreadScheduler.swift:131
        let queue: RxMutableBox<Queue<ScheduledItemType>>
CurrentThreadScheduler.swift:136
            queue = RxMutableBox(Queue<ScheduledItemType>(capacity: 1))
Merge.swift:67
    typealias QueueType = Queue<S>
ObserveOn.swift:54
    var _queue = Queue<Event<E>>(capacity: 10)
ReplaySubject.swift:209
    private var _queue: Queue<Element>
ReplaySubject.swift:212
        _queue = Queue(capacity: queueSize + 1)
ReplaySubject.swift:227
        _queue = Queue(capacity: 0)
TakeLast.swift:18
    private var _elements: Queue<ElementType>
TakeLast.swift:22
        _elements = Queue<ElementType>(capacity: parent._count + 1)
Zip+arity.swift:42
    var _values1: Queue<E1> = Queue(capacity: 2)
Zip+arity.swift:42
    var _values1: Queue<E1> = Queue(capacity: 2)
Zip+arity.swift:43
    var _values2: Queue<E2> = Queue(capacity: 2)
Zip+arity.swift:43
    var _values2: Queue<E2> = Queue(capacity: 2)
Zip+arity.swift:135
    var _values1: Queue<E1> = Queue(capacity: 2)
Zip+arity.swift:135
    var _values1: Queue<E1> = Queue(capacity: 2)
Zip+arity.swift:136
    var _values2: Queue<E2> = Queue(capacity: 2)
Zip+arity.swift:136
    var _values2: Queue<E2> = Queue(capacity: 2)
Zip+arity.swift:137
    var _values3: Queue<E3> = Queue(capacity: 2)
Zip+arity.swift:137
    var _values3: Queue<E3> = Queue(capacity: 2)
Zip+arity.swift:236
    var _values1: Queue<E1> = Queue(capacity: 2)
Zip+arity.swift:236
    var _values1: Queue<E1> = Queue(capacity: 2)
Zip+arity.swift:237
    var _values2: Queue<E2> = Queue(capacity: 2)
Zip+arity.swift:237
    var _values2: Queue<E2> = Queue(capacity: 2)
Zip+arity.swift:238
    var _values3: Queue<E3> = Queue(capacity: 2)
Zip+arity.swift:238
    var _values3: Queue<E3> = Queue(capacity: 2)
Zip+arity.swift:239
    var _values4: Queue<E4> = Queue(capacity: 2)
Zip+arity.swift:239
    var _values4: Queue<E4> = Queue(capacity: 2)
Zip+arity.swift:345
    var _values1: Queue<E1> = Queue(capacity: 2)
Zip+arity.swift:345
    var _values1: Queue<E1> = Queue(capacity: 2)
Zip+arity.swift:346
    var _values2: Queue<E2> = Queue(capacity: 2)
Zip+arity.swift:346
    var _values2: Queue<E2> = Queue(capacity: 2)
Zip+arity.swift:347
    var _values3: Queue<E3> = Queue(capacity: 2)
Zip+arity.swift:347
    var _values3: Queue<E3> = Queue(capacity: 2)
Zip+arity.swift:348
    var _values4: Queue<E4> = Queue(capacity: 2)
Zip+arity.swift:348
    var _values4: Queue<E4> = Queue(capacity: 2)
Zip+arity.swift:349
    var _values5: Queue<E5> = Queue(capacity: 2)
Zip+arity.swift:349
    var _values5: Queue<E5> = Queue(capacity: 2)
Zip+arity.swift:462
    var _values1: Queue<E1> = Queue(capacity: 2)
Zip+arity.swift:462
    var _values1: Queue<E1> = Queue(capacity: 2)
Zip+arity.swift:463
    var _values2: Queue<E2> = Queue(capacity: 2)
Zip+arity.swift:463
    var _values2: Queue<E2> = Queue(capacity: 2)
Zip+arity.swift:464
    var _values3: Queue<E3> = Queue(capacity: 2)
Zip+arity.swift:464
    var _values3: Queue<E3> = Queue(capacity: 2)
Zip+arity.swift:465
    var _values4: Queue<E4> = Queue(capacity: 2)
Zip+arity.swift:465
    var _values4: Queue<E4> = Queue(capacity: 2)
Zip+arity.swift:466
    var _values5: Queue<E5> = Queue(capacity: 2)
Zip+arity.swift:466
    var _values5: Queue<E5> = Queue(capacity: 2)
Zip+arity.swift:467
    var _values6: Queue<E6> = Queue(capacity: 2)
Zip+arity.swift:467
    var _values6: Queue<E6> = Queue(capacity: 2)
Zip+arity.swift:587
    var _values1: Queue<E1> = Queue(capacity: 2)
Zip+arity.swift:587
    var _values1: Queue<E1> = Queue(capacity: 2)
Zip+arity.swift:588
    var _values2: Queue<E2> = Queue(capacity: 2)
Zip+arity.swift:588
    var _values2: Queue<E2> = Queue(capacity: 2)
Zip+arity.swift:589
    var _values3: Queue<E3> = Queue(capacity: 2)
Zip+arity.swift:589
    var _values3: Queue<E3> = Queue(capacity: 2)
Zip+arity.swift:590
    var _values4: Queue<E4> = Queue(capacity: 2)
Zip+arity.swift:590
    var _values4: Queue<E4> = Queue(capacity: 2)
Zip+arity.swift:591
    var _values5: Queue<E5> = Queue(capacity: 2)
Zip+arity.swift:591
    var _values5: Queue<E5> = Queue(capacity: 2)
Zip+arity.swift:592
    var _values6: Queue<E6> = Queue(capacity: 2)
Zip+arity.swift:592
    var _values6: Queue<E6> = Queue(capacity: 2)
Zip+arity.swift:593
    var _values7: Queue<E7> = Queue(capacity: 2)
Zip+arity.swift:593
    var _values7: Queue<E7> = Queue(capacity: 2)
Zip+arity.swift:720
    var _values1: Queue<E1> = Queue(capacity: 2)
Zip+arity.swift:720
    var _values1: Queue<E1> = Queue(capacity: 2)
Zip+arity.swift:721
    var _values2: Queue<E2> = Queue(capacity: 2)
Zip+arity.swift:721
    var _values2: Queue<E2> = Queue(capacity: 2)
Zip+arity.swift:722
    var _values3: Queue<E3> = Queue(capacity: 2)
Zip+arity.swift:722
    var _values3: Queue<E3> = Queue(capacity: 2)
Zip+arity.swift:723
    var _values4: Queue<E4> = Queue(capacity: 2)
Zip+arity.swift:723
    var _values4: Queue<E4> = Queue(capacity: 2)
Zip+arity.swift:724
    var _values5: Queue<E5> = Queue(capacity: 2)
Zip+arity.swift:724
    var _values5: Queue<E5> = Queue(capacity: 2)
Zip+arity.swift:725
    var _values6: Queue<E6> = Queue(capacity: 2)
Zip+arity.swift:725
    var _values6: Queue<E6> = Queue(capacity: 2)
Zip+arity.swift:726
    var _values7: Queue<E7> = Queue(capacity: 2)
Zip+arity.swift:726
    var _values7: Queue<E7> = Queue(capacity: 2)
Zip+arity.swift:727
    var _values8: Queue<E8> = Queue(capacity: 2)
Zip+arity.swift:727
    var _values8: Queue<E8> = Queue(capacity: 2)
Zip+CollectionType.swift:22
    private var _values: [Queue<SourceElement>]
Zip+CollectionType.swift:29
        _values = [Queue<SourceElement>](count: parent.count, repeatedValue: Queue(capacity: 4))
Zip+CollectionType.swift:29
        _values = [Queue<SourceElement>](count: parent.count, repeatedValue: Queue(capacity: 4))
<T
Queue.swift:23
    public typealias Generator = AnyGenerator<T>
Queue.swift:27
    private var _storage: ContiguousArray<T?>
Queue.swift:44
            _storage = ContiguousArray<T?>(count: capacity, repeatedValue: nil)
Queue.swift:47
            _storage = ContiguousArray<T?>()
Queue.swift:79
    public func peek() -> T {
Queue.swift:86
        var newStorage = ContiguousArray<T?>(count: size, repeatedValue: nil)
Queue.swift:111
    public mutating func enqueue(element: T) {
Queue.swift:125
    private mutating func dequeueElementOnly() -> T {
Queue.swift:143
    public mutating func dequeue() -> T? {
>: SequenceType { 0020 /** 0021 Type of generator. 0022 */ 0023 public typealias Generator
Queue.swift:161
    public func generate() -> Generator {
= AnyGenerator<T> 0024 0025 private let _resizeFactor
Queue.swift:113
            resizeTo(max(_storage.count, 1) * _resizeFactor)
Queue.swift:150
        let downsizeLimit = _storage.count / (_resizeFactor * _resizeFactor)
Queue.swift:150
        let downsizeLimit = _storage.count / (_resizeFactor * _resizeFactor)
Queue.swift:152
            resizeTo(_storage.count / _resizeFactor)
= 2 0026 0027 private var _storage
Queue.swift:44
            _storage = ContiguousArray<T?>(count: capacity, repeatedValue: nil)
Queue.swift:47
            _storage = ContiguousArray<T?>()
Queue.swift:54
            return index < 0 ? index + _storage.count : index
Queue.swift:82
        return _storage[dequeueIndex]!
Queue.swift:91
        let spaceToEndOfQueue = _storage.count - dequeueIndex
Queue.swift:98
        newStorage[0 ..< countElementsInFirstBatch] = _storage[dequeueIndex ..< (dequeueIndex + countElementsInFirstBatch)]
Queue.swift:99
        newStorage[countElementsInFirstBatch ..< (countElementsInFirstBatch + numberOfElementsInSecondBatch)] = _storage[0 ..< numberOfElementsInSecondBatch]
Queue.swift:103
        _storage = newStorage
Queue.swift:112
        if count == _storage.count {
Queue.swift:113
            resizeTo(max(_storage.count, 1) * _resizeFactor)
Queue.swift:116
        _storage[_pushNextIndex] = element
Queue.swift:120
        if _pushNextIndex >= _storage.count {
Queue.swift:121
            _pushNextIndex -= _storage.count
Queue.swift:129
        let value = _storage[index]!
Queue.swift:131
        _storage[index] = nil
Queue.swift:150
        let downsizeLimit = _storage.count / (_resizeFactor * _resizeFactor)
Queue.swift:152
            resizeTo(_storage.count / _resizeFactor)
Queue.swift:171
            if i >= self._storage.count {
Queue.swift:172
                i -= self._storage.count
Queue.swift:175
            let element = self._storage[i]
: ContiguousArray<T?> 0028 private var _count
Queue.swift:40
        _count = 0
Queue.swift:72
            return _count
Queue.swift:88
        let count = _count
Queue.swift:101
        _count = count
Queue.swift:118
        _count = _count + 1
Queue.swift:118
        _count = _count + 1
Queue.swift:133
        _count = _count - 1
Queue.swift:133
        _count = _count - 1
Queue.swift:151
        if _count < downsizeLimit && downsizeLimit >= _initialCapacity {
Queue.swift:163
        var count = _count
: Int 0029 private var _pushNextIndex
Queue.swift:41
        _pushNextIndex = 0
Queue.swift:53
           let index = _pushNextIndex - count
Queue.swift:102
        _pushNextIndex = count
Queue.swift:116
        _storage[_pushNextIndex] = element
Queue.swift:117
        _pushNextIndex += 1
Queue.swift:120
        if _pushNextIndex >= _storage.count {
Queue.swift:121
            _pushNextIndex -= _storage.count
: Int 0030 private var _initialCapacity
Queue.swift:38
        _initialCapacity = capacity
Queue.swift:151
        if _count < downsizeLimit && downsizeLimit >= _initialCapacity {
: Int 0031 0032 /** 0033 Creates new queue. 0034 0035 - parameter capacity: Capacity of newly created queue. 0036 */ 0037 public init
AsyncLock.swift:29
    private var _queue: Queue<I> = Queue(capacity: 0)
AsyncLock.swift:101
        _queue = Queue(capacity: 0)
Merge.swift:76
    private var _queue = QueueType(capacity: 2)
ReplaySubject.swift:212
        _queue = Queue(capacity: queueSize + 1)
ReplaySubject.swift:227
        _queue = Queue(capacity: 0)
Zip+arity.swift:42
    var _values1: Queue<E1> = Queue(capacity: 2)
Zip+arity.swift:43
    var _values2: Queue<E2> = Queue(capacity: 2)
Zip+arity.swift:135
    var _values1: Queue<E1> = Queue(capacity: 2)
Zip+arity.swift:136
    var _values2: Queue<E2> = Queue(capacity: 2)
Zip+arity.swift:137
    var _values3: Queue<E3> = Queue(capacity: 2)
Zip+arity.swift:236
    var _values1: Queue<E1> = Queue(capacity: 2)
Zip+arity.swift:237
    var _values2: Queue<E2> = Queue(capacity: 2)
Zip+arity.swift:238
    var _values3: Queue<E3> = Queue(capacity: 2)
Zip+arity.swift:239
    var _values4: Queue<E4> = Queue(capacity: 2)
Zip+arity.swift:345
    var _values1: Queue<E1> = Queue(capacity: 2)
Zip+arity.swift:346
    var _values2: Queue<E2> = Queue(capacity: 2)
Zip+arity.swift:347
    var _values3: Queue<E3> = Queue(capacity: 2)
Zip+arity.swift:348
    var _values4: Queue<E4> = Queue(capacity: 2)
Zip+arity.swift:349
    var _values5: Queue<E5> = Queue(capacity: 2)
Zip+arity.swift:462
    var _values1: Queue<E1> = Queue(capacity: 2)
Zip+arity.swift:463
    var _values2: Queue<E2> = Queue(capacity: 2)
Zip+arity.swift:464
    var _values3: Queue<E3> = Queue(capacity: 2)
Zip+arity.swift:465
    var _values4: Queue<E4> = Queue(capacity: 2)
Zip+arity.swift:466
    var _values5: Queue<E5> = Queue(capacity: 2)
Zip+arity.swift:467
    var _values6: Queue<E6> = Queue(capacity: 2)
Zip+arity.swift:587
    var _values1: Queue<E1> = Queue(capacity: 2)
Zip+arity.swift:588
    var _values2: Queue<E2> = Queue(capacity: 2)
Zip+arity.swift:589
    var _values3: Queue<E3> = Queue(capacity: 2)
Zip+arity.swift:590
    var _values4: Queue<E4> = Queue(capacity: 2)
Zip+arity.swift:591
    var _values5: Queue<E5> = Queue(capacity: 2)
Zip+arity.swift:592
    var _values6: Queue<E6> = Queue(capacity: 2)
Zip+arity.swift:593
    var _values7: Queue<E7> = Queue(capacity: 2)
Zip+arity.swift:720
    var _values1: Queue<E1> = Queue(capacity: 2)
Zip+arity.swift:721
    var _values2: Queue<E2> = Queue(capacity: 2)
Zip+arity.swift:722
    var _values3: Queue<E3> = Queue(capacity: 2)
Zip+arity.swift:723
    var _values4: Queue<E4> = Queue(capacity: 2)
Zip+arity.swift:724
    var _values5: Queue<E5> = Queue(capacity: 2)
Zip+arity.swift:725
    var _values6: Queue<E6> = Queue(capacity: 2)
Zip+arity.swift:726
    var _values7: Queue<E7> = Queue(capacity: 2)
Zip+arity.swift:727
    var _values8: Queue<E8> = Queue(capacity: 2)
Zip+CollectionType.swift:29
        _values = [Queue<SourceElement>](count: parent.count, repeatedValue: Queue(capacity: 4))
(capacity: Int) { 0038 _initialCapacity = capacity 0039 0040 _count = 0 0041 _pushNextIndex = 0 0042 0043 if capacity > 0 { 0044 _storage = ContiguousArray<T?>(count: capacity, repeatedValue: nil) 0045 } 0046 else { 0047 _storage = ContiguousArray<T?>() 0048 } 0049 } 0050 0051 private var dequeueIndex
Queue.swift:82
        return _storage[dequeueIndex]!
Queue.swift:90
        let dequeueIndex = self.dequeueIndex
Queue.swift:128
        let index = dequeueIndex
Queue.swift:162
        var i = dequeueIndex
: Int { 0052 get { 0053 let index = _pushNextIndex - count 0054 return index < 0 ? index + _storage.count : index 0055 } 0056 } 0057 0058 /** 0059 - returns: Is queue empty. 0060 */ 0061 public var isEmpty: Bool { 0062 get { 0063 return count == 0 0064 } 0065 } 0066 0067 /** 0068 - returns: Number of elements inside queue. 0069 */ 0070 public var count
AsyncLock.swift:63
            if _queue.count > 0 {
ObserveOn.swift:84
            if self._queue.count > 0 {
ObserveOn.swift:112
            if self._queue.count > 0 {
Queue.swift:53
           let index = _pushNextIndex - count
Queue.swift:63
            return count == 0
Queue.swift:80
        precondition(count > 0)
Queue.swift:112
        if count == _storage.count {
Queue.swift:126
        precondition(count > 0)
Queue.swift:144
        if self.count == 0 {
ReplaySubject.swift:241
        while _queue.count > _bufferSize {
TakeLast.swift:30
            if _elements.count > self._parent._count {
Zip+arity.swift:52
        case 0: return _values1.count > 0
Zip+arity.swift:53
        case 1: return _values2.count > 0
Zip+arity.swift:146
        case 0: return _values1.count > 0
Zip+arity.swift:147
        case 1: return _values2.count > 0
Zip+arity.swift:148
        case 2: return _values3.count > 0
Zip+arity.swift:248
        case 0: return _values1.count > 0
Zip+arity.swift:249
        case 1: return _values2.count > 0
Zip+arity.swift:250
        case 2: return _values3.count > 0
Zip+arity.swift:251
        case 3: return _values4.count > 0
Zip+arity.swift:358
        case 0: return _values1.count > 0
Zip+arity.swift:359
        case 1: return _values2.count > 0
Zip+arity.swift:360
        case 2: return _values3.count > 0
Zip+arity.swift:361
        case 3: return _values4.count > 0
Zip+arity.swift:362
        case 4: return _values5.count > 0
Zip+arity.swift:476
        case 0: return _values1.count > 0
Zip+arity.swift:477
        case 1: return _values2.count > 0
Zip+arity.swift:478
        case 2: return _values3.count > 0
Zip+arity.swift:479
        case 3: return _values4.count > 0
Zip+arity.swift:480
        case 4: return _values5.count > 0
Zip+arity.swift:481
        case 5: return _values6.count > 0
Zip+arity.swift:602
        case 0: return _values1.count > 0
Zip+arity.swift:603
        case 1: return _values2.count > 0
Zip+arity.swift:604
        case 2: return _values3.count > 0
Zip+arity.swift:605
        case 3: return _values4.count > 0
Zip+arity.swift:606
        case 4: return _values5.count > 0
Zip+arity.swift:607
        case 5: return _values6.count > 0
Zip+arity.swift:608
        case 6: return _values7.count > 0
Zip+arity.swift:736
        case 0: return _values1.count > 0
Zip+arity.swift:737
        case 1: return _values2.count > 0
Zip+arity.swift:738
        case 2: return _values3.count > 0
Zip+arity.swift:739
        case 3: return _values4.count > 0
Zip+arity.swift:740
        case 4: return _values5.count > 0
Zip+arity.swift:741
        case 5: return _values6.count > 0
Zip+arity.swift:742
        case 6: return _values7.count > 0
Zip+arity.swift:743
        case 7: return _values8.count > 0
Zip+CollectionType.swift:47
                if _values[atIndex].count == 1 {
Zip+CollectionType.swift:69
                        if _values[i].count > 0 {
: Int { 0071 get { 0072 return _count 0073 } 0074 } 0075 0076 /** 0077 - returns: Element in front of a list of elements to `dequeue`. 0078 */ 0079 public func peek() -> T { 0080 precondition(count > 0) 0081 0082 return _storage[dequeueIndex]! 0083 } 0084 0085 mutating private func resizeTo
Queue.swift:113
            resizeTo(max(_storage.count, 1) * _resizeFactor)
Queue.swift:152
            resizeTo(_storage.count / _resizeFactor)
(size: Int) { 0086 var newStorage = ContiguousArray<T?>(count: size, repeatedValue: nil) 0087 0088 let count = _count 0089 0090 let dequeueIndex = self.dequeueIndex 0091 let spaceToEndOfQueue = _storage.count - dequeueIndex 0092 0093 // first batch is from dequeue index to end of array 0094 let countElementsInFirstBatch = min(count, spaceToEndOfQueue) 0095 // second batch is wrapped from start of array to end of queue 0096 let numberOfElementsInSecondBatch = count - countElementsInFirstBatch 0097 0098 newStorage[0 ..< countElementsInFirstBatch] = _storage[dequeueIndex ..< (dequeueIndex + countElementsInFirstBatch)] 0099 newStorage[countElementsInFirstBatch ..< (countElementsInFirstBatch + numberOfElementsInSecondBatch)] = _storage[0 ..< numberOfElementsInSecondBatch] 0100 0101 _count = count 0102 _pushNextIndex = count 0103 _storage = newStorage 0104 } 0105 0106 /** 0107 Enqueues `element`. 0108 0109 - parameter element: Element to enqueue. 0110 */ 0111 public mutating func enqueue
AsyncLock.swift:51
                _queue.enqueue(action)
CurrentThreadScheduler.swift:141
        queue.value.enqueue(scheduledItem)
Merge.swift:122
                _queue.enqueue(value)
ObserveOn.swift:66
            self._queue.enqueue(event)
ReplaySubject.swift:216
        _queue.enqueue(value)
TakeLast.swift:29
            _elements.enqueue(value)
Zip+arity.swift:66
        let observer1 = ZipObserver(lock: _lock, parent: self, index: 0, setNextValue: { self._values1.enqueue($0) }, this: subscription1)
Zip+arity.swift:67
        let observer2 = ZipObserver(lock: _lock, parent: self, index: 1, setNextValue: { self._values2.enqueue($0) }, this: subscription2)
Zip+arity.swift:162
        let observer1 = ZipObserver(lock: _lock, parent: self, index: 0, setNextValue: { self._values1.enqueue($0) }, this: subscription1)
Zip+arity.swift:163
        let observer2 = ZipObserver(lock: _lock, parent: self, index: 1, setNextValue: { self._values2.enqueue($0) }, this: subscription2)
Zip+arity.swift:164
        let observer3 = ZipObserver(lock: _lock, parent: self, index: 2, setNextValue: { self._values3.enqueue($0) }, this: subscription3)
Zip+arity.swift:266
        let observer1 = ZipObserver(lock: _lock, parent: self, index: 0, setNextValue: { self._values1.enqueue($0) }, this: subscription1)
Zip+arity.swift:267
        let observer2 = ZipObserver(lock: _lock, parent: self, index: 1, setNextValue: { self._values2.enqueue($0) }, this: subscription2)
Zip+arity.swift:268
        let observer3 = ZipObserver(lock: _lock, parent: self, index: 2, setNextValue: { self._values3.enqueue($0) }, this: subscription3)
Zip+arity.swift:269
        let observer4 = ZipObserver(lock: _lock, parent: self, index: 3, setNextValue: { self._values4.enqueue($0) }, this: subscription4)
Zip+arity.swift:378
        let observer1 = ZipObserver(lock: _lock, parent: self, index: 0, setNextValue: { self._values1.enqueue($0) }, this: subscription1)
Zip+arity.swift:379
        let observer2 = ZipObserver(lock: _lock, parent: self, index: 1, setNextValue: { self._values2.enqueue($0) }, this: subscription2)
Zip+arity.swift:380
        let observer3 = ZipObserver(lock: _lock, parent: self, index: 2, setNextValue: { self._values3.enqueue($0) }, this: subscription3)
Zip+arity.swift:381
        let observer4 = ZipObserver(lock: _lock, parent: self, index: 3, setNextValue: { self._values4.enqueue($0) }, this: subscription4)
Zip+arity.swift:382
        let observer5 = ZipObserver(lock: _lock, parent: self, index: 4, setNextValue: { self._values5.enqueue($0) }, this: subscription5)
Zip+arity.swift:498
        let observer1 = ZipObserver(lock: _lock, parent: self, index: 0, setNextValue: { self._values1.enqueue($0) }, this: subscription1)
Zip+arity.swift:499
        let observer2 = ZipObserver(lock: _lock, parent: self, index: 1, setNextValue: { self._values2.enqueue($0) }, this: subscription2)
Zip+arity.swift:500
        let observer3 = ZipObserver(lock: _lock, parent: self, index: 2, setNextValue: { self._values3.enqueue($0) }, this: subscription3)
Zip+arity.swift:501
        let observer4 = ZipObserver(lock: _lock, parent: self, index: 3, setNextValue: { self._values4.enqueue($0) }, this: subscription4)
Zip+arity.swift:502
        let observer5 = ZipObserver(lock: _lock, parent: self, index: 4, setNextValue: { self._values5.enqueue($0) }, this: subscription5)
Zip+arity.swift:503
        let observer6 = ZipObserver(lock: _lock, parent: self, index: 5, setNextValue: { self._values6.enqueue($0) }, this: subscription6)
Zip+arity.swift:626
        let observer1 = ZipObserver(lock: _lock, parent: self, index: 0, setNextValue: { self._values1.enqueue($0) }, this: subscription1)
Zip+arity.swift:627
        let observer2 = ZipObserver(lock: _lock, parent: self, index: 1, setNextValue: { self._values2.enqueue($0) }, this: subscription2)
Zip+arity.swift:628
        let observer3 = ZipObserver(lock: _lock, parent: self, index: 2, setNextValue: { self._values3.enqueue($0) }, this: subscription3)
Zip+arity.swift:629
        let observer4 = ZipObserver(lock: _lock, parent: self, index: 3, setNextValue: { self._values4.enqueue($0) }, this: subscription4)
Zip+arity.swift:630
        let observer5 = ZipObserver(lock: _lock, parent: self, index: 4, setNextValue: { self._values5.enqueue($0) }, this: subscription5)
Zip+arity.swift:631
        let observer6 = ZipObserver(lock: _lock, parent: self, index: 5, setNextValue: { self._values6.enqueue($0) }, this: subscription6)
Zip+arity.swift:632
        let observer7 = ZipObserver(lock: _lock, parent: self, index: 6, setNextValue: { self._values7.enqueue($0) }, this: subscription7)
Zip+arity.swift:762
        let observer1 = ZipObserver(lock: _lock, parent: self, index: 0, setNextValue: { self._values1.enqueue($0) }, this: subscription1)
Zip+arity.swift:763
        let observer2 = ZipObserver(lock: _lock, parent: self, index: 1, setNextValue: { self._values2.enqueue($0) }, this: subscription2)
Zip+arity.swift:764
        let observer3 = ZipObserver(lock: _lock, parent: self, index: 2, setNextValue: { self._values3.enqueue($0) }, this: subscription3)
Zip+arity.swift:765
        let observer4 = ZipObserver(lock: _lock, parent: self, index: 3, setNextValue: { self._values4.enqueue($0) }, this: subscription4)
Zip+arity.swift:766
        let observer5 = ZipObserver(lock: _lock, parent: self, index: 4, setNextValue: { self._values5.enqueue($0) }, this: subscription5)
Zip+arity.swift:767
        let observer6 = ZipObserver(lock: _lock, parent: self, index: 5, setNextValue: { self._values6.enqueue($0) }, this: subscription6)
Zip+arity.swift:768
        let observer7 = ZipObserver(lock: _lock, parent: self, index: 6, setNextValue: { self._values7.enqueue($0) }, this: subscription7)
Zip+arity.swift:769
        let observer8 = ZipObserver(lock: _lock, parent: self, index: 7, setNextValue: { self._values8.enqueue($0) }, this: subscription8)
Zip+CollectionType.swift:45
                _values[atIndex].enqueue(element)
(element: T) { 0112 if count == _storage.count { 0113 resizeTo(max(_storage.count, 1) * _resizeFactor) 0114 } 0115 0116 _storage[_pushNextIndex] = element 0117 _pushNextIndex += 1 0118 _count = _count + 1 0119 0120 if _pushNextIndex >= _storage.count { 0121 _pushNextIndex -= _storage.count 0122 } 0123 } 0124 0125 private mutating func dequeueElementOnly
Queue.swift:148
        let value = dequeueElementOnly()
() -> T { 0126 precondition(count > 0) 0127 0128 let index = dequeueIndex 0129 let value = _storage[index]! 0130 0131 _storage[index] = nil 0132 0133 _count = _count - 1 0134 0135 return value 0136 } 0137 0138 /** 0139 Dequeues element or throws an exception in case queue is empty. 0140 0141 - returns: Dequeued element. 0142 */ 0143 public mutating func dequeue
AsyncLock.swift:64
                return _queue.dequeue()
CurrentThreadScheduler.swift:119
            while let latest = queue.value.dequeue() {
Merge.swift:46
            if let next = _parent._queue.dequeue() {
ObserveOn.swift:85
                return (self._queue.dequeue(), self._observer)
ReplaySubject.swift:242
            _queue.dequeue()
TakeLast.swift:31
                _elements.dequeue()
Zip+arity.swift:79
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!)
Zip+arity.swift:79
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!)
Zip+arity.swift:178
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!)
Zip+arity.swift:178
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!)
Zip+arity.swift:178
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!)
Zip+arity.swift:285
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!)
Zip+arity.swift:285
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!)
Zip+arity.swift:285
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!)
Zip+arity.swift:285
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!)
Zip+arity.swift:400
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!)
Zip+arity.swift:400
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!)
Zip+arity.swift:400
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!)
Zip+arity.swift:400
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!)
Zip+arity.swift:400
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!)
Zip+arity.swift:523
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!)
Zip+arity.swift:523
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!)
Zip+arity.swift:523
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!)
Zip+arity.swift:523
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!)
Zip+arity.swift:523
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!)
Zip+arity.swift:523
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!)
Zip+arity.swift:654
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!)
Zip+arity.swift:654
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!)
Zip+arity.swift:654
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!)
Zip+arity.swift:654
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!)
Zip+arity.swift:654
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!)
Zip+arity.swift:654
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!)
Zip+arity.swift:654
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!)
Zip+arity.swift:793
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!, _values8.dequeue()!)
Zip+arity.swift:793
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!, _values8.dequeue()!)
Zip+arity.swift:793
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!, _values8.dequeue()!)
Zip+arity.swift:793
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!, _values8.dequeue()!)
Zip+arity.swift:793
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!, _values8.dequeue()!)
Zip+arity.swift:793
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!, _values8.dequeue()!)
Zip+arity.swift:793
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!, _values8.dequeue()!)
Zip+arity.swift:793
        return try _parent._resultSelector(_values1.dequeue()!, _values2.dequeue()!, _values3.dequeue()!, _values4.dequeue()!, _values5.dequeue()!, _values6.dequeue()!, _values7.dequeue()!, _values8.dequeue()!)
Zip+CollectionType.swift:68
                        arguments.append(_values[i].dequeue()!)
() -> T? { 0144 if self.count == 0 { 0145 return nil 0146 } 0147 0148 let value = dequeueElementOnly() 0149 0150 let downsizeLimit = _storage.count / (_resizeFactor * _resizeFactor) 0151 if _count < downsizeLimit && downsizeLimit >= _initialCapacity { 0152 resizeTo(_storage.count / _resizeFactor) 0153 } 0154 0155 return value 0156 } 0157 0158 /** 0159 - returns: Generator of contained elements. 0160 */ 0161 public func generate() -> Generator { 0162 var i = dequeueIndex 0163 var count = _count 0164 0165 return anyGenerator { 0166 if count == 0 { 0167 return nil 0168 } 0169 0170 count -= 1 0171 if i >= self._storage.count { 0172 i -= self._storage.count 0173 } 0174 0175 let element = self._storage[i] 0176 i += 1 0177 return element 0178 } 0179 } 0180 } 0181