0001 // 0002 // Range.swift 0003 // Rx 0004 // 0005 // Created by Krunoslav Zaher on 9/13/15. 0006 // Copyright © 2015 Krunoslav Zaher. All rights reserved. 0007 // 0008 0009 import Foundation 0010 0011 class RangeProducer<E
Observable+Creation.swift:189 return RangeProducer<E>(start: start, count: count, scheduler: scheduler)Range.swift:38 typealias Parent = RangeProducer<O.E>: SignedIntegerType> : Producer<E> { 0012 private let _start
Range.swift:11 class RangeProducer<E: SignedIntegerType> : Producer<E> {: E 0013 private let _count
Range.swift:25 _start = startRange.swift:50 self.forwardOn(.Next(self._parent._start + i)): E 0014 private let _scheduler
Range.swift:26 _count = countRange.swift:49 if i < self._parent._count {: ImmediateSchedulerType 0015 0016 init(start: E, count: E, scheduler: ImmediateSchedulerType) { 0017 if count < 0 { 0018 rxFatalError("count can't be negative") 0019 } 0020 0021 if start &+ (count - 1) < start { 0022 rxFatalError("overflow of count") 0023 } 0024 0025 _start = start 0026 _count = count 0027 _scheduler = scheduler 0028 } 0029 0030 override func run<O : ObserverType where O.E == E>(observer: O) -> Disposable { 0031 let sink = RangeSink(parent: self, observer: observer) 0032 sink.disposable = sink.run() 0033 return sink 0034 } 0035 } 0036 0037 class RangeSink
Range.swift:27 _scheduler = schedulerRange.swift:48 return _parent._scheduler.scheduleRecursive(0 as O.E) { i, recurse in<O
Range.swift:31 let sink = RangeSink(parent: self, observer: observer): ObserverType where O.E: SignedIntegerType> : Sink<O> { 0038 typealias Parent
Range.swift:37 class RangeSink<O: ObserverType where O.E: SignedIntegerType> : Sink<O> {Range.swift:38 typealias Parent = RangeProducer<O.E>Range.swift:42 init(parent: Parent, observer: O) {Range.swift:48 return _parent._scheduler.scheduleRecursive(0 as O.E) { i, recurse in= RangeProducer<O.E> 0039 0040 private let _parent
Range.swift:40 private let _parent: ParentRange.swift:42 init(parent: Parent, observer: O) {: Parent 0041 0042 init
Range.swift:43 _parent = parentRange.swift:48 return _parent._scheduler.scheduleRecursive(0 as O.E) { i, recurse inRange.swift:49 if i < self._parent._count {Range.swift:50 self.forwardOn(.Next(self._parent._start + i))(parent: Parent, observer: O) { 0043 _parent = parent 0044 super.init(observer: observer) 0045 } 0046 0047 func run
Range.swift:31 let sink = RangeSink(parent: self, observer: observer)() -> Disposable { 0048 return _parent._scheduler.scheduleRecursive(0 as O.E) { i, recurse in 0049 if i < self._parent._count { 0050 self.forwardOn(.Next(self._parent._start + i)) 0051 recurse(i + 1) 0052 } 0053 else { 0054 self.forwardOn(.Completed) 0055 self.dispose() 0056 } 0057 } 0058 } 0059 }
Range.swift:32 sink.disposable = sink.run()