// // Array.swift // DocHub // // Created by Tristan Juricek on 6/11/14. // Copyright (c) 2014 Perforce. All rights reserved. // import Foundation extension Array { func indexOf(fn: (T) -> Bool) -> Int? { for var idx = 0; idx < self.count; ++idx { if (fn(self[idx])) { return idx } } return nil } func findFirst(fn: (T) -> Bool) -> T? { if let idx = indexOf(fn) { return self[idx] } return nil } mutating func removeIf(fn: (T) -> Bool) -> T? { if let idx = indexOf(fn) { return self.removeAtIndex(idx) } return nil } }