0001    //
0002    //  Concat.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    class ConcatSink
Concat.swift:59
        let sink = ConcatSink<S, O>(observer: observer)
<S
Concat.swift:13
    : TailRecursiveSink<S, O>
Concat.swift:38
        if let source = observable as? Concat<S> {
: SequenceType, O
Concat.swift:13
    : TailRecursiveSink<S, O>
Concat.swift:15
    typealias Element = O.E
Concat.swift:17
    override init(observer: O) {
: ObserverType where S.Generator.Element : ObservableConvertibleType, S.Generator.Element.E == O.E> 0013 : TailRecursiveSink<S, O> 0014 , ObserverType { 0015 typealias Element
Concat.swift:21
    func on(event: Event<Element>){
= O.E 0016 0017 override init(observer: O) { 0018 super.init(observer: observer) 0019 } 0020 0021 func on(event: Event<Element>){ 0022 switch event { 0023 case .Next: 0024 forwardOn(event) 0025 case .Error: 0026 forwardOn(event) 0027 dispose() 0028 case .Completed: 0029 schedule(.MoveNext) 0030 } 0031 } 0032 0033 override func subscribeToNext(source: Observable<E>) -> Disposable { 0034 return source.subscribe(self) 0035 } 0036 0037 override func extract(observable: Observable<E>) -> SequenceGenerator? { 0038 if let source = observable as? Concat<S> { 0039 return (source._sources.generate(), source._count) 0040 } 0041 else { 0042 return nil 0043 } 0044 } 0045 } 0046 0047 class Concat
Concat.swift:38
        if let source = observable as? Concat<S> {
Observable+Multiple.swift:104
        return Concat(sources: self, count: nil)
Observable+Multiple.swift:127
        return Concat(sources: self, count: self.count.toIntMax())
<S
Concat.swift:47
class Concat<S: SequenceType where S.Generator.Element : ObservableConvertibleType> : Producer<S.Generator.Element.E> {
Concat.swift:48
    typealias Element = S.Generator.Element.E
Concat.swift:50
    private let _sources: S
Concat.swift:53
    init(sources: S, count: IntMax?) {
Concat.swift:59
        let sink = ConcatSink<S, O>(observer: observer)
: SequenceType where S.Generator.Element : ObservableConvertibleType> : Producer<S.Generator.Element.E> { 0048 typealias Element
Concat.swift:58
    override func run<O: ObserverType where O.E == Element>(observer: O) -> Disposable {
= S.Generator.Element.E 0049 0050 private let _sources
Concat.swift:39
            return (source._sources.generate(), source._count)
Concat.swift:54
        _sources = sources
Concat.swift:60
        sink.disposable = sink.run((_sources.generate(), _count))
: S 0051 private let _count
Concat.swift:39
            return (source._sources.generate(), source._count)
Concat.swift:55
        _count = count
Concat.swift:60
        sink.disposable = sink.run((_sources.generate(), _count))
: IntMax? 0052 0053 init
Observable+Multiple.swift:104
        return Concat(sources: self, count: nil)
Observable+Multiple.swift:127
        return Concat(sources: self, count: self.count.toIntMax())
(sources: S, count: IntMax?) { 0054 _sources = sources 0055 _count = count 0056 } 0057 0058 override func run<O: ObserverType where O.E == Element>(observer: O) -> Disposable { 0059 let sink = ConcatSink<S, O>(observer: observer) 0060 sink.disposable = sink.run((_sources.generate(), _count)) 0061 return sink 0062 } 0063 }