Instance Method

distance(from:to:)

Returns the distance between two indices.

Declaration

func distance(from start: Range<Bound>.Index, to end: Range<Bound>.Index) -> Int
Available when Bound conforms to Strideable and Bound.Stride conforms to SignedInteger.

Parameters

start

A valid index of the collection.

end

Another valid index of the collection. If end is equal to start, the result is zero.

Return Value

The distance between start and end. The result can be negative only if the collection conforms to the BidirectionalCollection protocol.

Discussion

Unless the collection conforms to the BidirectionalCollection protocol, start must be less than or equal to end.

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

See Also

Manipulating Indices

var startIndex: Bound

The position of the first element in a nonempty collection.

var endIndex: Bound

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

var indices: Range<Bound>

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

var indices: Range<Bound>

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

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

Returns the position immediately after the given index.

func formIndex(after: inout Bound)

Replaces the given index with its successor.

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

Returns the position immediately before the given index.

func formIndex(before: inout Bound)

Replaces the given index with its predecessor.

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

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

func formIndex(inout Bound, offsetBy: Int)

Offsets the given index by the specified distance.

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

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

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

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

func hash(into: inout Hasher)

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