protocol CollectionType A multi-pass sequence with addressable positions. Positions are represented by an associated Index type. Whereas an arbitrary sequence may be consumed as it is traversed, a collection is multi-pass: any element may be revisited merely by saving its index. The sequence view of the elements is identical to the collection view. In other words, the following code binds the same series of values to x as does for x in self {}: for i in startIndex..<endIndex { let x = self[i] } Inheritance SequenceType, _CollectionType, _SequenceType, _Sequence_Type View Protocol Hierarchy → Associated Types Generator : GeneratorType A type that provides the sequence's iteration interface and encapsulates its iteration state. Index : ForwardIndexType A type that represents a valid position in the collection. Valid indices consist of the position of every element and a "past the end" position that's not valid for use as a subscript. _Element A type that represents a valid position in the collection. Valid indices consist of the position of every element and a "past the end" position that's not valid for use as a subscript. Import import Swift Instance Variables var endIndex: Index Required The collection's "past the end" position. endIndex is not a valid argument to subscript, and is always reachable from startIndex by zero or more applications of successor(). Declaration var endIndex: Index { get } Declared In _CollectionType var startIndex: Index Required The position of the first element in a non-empty collection. Identical to endIndex in an empty collection. Declaration var startIndex: Index { get } Declared In _CollectionType Subscripts subscript(_: Self.Index) Required Declaration subscript(position: Self.Index) -> Self.Generator.Element { get } subscript(_: Index) Required Declaration subscript(_i: Index) -> _Element { get } Declared In _CollectionType Instance Methods func generate() Required Return a generator over the elements of this sequence. Complexity: O(1) Declaration func generate() -> Generator Declared In SequenceType, _Sequence_Type