0001    //
0002    //  ImmediateSchedulerType.swift
0003    //  RxSwift
0004    //
0005    //  Created by Krunoslav Zaher on 5/31/15.
0006    //  Copyright © 2015 Krunoslav Zaher. All rights reserved.
0007    //
0008    
0009    import Foundation
0010    
0011    /**
0012    Represents an object that immediately schedules units of work.
0013    */
0014    public protocol ImmediateSchedulerType
CurrentThreadScheduler.swift:64
public class CurrentThreadScheduler : ImmediateSchedulerType {
Generate.swift:55
    private let _scheduler: ImmediateSchedulerType
Generate.swift:57
    init(initialState: S, condition: S throws -> Bool, iterate: S throws -> S, resultSelector: S throws -> E, scheduler: ImmediateSchedulerType) {
ImmediateScheduler.swift:14
private class ImmediateScheduler : ImmediateSchedulerType {
ImmediateSchedulerType.swift:25
extension ImmediateSchedulerType {
Just.swift:34
    private let _scheduler: ImmediateSchedulerType
Just.swift:37
    init(element: Element, scheduler: ImmediateSchedulerType) {
Observable+Concurrency.swift:27
    public func observeOn(scheduler: ImmediateSchedulerType)
Observable+Concurrency.swift:58
    public func subscribeOn(scheduler: ImmediateSchedulerType)
Observable+Creation.swift:80
    public static func just(element: E, scheduler: ImmediateSchedulerType) -> Observable<E> {
Observable+Creation.swift:110
    public static func of(elements: E ..., scheduler: ImmediateSchedulerType? = nil) -> Observable<E> {
Observable+Creation.swift:143
    public static func generate(initialState initialState: E, condition: E throws -> Bool, scheduler: ImmediateSchedulerType = CurrentThreadScheduler.instance, iterate: E throws -> E) -> Observable<E> {
Observable+Creation.swift:157
    public static func repeatElement(element: E, scheduler: ImmediateSchedulerType = CurrentThreadScheduler.instance) -> Observable<E> {
Observable+Creation.swift:188
    public static func range(start start: E, count: E, scheduler: ImmediateSchedulerType = CurrentThreadScheduler.instance) -> Observable<E> {
Observable+Creation.swift:202
    public func toObservable(scheduler: ImmediateSchedulerType? = nil) -> Observable<Generator.Element> {
Observable+Creation.swift:216
    public func toObservable(scheduler: ImmediateSchedulerType? = nil) -> Observable<Generator.Element> {
ObserveOn.swift:12
    let scheduler: ImmediateSchedulerType
ObserveOn.swift:15
    init(source: Observable<E>, scheduler: ImmediateSchedulerType) {
ObserveOn.swift:47
    let _scheduler: ImmediateSchedulerType
ObserveOn.swift:59
    init(scheduler: ImmediateSchedulerType, observer: O) {
OperationQueueScheduler.swift:16
public class OperationQueueScheduler: ImmediateSchedulerType {
Range.swift:14
    private let _scheduler: ImmediateSchedulerType
Range.swift:16
    init(start: E, count: E, scheduler: ImmediateSchedulerType) {
RecursiveScheduler.swift:135
    private let _scheduler: ImmediateSchedulerType
RecursiveScheduler.swift:137
    init(action: Action, scheduler: ImmediateSchedulerType) {
Repeat.swift:13
    private let _scheduler: ImmediateSchedulerType
Repeat.swift:15
    init(element: Element, scheduler: ImmediateSchedulerType) {
ScheduledDisposable.swift:20
    public let scheduler: ImmediateSchedulerType
ScheduledDisposable.swift:42
    init(scheduler: ImmediateSchedulerType, disposable: Disposable) {
SchedulerType.swift:24
public protocol SchedulerType: ImmediateSchedulerType {
Sequence.swift:36
    private let _scheduler: ImmediateSchedulerType?
Sequence.swift:38
    init(elements: [E], scheduler: ImmediateSchedulerType?) {
SubscribeOn.swift:48
    let scheduler: ImmediateSchedulerType
SubscribeOn.swift:50
    init(source: Ob, scheduler: ImmediateSchedulerType) {
{ 0015 /** 0016 Schedules an action to be executed immediatelly. 0017 0018 - parameter state: State passed to the action to be executed. 0019 - parameter action: Action to be executed. 0020 - returns: The disposable object used to cancel the scheduled action (best effort). 0021 */ 0022 func schedule
Just.swift:23
        return scheduler.schedule(_parent._element) { element in
Just.swift:25
            return scheduler.schedule(()) { _ in
RecursiveScheduler.swift:85
        let d = _scheduler.schedule(state) { (state) -> Disposable in
RecursiveScheduler.swift:155
        let d = _scheduler.schedule(state) { (state) -> Disposable in
ScheduledDisposable.swift:51
        scheduler.schedule(self, action: disposeScheduledDisposable)
SubscribeOn.swift:36
        cancelSchedule.disposable = parent.scheduler.schedule(()) { (_) -> Disposable in
<StateType>(state: StateType, action: (StateType) -> Disposable) -> Disposable 0023 } 0024 0025 extension ImmediateSchedulerType { 0026 /** 0027 Schedules an action to be executed recursively. 0028 0029 - parameter state: State passed to the action to be executed. 0030 - parameter action: Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in recursive invocation state. 0031 - returns: The disposable object used to cancel the scheduled action (best effort). 0032 */ 0033 public func scheduleRecursive
Generate.swift:25
        return _parent._scheduler.scheduleRecursive(true) { (isFirst, recurse) -> Void in
ObserveOn.swift:78
            _scheduleDisposable.disposable = self._scheduler.scheduleRecursive((), action: self.run)
Range.swift:48
        return _parent._scheduler.scheduleRecursive(0 as O.E) { i, recurse in
Repeat.swift:39
        return _parent._scheduler.scheduleRecursive(_parent._element) { e, recurse in
Sequence.swift:22
        return _parent._scheduler!.scheduleRecursive((0, _parent._elements)) { (state, recurse) in
<State>(state: State, action: (state: State, recurse: (State) -> ()) -> ()) -> Disposable { 0034 let recursiveScheduler = RecursiveImmediateScheduler(action: action, scheduler: self) 0035 0036 recursiveScheduler.schedule(state) 0037 0038 return AnonymousDisposable { 0039 recursiveScheduler.dispose() 0040 } 0041 } 0042 } 0043