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
@[instance_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
@[instance_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