---
title: "formIndex(_:offsetBy:limitedBy:)"
framework: swift
role: symbol
role_heading: Instance Method
path: "swift/contiguousarray/formindex(_:offsetby:limitedby:)"
---

# formIndex(_:offsetBy:limitedBy:)

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

## Declaration

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

## 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.
- `limit`: 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

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.

## Discussion

Discussion 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. note: O(1) if the collection conforms to RandomAccessCollection; otherwise, O(k), where k is the absolute value of distance.
