[String] In-register smol ASCII string compare

Compare small strings in-register when they store ASCII (and thus NFC)
contents.
This commit is contained in:
Michael Ilseman
2018-12-05 18:16:46 -08:00
parent 8530a2c940
commit b08d94d6ba
2 changed files with 26 additions and 0 deletions

View File

@@ -90,6 +90,10 @@ extension _StringGuts {
@inline(__always) get { return _object.isSmall }
}
internal var isSmallASCII: Bool {
@inline(__always) get { return _object.isSmall && _object.smallIsASCII }
}
@inlinable
internal var asSmall: _SmallString {
@inline(__always) get { return _SmallString(_object) }