0001    //
0002    //  Weak.swift
0003    //  BTree
0004    //
0005    //  Created by Károly Lőrentey on 2016-02-11.
0006    //  Copyright © 2015–2016 Károly Lőrentey.
0007    //
0008    
0009    internal struct Weak
BTree.swift:182
        var path = [Weak(root)]
BTree.swift:197
            path.append(Weak(node))
BTree.swift:266
        var path = [Weak(root)]
BTree.swift:276
            path.append(Weak(child))
BTreeIndex.swift:25
    internal private(set) var root: Weak<Node>
BTreeIndex.swift:26
    internal private(set) var path: [Weak<Node>]
BTreeIndex.swift:30
        self.root = Weak(root)
BTreeIndex.swift:38
        self.root = Weak(root)
BTreeIndex.swift:44
    internal init(path: [Weak<Node>], slots: [Int]) {
BTreeIndex.swift:62
        path.append(Weak(node))
BTreeIndex.swift:67
            path.append(Weak(node))
<T
Weak.swift:10
    weak var value: T?
Weak.swift:12
    init(_ value: T) {
: AnyObject> { 0010 weak var value
BTree.swift:97
            precondition(index.root.value === self.root)
BTree.swift:98
            let node = index.path.last!.value!
BTree.swift:240
        index.expectValid(index.path[0].value === root)
BTree.swift:244
        guard var last = index.path.last?.value else { index.invalid() }
BTree.swift:247
            guard let node = index.path[i].value else { index.invalid() }
BTreeIndex.swift:61
        var node = node ?? path.last!.value!.children[slots.last!]
BTreeIndex.swift:73
        guard let n = path.removeLast().value else { invalid() }
BTreeIndex.swift:76
            guard let p = path.last!.value else { invalid() }
BTreeIndex.swift:83
        guard root.value != nil else { invalid() }
BTreeIndex.swift:84
        guard let node = self.path.last?.value else { invalid() }
BTreeIndex.swift:92
                while slots.count > 0 && slots.last! == path.last!.value!.elements.count {
BTreeIndex.swift:104
        expectValid(root.value != nil)
BTreeIndex.swift:106
            descend(.Backward, node: root.value!)
BTreeIndex.swift:109
        guard let node = self.path.last!.value else { invalid() }
BTreeIndex.swift:153
    guard let ar = a.root.value, br = b.root.value where ar === br else { return false }
BTreeIndex.swift:153
    guard let ar = a.root.value, br = b.root.value where ar === br else { return false }
BTreeIndex.swift:156
        guard a.path[i].value === b.path[i].value else { return false }
BTreeIndex.swift:156
        guard a.path[i].value === b.path[i].value else { return false }
Weak.swift:13
        self.value = value
: T? 0011 0012 init
BTree.swift:182
        var path = [Weak(root)]
BTree.swift:197
            path.append(Weak(node))
BTree.swift:266
        var path = [Weak(root)]
BTree.swift:276
            path.append(Weak(child))
BTreeIndex.swift:30
        self.root = Weak(root)
BTreeIndex.swift:38
        self.root = Weak(root)
BTreeIndex.swift:62
        path.append(Weak(node))
BTreeIndex.swift:67
            path.append(Weak(node))
(_ value: T) { 0013 self.value = value 0014 } 0015 } 0016 0017