Instance Method


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


func formIndex(_ i: inout Self.Index, offsetBy distance: Int, limitedBy limit: Self.Index) -> Bool



A valid index of the collection.


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


A valid index of the collection to use as a limit. If distance > 0, a limit that is less than i has no effect. Likewise, if distance < 0, a limit that is greater than i has no effect.

Return Value

true if i has been offset by exactly distance steps without going beyond limit; otherwise, false. When the return value is false, the value of i is equal to limit.


The value passed as distance must not offset i beyond the bounds of the collection, unless the index passed as limit prevents offsetting beyond those bounds.

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: Self.Index

The position of the first element in a nonempty collection.


var endIndex: Self.Index

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


var indices: Self.Indices

The indices that are valid for subscripting the collection, in ascending order.

Required. Default implementation provided.

func index(after: Self.Index) -> Self.Index

Returns the position immediately after the given index.


func formIndex(inout Self.Index, offsetBy: Int)

Offsets the given index by the specified distance.