0001 // 0002 // BinaryDisposable.swift 0003 // RxSwift 0004 // 0005 // Created by Krunoslav Zaher on 6/12/15. 0006 // Copyright © 2015 Krunoslav Zaher. All rights reserved. 0007 // 0008 0009 import Foundation 0010 0011 /** 0012 Represents two disposable resources that are disposed together. 0013 */ 0014 public final class BinaryDisposable: DisposeBase, Cancelable { 0015 0016 private var _disposed
Multicast.swift:33 return BinaryDisposable(subscription, connection)Observable+Extensions.swift:62 return BinaryDisposable(Skip.swift:108 return BinaryDisposable(disposeTimer, disposeSubscription)StableCompositeDisposable.swift:13 return BinaryDisposable(disposable1, disposable2)Take.swift:122 return BinaryDisposable(disposeTimer, disposeSubscription): AtomicInt = 0 0017 0018 // state 0019 private var _disposable1
BinaryDisposable.swift:27 return _disposed > 0BinaryDisposable.swift:49 if AtomicCompareAndSwap(0, 1, &_disposed) {: Disposable? 0020 private var _disposable2
BinaryDisposable.swift:38 _disposable1 = disposable1BinaryDisposable.swift:50 _disposable1?.dispose()BinaryDisposable.swift:52 _disposable1 = nil: Disposable? 0021 0022 /** 0023 - returns: Was resource disposed. 0024 */ 0025 public var disposed: Bool { 0026 get { 0027 return _disposed > 0 0028 } 0029 } 0030 0031 /** 0032 Constructs new binary disposable from two disposables. 0033 0034 - parameter disposable1: First disposable 0035 - parameter disposable2: Second disposable 0036 */ 0037 init
BinaryDisposable.swift:39 _disposable2 = disposable2BinaryDisposable.swift:51 _disposable2?.dispose()BinaryDisposable.swift:53 _disposable2 = nil(_ disposable1: Disposable, _ disposable2: Disposable) { 0038 _disposable1 = disposable1 0039 _disposable2 = disposable2 0040 super.init() 0041 } 0042 0043 /** 0044 Calls the disposal action if and only if the current instance hasn't been disposed yet. 0045 0046 After invoking disposal action, disposal action will be dereferenced. 0047 */ 0048 public func dispose() { 0049 if AtomicCompareAndSwap(0, 1, &_disposed) { 0050 _disposable1?.dispose() 0051 _disposable2?.dispose() 0052 _disposable1 = nil 0053 _disposable2 = nil 0054 } 0055 } 0056 } 0057
Multicast.swift:33 return BinaryDisposable(subscription, connection)Observable+Extensions.swift:62 return BinaryDisposable(Skip.swift:108 return BinaryDisposable(disposeTimer, disposeSubscription)StableCompositeDisposable.swift:13 return BinaryDisposable(disposable1, disposable2)Take.swift:122 return BinaryDisposable(disposeTimer, disposeSubscription)