This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| struct RangeSliceCollection<Base: Collection, Ranges: Collection>: Collection where Ranges.Element == Range<Base.Index> { | |
| var base: Base | |
| var ranges: Ranges | |
| var startIndex: Ranges.Index { ranges.startIndex } | |
| var endIndex: Ranges.Index { ranges.endIndex } | |
| func index(after i: Ranges.Index) -> Ranges.Index { | |
| ranges.index(after: i) | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| extension Task where Success == Never, Failure == Never { | |
| static let perpetual = Task { | |
| await withCheckedContinuation { (_: CheckedContinuation<Void, Never>) in } | |
| preconditionFailure() | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| @propertyWrapper | |
| struct Versioned<Value>: RandomAccessCollection { | |
| private var history: [Value] | |
| var startIndex: Int { 0 } | |
| var endIndex: Int { allValues.endIndex } | |
| subscript(position: Int) -> Value { | |
| get { allValues[position] } | |
| set { allValues[position] = newValue } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import SwiftUI | |
| extension View { | |
| func toolbarAccessory(@ViewBuilder content: () -> some View) -> some View { | |
| safeAreaInset(edge: .top) { | |
| VStack(spacing: 0) { | |
| content() | |
| Divider() | |
| } | |
| .background(Material.bar, ignoresSafeAreaEdges: [.top]) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| func apportion(quota: Int, _ population: [Int]) -> [Int] { | |
| var portions = population.map({ $0 / quota }) | |
| let errors = population.map({ $0 % quota }) | |
| let adjustments = (errors.reduce(0, +) + quota / 2) / quota | |
| errors | |
| .enumerated() | |
| .sorted(by: { $0.element > $1.element }) | |
| .prefix(adjustments) | |
| .forEach { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| func lowestCommonAncestor<ID: Hashable>(of ids: (ID, ID), parent: (ID) -> ID?) -> ID? { | |
| var ancestor: (ID?, ID?) = ids | |
| var visited: (Set, Set) = ([ids.0], [ids.1]) | |
| while ancestor.0 != nil || ancestor.1 != nil { | |
| if let ancestor = ancestor.0 { | |
| guard !visited.1.contains(ancestor) else { return ancestor } | |
| } | |
| if let ancestor = ancestor.1 { | |
| guard !visited.0.contains(ancestor) else { return ancestor } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| struct NilMaxInteger<Base: FixedWidthInteger>: RawRepresentable, ExpressibleByNilLiteral { | |
| var rawValue: Base | |
| init(rawValue: Base) { | |
| self.rawValue = rawValue | |
| } | |
| init(_ value: Base?) { | |
| assert(value != .max) | |
| self.init(rawValue: value ?? .max) | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| struct ResourceManager { | |
| #if DEBUG | |
| let ticket: Int = .random(in: 0..<Int.max) | |
| #endif | |
| private var retainCount: [Int] | |
| init(capacity: Int) { | |
| self.retainCount = .init(repeating: 0, count: capacity) | |
| } | |
| struct Handle: ~Copyable { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| func triangularMatrixIndex(row: Int) -> Int { | |
| row * (row + 1) / 2 | |
| } | |
| func triangularMatrixCoordinate(_ index: Int) -> (row: Int, column: Int) { | |
| let row = Int(sqrt(2 * Float32(index) + 0.25) - 0.5) | |
| let column = index - triangularMatrixIndex(row: row) | |
| return (row: row, column: column) | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| struct MergeSortedSequence<First: Sequence, Second: Sequence>: Sequence where First.Element == Second.Element { | |
| var first: First | |
| var second: Second | |
| var areInIncreasingOrder: (Element, Element) -> Bool | |
| struct Iterator: IteratorProtocol { | |
| var first: First.Iterator | |
| var second: Second.Iterator | |
| var areInIncreasingOrder: (Element, Element) -> Bool |