File: 0080-rdar30442622.swift

package info (click to toggle)
swiftlang 6.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,519,992 kB
  • sloc: cpp: 9,107,863; ansic: 2,040,022; asm: 1,135,751; python: 296,500; objc: 82,456; f90: 60,502; lisp: 34,951; pascal: 19,946; sh: 18,133; perl: 7,482; ml: 4,937; javascript: 4,117; makefile: 3,840; awk: 3,535; xml: 914; fortran: 619; cs: 573; ruby: 573
file content (26 lines) | stat: -rw-r--r-- 994 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// RUN: %target-swift-frontend -typecheck -primary-file %s

protocol AnyCodeUnits_ {
  typealias Index = Int64
  typealias Element = UInt32
  var startIndex: Index { get }
  var endIndex: Index { get }
  func index(after: Index) -> Index
  func index(before: Index) -> Index
  func index(_ i: Index, offsetBy: Int64) -> Index
  subscript(i: Index) -> Element { get }
  subscript(r: Range<Index>) -> AnyCodeUnits { get }
}

struct AnyCodeUnits : RandomAccessCollection, AnyCodeUnits_ {
  let me: AnyCodeUnits_
  typealias Indices = DefaultIndices<AnyCodeUnits>
  var startIndex: Int64 { return me.startIndex }
  var endIndex: Int64 { return me.endIndex }
  func index(after i: Index) -> Index { return me.index(after: i) }
  func index(before i: Index) -> Index { return me.index(before: i) }
  func index(_ i: Index, offsetBy: Int64) -> Index { return me.index(i, offsetBy: i) }
  subscript(i: Index) -> Element { return me[i] }
  subscript(r: Range<Index>) -> AnyCodeUnits { return me[r] }
}