[stdlib] encode/transcode => [encode/transcode]IfRepresentable...

...to make room for a more useful encode/transcode that inject replacement
characters when encoding fails.
This commit is contained in:
Dave Abrahams
2017-05-07 18:03:55 -07:00
parent 38991ca83f
commit f4610e1638
6 changed files with 28 additions and 21 deletions

View File

@@ -265,7 +265,7 @@ extension _Unicode.UTF8 : UnicodeCodec {
_ input: UnicodeScalar,
into processCodeUnit: (CodeUnit) -> Void
) {
var s = encode(input)!._storage
var s = encodeIfRepresentable(input)!._storage
processCodeUnit(UInt8(extendingOrTruncating: s))
s &>>= 8
if _fastPath(s == 0) { return }
@@ -414,7 +414,7 @@ extension _Unicode.UTF16 : UnicodeCodec {
_ input: UnicodeScalar,
into processCodeUnit: (CodeUnit) -> Void
) {
var s = encode(input)!._storage
var s = encodeIfRepresentable(input)!._storage
processCodeUnit(UInt16(extendingOrTruncating: s))
s &>>= 16
if _fastPath(s == 0) { return }