Instance Method

formIndex(_:offsetBy:)

Offsets the given index by the specified distance.

Declaration

func formIndex(_ i: inout Index, offsetBy distance: Int)

Parameters

i

A valid index of the collection.

distance

The distance to offset i. distance must not be negative unless the collection conforms to the BidirectionalCollection protocol.

Discussion

The value passed as distance must not offset i beyond the bounds of the collection.

Complexity: O(1) if the collection conforms to RandomAccessCollection; otherwise, O(k), where k is the absolute value of distance.

See Also

Manipulating Indices

var startIndex: ClosedRange<Bound>.Index

The position of the first element in the range.

var endIndex: ClosedRange<Bound>.Index

The range’s “past the end” position—that is, the position one greater than the last valid subscript argument.

func index(after: ClosedRange<Bound>.Index) -> ClosedRange<Bound>.Index

Returns the position immediately after the given index.

func formIndex(after: inout Index)

Replaces the given index with its successor.

func index(before: ClosedRange<Bound>.Index) -> ClosedRange<Bound>.Index

Returns the position immediately before the given index.

func formIndex(before: inout Index)

Replaces the given index with its predecessor.

func index(ClosedRange<Bound>.Index, offsetBy: Int) -> ClosedRange<Bound>.Index

Returns an index that is the specified distance from the given index.

func index(Index, offsetBy: Int, limitedBy: Index) -> Index?

Returns an index that is the specified distance from the given index, unless that distance is beyond a given limiting index.

func formIndex(inout Index, offsetBy: Int, limitedBy: Index) -> Bool

Offsets the given index by the specified distance, or so that it equals the given limiting index.

func distance(from: ClosedRange<Bound>.Index, to: ClosedRange<Bound>.Index) -> Int

Returns the distance between two indices.

func hash(into: inout Hasher)

Hashes the essential components of this value by feeding them into the given hasher.