Instance Property

endIndex

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

Declaration

var endIndex: Bound { get }
Available when Bound conforms to Strideable and Bound.Stride conforms to SignedInteger.

Discussion

When you need a range that includes the last element of a collection, use the half-open range operator (..<) with endIndex. The ..< operator creates a range that doesn’t include the upper bound, so it’s always safe to use with endIndex. For example:

let numbers = [10, 20, 30, 40, 50]
if let index = numbers.firstIndex(of: 30) {
    print(numbers[index ..< numbers.endIndex])
}
// Prints "[30, 40, 50]"

If the collection is empty, endIndex is equal to startIndex.

See Also

Manipulating Indices

var startIndex: Bound

The position of the first element in a nonempty collection.

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 distance(from: Range<Bound>.Index, to: Range<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.