# _MapIter\[K: [Any](builtin-Any.md) #share, V: [Any](builtin-Any.md) #share, H: [HashFunction](collections-HashFunction.md)\[K\] val\]
<span class="source-link">[[Source]](src/collections-persistent/map.md#L154)</span>
```pony
interface ref _MapIter[K: Any #share, V: Any #share, H: HashFunction[K] val] is
  Iterator[(_MapEntry[K, V, H] val | _MapIter[K, V, H] ref)] ref
```

#### Implements

* [Iterator](builtin-Iterator.md)\[([_MapEntry](collections-persistent-_MapEntry.md)\[K, V, H\] val | [_MapIter](collections-persistent-_MapIter.md)\[K, V, H\] ref)\] ref

---

## Public Functions

### has_next
<span class="source-link">[[Source]](src/builtin/iterator.md#L69)</span>


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

#### Returns

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

---

### next
<span class="source-link">[[Source]](src/builtin/iterator.md#L81)</span>


```pony
fun ref next()
: (_MapEntry[K, V, H] val | _MapIter[K, V, H] ref) ?
```

#### Returns

* ([_MapEntry](collections-persistent-_MapEntry.md)\[K, V, H\] val | [_MapIter](collections-persistent-_MapIter.md)\[K, V, H\] ref) ?

---

