mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
[Unicode] Add convenience APIs to Unicode encodings
Add convenience APIs to the stdlib's Unicode encodings: * Unicode.UTF16 * isASCII * isSurrogate * Unicode.UTF8 * isASCII * width * Unicode.UTF32 * isASCII * Unicode.ASCII * isASCII Tests added
This commit is contained in:
@@ -418,7 +418,7 @@ extension String.UnicodeScalarView {
|
||||
internal func _foreignIndex(after i: Index) -> Index {
|
||||
_internalInvariant(_guts.isForeign)
|
||||
let cu = _guts.foreignErrorCorrectedUTF16CodeUnit(at: i)
|
||||
let len = _isLeadingSurrogate(cu) ? 2 : 1
|
||||
let len = UTF16.isLeadSurrogate(cu) ? 2 : 1
|
||||
|
||||
return i.encoded(offsetBy: len)
|
||||
}
|
||||
@@ -429,7 +429,7 @@ extension String.UnicodeScalarView {
|
||||
_internalInvariant(_guts.isForeign)
|
||||
let priorIdx = i.priorEncoded
|
||||
let cu = _guts.foreignErrorCorrectedUTF16CodeUnit(at: priorIdx)
|
||||
let len = _isTrailingSurrogate(cu) ? 2 : 1
|
||||
let len = UTF16.isTrailSurrogate(cu) ? 2 : 1
|
||||
|
||||
return i.encoded(offsetBy: -len)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user