[stdlib] Unicode[Encoding|Parser] => Unicode.[Encoding|Parser]

This commit is contained in:
Dave Abrahams
2017-05-11 16:53:57 -07:00
parent 01d886fe3d
commit 41c244a065
14 changed files with 67 additions and 58 deletions

View File

@@ -29,9 +29,9 @@ extension Unicode {
/// Types that separate streams of code units into encoded Unicode
/// scalar values.
public protocol UnicodeParser {
public protocol _UnicodeParser {
/// The encoding with which this parser is associated
associatedtype Encoding : _UnicodeEncoding
associatedtype Encoding : _UnicodeEncoding_
/// Constructs an instance that can be used to begin parsing `CodeUnit`s at
/// any Unicode scalar boundary.
@@ -44,7 +44,7 @@ public protocol UnicodeParser {
where I.Element == Encoding.CodeUnit
}
extension UnicodeParser {
extension _UnicodeParser {
@_versioned
@inline(__always)
@discardableResult
@@ -86,12 +86,16 @@ extension UnicodeParser {
}
}
extension Unicode {
public typealias Parser = _UnicodeParser
}
extension Unicode {
@_fixed_layout
public // @testable
struct _ParsingIterator<
CodeUnitIterator : IteratorProtocol,
Parser: UnicodeParser
Parser: Unicode.Parser
> where Parser.Encoding.CodeUnit == CodeUnitIterator.Element {
@inline(__always)
@_inlineable