0001    //
0002    //  ScheduledDisposable.swift
0003    //  RxSwift
0004    //
0005    //  Created by Krunoslav Zaher on 6/13/15.
0006    //  Copyright © 2015 Krunoslav Zaher. All rights reserved.
0007    //
0008    
0009    import Foundation
0010    
0011    private let disposeScheduledDisposable
ScheduledDisposable.swift:51
        scheduler.schedule(self, action: disposeScheduledDisposable)
: ScheduledDisposable -> Disposable = { sd in 0012 sd.disposeInner() 0013 return NopDisposable.instance 0014 } 0015 0016 /** 0017 Represents a disposable resource whose disposal invocation will be scheduled on the specified scheduler. 0018 */ 0019 public class ScheduledDisposable
ScheduledDisposable.swift:11
private let disposeScheduledDisposable: ScheduledDisposable -> Disposable = { sd in
SubscribeOn.swift:38
            disposeEverything.disposable = ScheduledDisposable(scheduler: self.parent.scheduler, disposable: subscription)
: Cancelable { 0020 public let scheduler
ScheduledDisposable.swift:43
        self.scheduler = scheduler
ScheduledDisposable.swift:51
        scheduler.schedule(self, action: disposeScheduledDisposable)
: ImmediateSchedulerType 0021 0022 private var _disposed
ScheduledDisposable.swift:32
            return _disposed == 1
ScheduledDisposable.swift:55
        if AtomicCompareAndSwap(0, 1, &_disposed) {
: AtomicInt = 0 0023 0024 // state 0025 private var _disposable
ScheduledDisposable.swift:44
        _disposable = disposable
ScheduledDisposable.swift:56
            _disposable!.dispose()
ScheduledDisposable.swift:57
            _disposable = nil
: Disposable? 0026 0027 /** 0028 - returns: Was resource disposed. 0029 */ 0030 public var disposed: Bool { 0031 get { 0032 return _disposed == 1 0033 } 0034 } 0035 0036 /** 0037 Initializes a new instance of the `ScheduledDisposable` that uses a `scheduler` on which to dispose the `disposable`. 0038 0039 - parameter scheduler: Scheduler where the disposable resource will be disposed on. 0040 - parameter disposable: Disposable resource to dispose on the given scheduler. 0041 */ 0042 init
SubscribeOn.swift:38
            disposeEverything.disposable = ScheduledDisposable(scheduler: self.parent.scheduler, disposable: subscription)
(scheduler: ImmediateSchedulerType, disposable: Disposable) { 0043 self.scheduler = scheduler 0044 _disposable = disposable 0045 } 0046 0047 /** 0048 Disposes the wrapped disposable on the provided scheduler. 0049 */ 0050 public func dispose() { 0051 scheduler.schedule(self, action: disposeScheduledDisposable) 0052 } 0053 0054 func disposeInner
ScheduledDisposable.swift:12
    sd.disposeInner()
() { 0055 if AtomicCompareAndSwap(0, 1, &_disposed) { 0056 _disposable!.dispose() 0057 _disposable = nil 0058 } 0059 } 0060 } 0061