0001    //
0002    //  AnyObserver.swift
0003    //  Rx
0004    //
0005    //  Created by Krunoslav Zaher on 2/28/15.
0006    //  Copyright © 2015 Krunoslav Zaher. All rights reserved.
0007    //
0008    
0009    import Foundation
0010    
0011    /**
0012    A type-erased `ObserverType`.
0013    
0014    Forwards operations to an arbitrary underlying observer with the same `Element` type, hiding the specifics of the underlying observer type.
0015    */
0016    public struct AnyObserver
AnonymousObservable.swift:38
        return parent._subscribeHandler(AnyObserver(self))
AnonymousObservable.swift:43
    typealias SubscribeHandler = (AnyObserver<Element>) -> Disposable
AnyObserver.swift:61
    public func asObserver() -> AnyObserver<E> {
AnyObserver.swift:72
    public func asObserver() -> AnyObserver<E> {
AnyObserver.swift:73
        return AnyObserver(self)
BehaviorSubject.swift:23
    typealias DisposeKey = Bag<AnyObserver<Element>>.KeyType
BehaviorSubject.swift:30
    private var _observers = Bag<AnyObserver<Element>>()
CombineLatest+CollectionType.swift:96
            _subscriptions[j].disposable = source.subscribe(AnyObserver { event in
Observable+Creation.swift:23
    public static func create(subscribe: (AnyObserver<E>) -> Disposable) -> Observable<E> {
PublishSubject.swift:24
    typealias DisposeKey = Bag<AnyObserver<Element>>.KeyType
PublishSubject.swift:30
    private var _observers = Bag<AnyObserver<Element>>()
ReplaySubject.swift:23
    typealias DisposeKey = Bag<AnyObserver<Element>>.KeyType
ReplaySubject.swift:85
    private var _observers = Bag<AnyObserver<Element>>()
ReplaySubject.swift:95
    func replayBuffer(observer: AnyObserver<Element>) {
ReplaySubject.swift:196
    override func replayBuffer(observer: AnyObserver<Element>) {
ReplaySubject.swift:219
    override func replayBuffer(observer: AnyObserver<E>) {
ShareReplay1.swift:17
    typealias DisposeKey = Bag<AnyObserver<Element>>.KeyType
ShareReplay1.swift:27
    private var _observers = Bag<AnyObserver<Element>>()
ShareReplay1.swift:50
        let disposeKey = self._observers.insert(AnyObserver(observer))
ShareReplay1WhileConnected.swift:17
    typealias DisposeKey = Bag<AnyObserver<Element>>.KeyType
ShareReplay1WhileConnected.swift:25
    private var _observers = Bag<AnyObserver<Element>>()
ShareReplay1WhileConnected.swift:43
        let disposeKey = self._observers.insert(AnyObserver(observer))
Zip+CollectionType.swift:109
            _subscriptions[j].disposable = source.subscribe(AnyObserver { event in
<Element
AnyObserver.swift:20
    public typealias E = Element
AnyObserver.swift:25
    public typealias EventHandler = (Event<Element>) -> Void
AnyObserver.swift:43
    public init<O : ObserverType where O.E == Element>(_ observer: O) {
AnyObserver.swift:52
    public func on(event: Event<Element>) {
> : ObserverType { 0017 /** 0018 The type of elements in sequence that observer can observe. 0019 */ 0020 public typealias E
AnyObserver.swift:61
    public func asObserver() -> AnyObserver<E> {
= Element 0021 0022 /** 0023 Anonymous event handler type. 0024 */ 0025 public typealias EventHandler
AnyObserver.swift:27
    public let observer: EventHandler
AnyObserver.swift:34
    public init(eventHandler: EventHandler) {
= (Event<Element>) -> Void 0026 0027 public let observer
AnyObserver.swift:35
        self.observer = eventHandler
AnyObserver.swift:44
        self.observer = observer.on
AnyObserver.swift:53
        return self.observer(event)
: EventHandler 0028 0029 /** 0030 Construct an instance whose `on(event)` calls `eventHandler(event)` 0031 0032 - parameter eventHandler: Event handler that observes sequences events. 0033 */ 0034 public init
CombineLatest+CollectionType.swift:96
            _subscriptions[j].disposable = source.subscribe(AnyObserver { event in
Zip+CollectionType.swift:109
            _subscriptions[j].disposable = source.subscribe(AnyObserver { event in
(eventHandler: EventHandler) { 0035 self.observer = eventHandler 0036 } 0037 0038 /** 0039 Construct an instance whose `on(event)` calls `observer.on(event)` 0040 0041 - parameter observer: Observer that receives sequence events. 0042 */ 0043 public init
AnonymousObservable.swift:38
        return parent._subscribeHandler(AnyObserver(self))
AnyObserver.swift:73
        return AnyObserver(self)
ShareReplay1.swift:50
        let disposeKey = self._observers.insert(AnyObserver(observer))
ShareReplay1WhileConnected.swift:43
        let disposeKey = self._observers.insert(AnyObserver(observer))
<O : ObserverType where O.E == Element>(_ observer: O) { 0044 self.observer = observer.on 0045 } 0046 0047 /** 0048 Send `event` to this observer. 0049 0050 - parameter event: Event instance. 0051 */ 0052 public func on
ReplaySubject.swift:198
            observer.on(.Next(value))
ReplaySubject.swift:221
            observer.on(.Next(item))
(event: Event<Element>) { 0053 return self.observer(event) 0054 } 0055 0056 /** 0057 Erases type of observer and returns canonical observer. 0058 0059 - returns: type erased observer. 0060 */ 0061 public func asObserver() -> AnyObserver<E> { 0062 return self 0063 } 0064 } 0065 0066 extension ObserverType { 0067 /** 0068 Erases type of observer and returns canonical observer. 0069 0070 - returns: type erased observer. 0071 */ 0072 public func asObserver
BehaviorSubject.swift:117
        let key = _observers.insert(observer.asObserver())
PublishSubject.swift:100
        let key = _observers.insert(observer.asObserver())
ReplaySubject.swift:137
        let AnyObserver = observer.asObserver()
() -> AnyObserver<E> { 0073 return AnyObserver(self) 0074 } 0075 }