0001    //
0002    //  Sequence.swift
0003    //  Rx
0004    //
0005    //  Created by Krunoslav Zaher on 11/14/15.
0006    //  Copyright © 2015 Krunoslav Zaher. All rights reserved.
0007    //
0008    
0009    import Foundation
0010    
0011    class SequenceSink
Sequence.swift:54
        let sink = SequenceSink(parent: self, observer: observer)
<O
Sequence.swift:11
class SequenceSink<O: ObserverType> : Sink<O> {
Sequence.swift:12
    typealias Parent = Sequence<O.E>
Sequence.swift:16
    init(parent: Parent, observer: O) {
: ObserverType> : Sink<O> { 0012 typealias Parent
Sequence.swift:14
    private let _parent: Parent
Sequence.swift:16
    init(parent: Parent, observer: O) {
= Sequence<O.E> 0013 0014 private let _parent
Sequence.swift:17
        _parent = parent
Sequence.swift:22
        return _parent._scheduler!.scheduleRecursive((0, _parent._elements)) { (state, recurse) in
Sequence.swift:22
        return _parent._scheduler!.scheduleRecursive((0, _parent._elements)) { (state, recurse) in
: Parent 0015 0016 init
Sequence.swift:54
        let sink = SequenceSink(parent: self, observer: observer)
(parent: Parent, observer: O) { 0017 _parent = parent 0018 super.init(observer: observer) 0019 } 0020 0021 func run
Sequence.swift:55
        sink.disposable = sink.run()
() -> Disposable { 0022 return _parent._scheduler!.scheduleRecursive((0, _parent._elements)) { (state, recurse) in 0023 if state.0 < state.1.count { 0024 self.forwardOn(.Next(state.1[state.0])) 0025 recurse((state.0 + 1, state.1)) 0026 } 0027 else { 0028 self.forwardOn(.Completed) 0029 } 0030 } 0031 } 0032 } 0033 0034 class Sequence
Observable+Creation.swift:111
        return Sequence(elements: elements, scheduler: scheduler)
Observable+Creation.swift:203
        return Sequence(elements: Array(self), scheduler: scheduler)
Observable+Creation.swift:217
        return Sequence(elements: self, scheduler: scheduler)
Sequence.swift:12
    typealias Parent = Sequence<O.E>
<E
Sequence.swift:34
class Sequence<E> : Producer<E> {
> : Producer<E> { 0035 private let _elements
Sequence.swift:22
        return _parent._scheduler!.scheduleRecursive((0, _parent._elements)) { (state, recurse) in
Sequence.swift:39
        _elements = elements
Sequence.swift:46
            for element in _elements {
: [E] 0036 private let _scheduler
Sequence.swift:22
        return _parent._scheduler!.scheduleRecursive((0, _parent._elements)) { (state, recurse) in
Sequence.swift:40
        _scheduler = scheduler
Sequence.swift:45
        guard _scheduler != nil else {
: ImmediateSchedulerType? 0037 0038 init
Observable+Creation.swift:111
        return Sequence(elements: elements, scheduler: scheduler)
Observable+Creation.swift:203
        return Sequence(elements: Array(self), scheduler: scheduler)
Observable+Creation.swift:217
        return Sequence(elements: self, scheduler: scheduler)
(elements: [E], scheduler: ImmediateSchedulerType?) { 0039 _elements = elements 0040 _scheduler = scheduler 0041 } 0042 0043 override func subscribe<O : ObserverType where O.E == E>(observer: O) -> Disposable { 0044 // optimized version without scheduler 0045 guard _scheduler != nil else { 0046 for element in _elements { 0047 observer.on(.Next(element)) 0048 } 0049 0050 observer.on(.Completed) 0051 return NopDisposable.instance 0052 } 0053 0054 let sink = SequenceSink(parent: self, observer: observer) 0055 sink.disposable = sink.run() 0056 return sink 0057 } 0058 }