# ArrayPairs\[A: A, B: [Array](builtin-Array.md)\[A\] #read\]
<span class="source-link">[[Source]](src/builtin/array.md#L-0-983)</span>
```pony
class ref ArrayPairs[A: A, B: Array[A] #read] is
  Iterator[(USize val , B->A)] ref
```

#### Implements

* [Iterator](builtin-Iterator.md)\[([USize](builtin-USize.md) val , B->A)\] ref

---

## Constructors

### create
<span class="source-link">[[Source]](src/builtin/array.md#L-0-987)</span>


```pony
new ref create(
  array: B)
: ArrayPairs[A, B] ref^
```
#### Parameters

*   array: B

#### Returns

* [ArrayPairs](builtin-ArrayPairs.md)\[A, B\] ref^

---

## Public Functions

### has_next
<span class="source-link">[[Source]](src/builtin/array.md#L-0-991)</span>


```pony
fun box has_next()
: Bool val
```

#### Returns

* [Bool](builtin-Bool.md) val

---

### next
<span class="source-link">[[Source]](src/builtin/array.md#L-0-994)</span>


```pony
fun ref next()
: (USize val , B->A) ?
```

#### Returns

* ([USize](builtin-USize.md) val , B->A) ?

---

