Moved 'splitOnce' to the top.

This commit is contained in:
Kare Morstol
2015-12-14 00:40:19 +01:00
parent 9f5fae7b9d
commit 39878a3589
+9 -8
View File
@@ -5,6 +5,15 @@
*
*/
extension CollectionType where Generator.Element: Equatable {
public func splitOnce (separator: Generator.Element) -> (head: SubSequence, tail: SubSequence?) {
guard let nextindex = indexOf(separator) else { return (self[startIndex..<endIndex], nil) }
return (self[startIndex..<nextindex], self[nextindex.successor()..<endIndex])
}
}
public struct LazySplitSequence <Base: CollectionType where Base.Generator.Element: Equatable, Base.SubSequence: CollectionType,
Base.SubSequence.Generator.Element==Base.Generator.Element, Base.SubSequence==Base.SubSequence.SubSequence>: GeneratorType, LazySequenceType {
@@ -26,14 +35,6 @@ public struct LazySplitSequence <Base: CollectionType where Base.Generator.Eleme
}
}
extension CollectionType where Generator.Element: Equatable {
public func splitOnce (separator: Generator.Element) -> (head: SubSequence, tail: SubSequence?) {
guard let nextindex = indexOf(separator) else { return (self[startIndex..<endIndex], nil) }
return (self[startIndex..<nextindex], self[nextindex.successor()..<endIndex])
}
}
extension LazyCollectionType where Elements.Generator.Element: Equatable, Elements.SubSequence: CollectionType,
Elements.SubSequence.Generator.Element==Elements.Generator.Element, Elements.SubSequence==Elements.SubSequence.SubSequence {