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

## Constructors

### create
<span class="source-link">[[Source]](src/collections-persistent/map.md#L145)</span>


```pony
new ref create(
  m: HashMap[K, V, H] val)
: MapPairs[K, V, H] ref^
```
#### Parameters

*   m: [HashMap](collections-persistent-HashMap)\[K, V, H\] val

#### Returns

* [MapPairs](collections-persistent-MapPairs)\[K, V, H\] ref^

---

## Public Functions

### has_next
<span class="source-link">[[Source]](src/collections-persistent/map.md#L152)</span>


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

#### Returns

* [Bool](builtin-Bool) val

---

### next
<span class="source-link">[[Source]](src/collections-persistent/map.md#L154)</span>


```pony
fun ref next()
: (K , val->V) ?
```

#### Returns

* (K , val->V) ?

---

## Private Functions

### _push
<span class="source-link">[[Source]](src/collections-persistent/map.md#L181)</span>


```pony
fun ref _push(
  n: _MapNode[K, V, H] val)
: None val
```
#### Parameters

*   n: [_MapNode](collections-persistent-_MapNode)\[K, V, H\] val

#### Returns

* [None](builtin-None) val

---

### _backup
<span class="source-link">[[Source]](src/collections-persistent/map.md#L185)</span>


```pony
fun ref _backup()
: None val ?
```

#### Returns

* [None](builtin-None) val ?

---

### _inc_i
<span class="source-link">[[Source]](src/collections-persistent/map.md#L190)</span>


```pony
fun ref _inc_i()
: None val ?
```

#### Returns

* [None](builtin-None) val ?

---

### _cur
<span class="source-link">[[Source]](src/collections-persistent/map.md#L194)</span>


```pony
fun box _cur()
: (_MapNode[K, V, H] val , USize val) ?
```

#### Returns

* ([_MapNode](collections-persistent-_MapNode)\[K, V, H\] val , [USize](builtin-USize) val) ?

---

