PersistentHashMap iterator #
This module provides an iterator for Lean.PersistentHashMap that is accessible via
Lean.PersistentHashMap.iter.
A zipper for traversing a PersistentHashMap. This is an inductive structure
representing the remaining key-value pairs to yield.
- done
{α : Type u}
{β : Type v}
: Zipper α β
No more elements to yield.
- consEntries
{α : Type u}
{β : Type v}
: Subarray (Entry α β (Node α β)) → Zipper α β → Zipper α β
A frame of entries from a trie node.
- consCollision
{α : Type u}
{β : Type v}
(keys : Subarray α)
(vals : Subarray β)
: Std.Slice.size keys = Std.Slice.size vals → Zipper α β → Zipper α β
A frame of key-value pairs from a collision node.
Instances For
@[implicit_reducible]
instance
Lean.PersistentHashMap.instIterator
{α : Type u_1}
{β : Type u_2}
:
Std.Iterator (Zipper α β) Id (α × β)
instance
Lean.PersistentHashMap.instFinite
{α : Type u_1}
{β : Type u_2}
:
Std.Iterators.Finite (Zipper α β) Id
@[implicit_reducible, inline]
instance
Lean.PersistentHashMap.instIteratorLoop
{α : Type u_1}
{β : Type u_2}
{n : Type u_3 → Type u_4}
[Monad n]
:
Std.IteratorLoop (Zipper α β) Id n
@[inline]
def
Lean.PersistentHashMap.iter
{α : Type u_1}
{β : Type u_2}
[BEq α]
[Hashable α]
(map : PersistentHashMap α β)
:
Returns a finite iterator over the key-value pairs of the given PersistentHashMap.
The iteration order is unspecified.
Termination properties:
Finiteinstance: alwaysProductiveinstance: always