CollectionType

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