Skip to content

Commit f282dc3

Browse files
author
Dave Abrahams
committed
[stdlib] UnicodeStorage => _UnicodeViews
1 parent c8a8c02 commit f282dc3

10 files changed

+83
-83
lines changed

stdlib/public/core/AnyUnicode.swift

+6-6
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,8 @@ where
8484
CodeUnits.SubSequence.Index == CodeUnits.Index,
8585
CodeUnits.SubSequence.SubSequence == CodeUnits.SubSequence,
8686
CodeUnits.SubSequence.Iterator.Element == CodeUnits.Iterator.Element {
87-
var characters: UnicodeStorage<CodeUnits,Encoding>.CharacterView {
88-
return UnicodeStorage(codeUnits).characters
87+
var characters: _UnicodeViews<CodeUnits,Encoding>.CharacterView {
88+
return _UnicodeViews(codeUnits).characters
8989
}
9090
}
9191

@@ -121,10 +121,10 @@ where
121121
CodeUnits.SubSequence.Iterator.Element == CodeUnits.Iterator.Element {
122122

123123
var unicodeScalars: LazyMapBidirectionalCollection<
124-
UnicodeStorage<CodeUnits,Encoding>.ScalarsTranscoded<UTF32>
124+
_UnicodeViews<CodeUnits,Encoding>.ScalarsTranscoded<UTF32>
125125
, UnicodeScalar
126126
> {
127-
return UnicodeStorage(codeUnits, Encoding.self)
127+
return _UnicodeViews(codeUnits, Encoding.self)
128128
.scalarsTranscoded(to: UTF32.self)
129129
.lazy.map { UnicodeScalar($0) }
130130
}
@@ -234,8 +234,8 @@ where Encoding.EncodedScalar == UTF16.EncodedScalar,
234234
// this result—and maybe other nice properties—in the type system. So maybe
235235
// this thing should conform to _FixedFormatUnicode
236236
var fccNormalizedUTF16
237-
: UnicodeStorage<CodeUnits,Encoding>.FCCNormalizedUTF16View {
238-
return UnicodeStorage(codeUnits, Encoding.self).fccNormalizedUTF16
237+
: _UnicodeViews<CodeUnits,Encoding>.FCCNormalizedUTF16View {
238+
return _UnicodeViews(codeUnits, Encoding.self).fccNormalizedUTF16
239239
}
240240

241241
var rawUTF16 : CodeUnits {

stdlib/public/core/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ set(SWIFTLIB_ESSENTIAL
140140
Unicode.swift
141141
Unicode2.swift
142142
UnicodeScalar.swift
143-
UnicodeStorage.swift
143+
UnicodeViews.swift
144144
UnicodeTrie.swift.gyb
145145
Unmanaged.swift
146146
UnsafeBitMap.swift

stdlib/public/core/GroupInfo.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
"Unicode.swift",
2929
"Unicode2.swift",
3030
"UnicodeScalar.swift",
31-
"UnicodeStorage.swift",
31+
"UnicodeViews.swift",
3232
"UnicodeTrie.swift",
3333
"UnavailableStringAPIs.swift"
3434
],

stdlib/public/core/StringStorage.swift

+9-9
Original file line numberDiff line numberDiff line change
@@ -135,14 +135,14 @@ extension _UTF16StringStorage : _FixedFormatUnicode {
135135
// WORKAROUND: helping type inference along will be unnecessary someday
136136
public typealias RawUTF16View = _UTF16StringStorage
137137
public typealias CodeUnits = _UTF16StringStorage
138-
public typealias FCCNormalizedUTF16View = UnicodeStorage<
138+
public typealias FCCNormalizedUTF16View = _UnicodeViews<
139139
CodeUnits, Encoding
140140
>.FCCNormalizedUTF16View
141141

142-
public typealias CharacterView = UnicodeStorage<CodeUnits,Encoding>.CharacterView
142+
public typealias CharacterView = _UnicodeViews<CodeUnits,Encoding>.CharacterView
143143

144144
public typealias UnicodeScalarView = LazyMapBidirectionalCollection<
145-
UnicodeStorage<CodeUnits,Encoding>.ScalarsTranscoded<UTF32>
145+
_UnicodeViews<CodeUnits,Encoding>.ScalarsTranscoded<UTF32>
146146
, UnicodeScalar
147147
>
148148

@@ -301,7 +301,7 @@ extension _UTF16StringStorage : _FixedFormatUnicode {
301301

302302
self.init(count: count)
303303
withUnsafeMutableBufferPointer {
304-
UnicodeStorage(
304+
_UnicodeViews(
305305
other.codeUnits, Other.Encoding.self).transcoded(
306306
to: UTF16.self
307307
)._copyCompleteContents(initializing: $0)
@@ -469,25 +469,25 @@ extension _UTF8StringStorage : _FixedFormatUnicode {
469469
// WORKAROUND: helping type inference along will be unnecessary someday
470470
public typealias CodeUnits = _UTF8StringStorage
471471

472-
public typealias RawUTF16View = UnicodeStorage<
472+
public typealias RawUTF16View = _UnicodeViews<
473473
CodeUnits, Encoding
474474
>.TranscodedView<UTF16>
475475

476-
public typealias FCCNormalizedUTF16View = UnicodeStorage<
476+
public typealias FCCNormalizedUTF16View = _UnicodeViews<
477477
CodeUnits, Encoding
478478
>.FCCNormalizedUTF16View
479479

480-
public typealias CharacterView = UnicodeStorage<CodeUnits,Encoding>.CharacterView
480+
public typealias CharacterView = _UnicodeViews<CodeUnits,Encoding>.CharacterView
481481

482482
public typealias UnicodeScalarView = LazyMapBidirectionalCollection<
483-
UnicodeStorage<CodeUnits,Encoding>.ScalarsTranscoded<UTF32>
483+
_UnicodeViews<CodeUnits,Encoding>.ScalarsTranscoded<UTF32>
484484
, UnicodeScalar
485485
>
486486

487487
public var codeUnits: CodeUnits { return self }
488488
public var rawUTF16: RawUTF16View { return RawUTF16View(self) }
489489
public var fccNormalizedUTF16: FCCNormalizedUTF16View {
490-
return UnicodeStorage(self, UTF8.self).fccNormalizedUTF16
490+
return _UnicodeViews(self, UTF8.self).fccNormalizedUTF16
491491
}
492492
}
493493

stdlib/public/core/UnicodeStorage.swift renamed to stdlib/public/core/UnicodeViews.swift

+26-26
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//===--- UnicodeStorage.swift ---------------------------------------------===//
1+
//===--- UnicodeViews.swift -----------------------------------------------===//
22
//
33
// This source file is part of the Swift.org open source project
44
//
@@ -32,12 +32,12 @@ internal func __swift_stdlib_U_FAILURE(_ x: __swift_stdlib_UErrorCode) -> Bool {
3232

3333
/// A collection of `CodeUnit`s to be interpreted by some `Encoding`.
3434
///
35-
/// View types nested in UnicodeStorage may be suitable *generic* implementation
35+
/// View types nested in _UnicodeViews may be suitable *generic* implementation
3636
/// guts for views for models of Unicode, but specific models may want to
3737
/// provide their own implementations. For example, the UTF16 view of a
3838
/// Latin1String would might be a simple lazy zero-extended mapping, rather than
3939
/// something that goes through the transcoding machinery.
40-
public struct UnicodeStorage<
40+
public struct _UnicodeViews<
4141
CodeUnits : RandomAccessCollection,
4242
Encoding : UnicodeEncoding
4343
>
@@ -54,15 +54,15 @@ where Encoding.EncodedScalar.Iterator.Element == CodeUnits.Iterator.Element,
5454
public var codeUnits: CodeUnits
5555
}
5656

57-
/// A straightforward typealias for _UnicodeStorage
57+
/// A straightforward typealias for _UnicodeViews
5858
///
5959
/// Use this to escape the automatic deduction of the generic arguments given
60-
/// the name `UnicodeStorage` from within nested contexts
60+
/// the name `_UnicodeViews` from within nested contexts
6161
/// (https://bugs.swift.org/browse/SR-4155).
62-
internal typealias _UnicodeStorage<
62+
internal typealias _UnicodeViews_<
6363
CodeUnits : RandomAccessCollection,
6464
Encoding : UnicodeEncoding
65-
> = UnicodeStorage<CodeUnits, Encoding>
65+
> = _UnicodeViews<CodeUnits, Encoding>
6666
where Encoding.EncodedScalar.Iterator.Element == CodeUnits.Iterator.Element,
6767
CodeUnits.SubSequence : RandomAccessCollection,
6868
CodeUnits.SubSequence.Index == CodeUnits.Index,
@@ -71,7 +71,7 @@ CodeUnits.SubSequence.Iterator.Element == CodeUnits.Iterator.Element
7171

7272
/// A lazy collection of `Encoding.EncodedScalar` that results
7373
/// from parsing an instance of codeUnits using that `Encoding`.
74-
extension UnicodeStorage {
74+
extension _UnicodeViews {
7575
public struct EncodedScalars {
7676
let codeUnits: CodeUnits
7777

@@ -81,7 +81,7 @@ extension UnicodeStorage {
8181
}
8282
}
8383

84-
extension UnicodeStorage.EncodedScalars {
84+
extension _UnicodeViews.EncodedScalars {
8585
// Because parsing produces a buffer and a new index, to avoid
8686
// repeatedly decoding the same data, this index stores that buffer
8787
// and the next index. This would obviously be more complicated if
@@ -108,7 +108,7 @@ extension UnicodeStorage.EncodedScalars {
108108
}
109109

110110
/// Collection Conformance
111-
extension UnicodeStorage.EncodedScalars : BidirectionalCollection {
111+
extension _UnicodeViews.EncodedScalars : BidirectionalCollection {
112112
public var startIndex: Index {
113113
if _slowPath(codeUnits.isEmpty) { return endIndex }
114114
let s = codeUnits.startIndex
@@ -177,15 +177,15 @@ extension UnicodeStorage.EncodedScalars : BidirectionalCollection {
177177
}
178178
}
179179

180-
extension UnicodeStorage {
180+
extension _UnicodeViews {
181181
public typealias ScalarsTranscoded<ToEncoding : UnicodeEncoding>
182182
= LazyMapBidirectionalCollection<EncodedScalars, ToEncoding.EncodedScalar>
183183

184184
public func scalarsTranscoded<ToEncoding : UnicodeEncoding>(
185185
to dst: ToEncoding.Type
186186
)
187187
-> ScalarsTranscoded<ToEncoding> {
188-
return UnicodeStorage.EncodedScalars(codeUnits, Encoding.self).lazy.map {
188+
return _UnicodeViews.EncodedScalars(codeUnits, Encoding.self).lazy.map {
189189
dst.encode($0)!
190190
}
191191
}
@@ -201,7 +201,7 @@ extension UnicodeStorage {
201201
// Instead, we wrap an instance of Base.
202202
public typealias Base = FlattenBidirectionalCollection<
203203
LazyMapBidirectionalCollection<
204-
UnicodeStorage<CodeUnits, FromEncoding>.EncodedScalars,
204+
_UnicodeViews<CodeUnits, FromEncoding>.EncodedScalars,
205205
ToEncoding.EncodedScalar
206206
>
207207
>
@@ -211,7 +211,7 @@ extension UnicodeStorage {
211211
from src: FromEncoding.Type = FromEncoding.self,
212212
to dst: ToEncoding.Type = ToEncoding.self
213213
) {
214-
base = Base(UnicodeStorage(codeUnits).scalarsTranscoded(to: dst))
214+
base = Base(_UnicodeViews(codeUnits).scalarsTranscoded(to: dst))
215215
}
216216

217217
// FIXME: this should go in the extension below but for <rdar://30320012>
@@ -241,7 +241,7 @@ extension UnicodeStorage {
241241
}
242242
}
243243

244-
extension UnicodeStorage : _UTextable {
244+
extension _UnicodeViews : _UTextable {
245245
internal func _nativeLength(_ uText: inout _UText) -> Int64 {
246246
uText.validate()
247247
return codeUnits.count^
@@ -250,15 +250,15 @@ extension UnicodeStorage : _UTextable {
250250
internal func _parsedSlice(
251251
_ offset: Int64,
252252
_ slice: (CodeUnits.Index) -> CodeUnits.SubSequence
253-
) -> UnicodeStorage<CodeUnits.SubSequence,Encoding>.EncodedScalars.SubSequence {
254-
return _UnicodeStorage(
253+
) -> _UnicodeViews<CodeUnits.SubSequence,Encoding>.EncodedScalars.SubSequence {
254+
return _UnicodeViews_(
255255
slice(codeUnits.index(atOffset: offset)), Encoding.self
256256
).scalars.dropFirst(0)
257257
}
258258

259259
internal func _parsedSuffix(
260260
fromOffset offset: Int64
261-
) -> UnicodeStorage<CodeUnits.SubSequence,Encoding>.EncodedScalars.SubSequence {
261+
) -> _UnicodeViews<CodeUnits.SubSequence,Encoding>.EncodedScalars.SubSequence {
262262
return _parsedSlice(offset, codeUnits.suffix(from:))
263263
}
264264

@@ -381,7 +381,7 @@ extension UnicodeStorage : _UTextable {
381381
// the generic TranscodedView, which is likely to be less efficient in
382382
// some common cases.
383383
let source
384-
= _UnicodeStorage(base, Encoding.self).transcoded(to: UTF16.self)
384+
= _UnicodeViews_(base, Encoding.self).transcoded(to: UTF16.self)
385385
var d = destination // copy due to https://bugs.swift.org/browse/SR-3782
386386
let (limit, remainder) = d.copy(from: source)
387387

@@ -426,26 +426,26 @@ extension UnicodeStorage : _UTextable {
426426
..<
427427
codeUnits.index(atOffset: nativeIndex)]
428428

429-
return _UnicodeStorage(
429+
return _UnicodeViews_(
430430
nativeChunk, Encoding.self).transcoded(to: UTF16.self).count^
431431
}
432432
}
433433

434-
extension UnicodeStorage {
434+
extension _UnicodeViews {
435435
public var scalars: EncodedScalars {
436436
return EncodedScalars(codeUnits, Encoding.self)
437437
}
438438
}
439439

440-
extension UnicodeStorage {
440+
extension _UnicodeViews {
441441

442442
public struct CharacterView : BidirectionalCollection {
443443

444444
public init(_ codeUnits: CodeUnits, _: Encoding.Type = Encoding.self) {
445-
self.storage = UnicodeStorage(codeUnits)
445+
self.storage = _UnicodeViews(codeUnits)
446446
}
447447

448-
internal let storage: UnicodeStorage
448+
internal let storage: _UnicodeViews
449449

450450
public typealias SubSequence = BidirectionalSlice<CharacterView>
451451

@@ -455,7 +455,7 @@ extension UnicodeStorage {
455455

456456
public subscript(i: Index) -> Character {
457457
let j = index(after: i)
458-
let contents = UnicodeStorage<
458+
let contents = _UnicodeViews<
459459
// explicit generic parameters shouldn't be needed
460460
// <rdar://problem/30882312>
461461
CodeUnits.SubSequence,Encoding
@@ -532,7 +532,7 @@ internal func _makeFCCNormalizer() -> OpaquePointer {
532532

533533
internal var _fccNormalizer = _makeFCCNormalizer()
534534

535-
extension UnicodeStorage {
535+
extension _UnicodeViews {
536536

537537
public typealias FCCNormalizedUTF16View = [UInt16]
538538

test/Prototypes/AnyUnicode.swift

+4-4
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
// REQUIRES: executable_test
1414

1515
extension _UTF16StringStorage {
16-
var characters: UnicodeStorage<_UTF16StringStorage, UTF16>.CharacterView {
17-
return UnicodeStorage(self, UTF16.self).characters
16+
var characters: _UnicodeViews<_UTF16StringStorage, UTF16>.CharacterView {
17+
return _UnicodeViews(self, UTF16.self).characters
1818
}
1919
}
2020

@@ -634,7 +634,7 @@ Self.CharacterView.Index : SignedInteger
634634
// FIXME: this could be more efficient for encodings such as Latin1
635635
var utf32: AnyUnicodeBidirectionalUInt32 {
636636
return AnyUnicodeBidirectionalUInt32(
637-
UnicodeStorage(
637+
_UnicodeViews(
638638
_codeUnits, Encoding.self
639639
).transcoded(to: UTF32.self)
640640
)
@@ -917,7 +917,7 @@ extension AnyStringContents : AnyUnicode {
917917
switch self {
918918
case .utf16(let storage):
919919
return AnyUnicodeBidirectionalUInt32(
920-
UnicodeStorage(storage, UTF16.self).transcoded(to: UTF32.self)
920+
_UnicodeViews(storage, UTF16.self).transcoded(to: UTF32.self)
921921
)
922922
case .latin1(let storage):
923923
return AnyUnicodeBidirectionalUInt32(storage)

test/Prototypes/string_prototype/CanonicalString.swift

+6-6
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ struct SwiftCanonicalString {
66
typealias Element = UInt16
77
typealias CodeUnits = _StringBuffer<_UTF16StringStorage>
88
typealias Encoding = UTF16
9-
typealias Storage = UnicodeStorage<CodeUnits, Encoding>
9+
typealias Storage = _UnicodeViews<CodeUnits, Encoding>
1010
var _storage: Storage
1111

1212
// Always set at construction time, conservatively updated at modification
@@ -21,24 +21,24 @@ struct SwiftCanonicalString {
2121

2222
// transcode and store the supplied code units
2323
init<OtherCodeUnits, OtherEncoding>(
24-
_ other: UnicodeStorage<OtherCodeUnits, OtherEncoding>
24+
_ other: _UnicodeViews<OtherCodeUnits, OtherEncoding>
2525
)
2626
// FIXME: when new integers land, we won't need this constraint anymore.
2727
where OtherCodeUnits.Iterator.Element : UnsignedInteger
2828
{
29-
self._storage = UnicodeStorage(
29+
self._storage = _UnicodeViews(
3030
CodeUnits(_UTF16StringStorage(utf16CodeUnitValues: other.transcoded(to: UTF16.self))))
3131
}
3232

3333
init() {
34-
self._storage = UnicodeStorage(CodeUnits(), Encoding.self)
34+
self._storage = _UnicodeViews(CodeUnits(), Encoding.self)
3535
// Empty strings have all the encodings!
3636
self.isKnownASCII = true
3737
self.isKnownLatin1 = true
3838
}
3939

4040
init(uninitializedCount count: Int) {
41-
self._storage = UnicodeStorage(
41+
self._storage = _UnicodeViews(
4242
CodeUnits(_uninitializedCount: count, minimumCapacity: count),
4343
Encoding.self)
4444
self.isKnownASCII = true
@@ -63,7 +63,7 @@ extension SwiftCanonicalString {
6363
// FIXME: when new integers land, we won't need this constraint anymore.
6464
, OtherCodeUnits.Iterator.Element : UnsignedInteger
6565
{
66-
self.init(UnicodeStorage(codeUnits, otherEncoding))
66+
self.init(_UnicodeViews(codeUnits, otherEncoding))
6767
}
6868
}
6969

0 commit comments

Comments
 (0)