Module Leapfrog.Map
Parameters
Signature
include Flambda2_algorithms.Leapfrog.Iterator
val current : 'a t -> 'a optioncurrent it is the key at the current position of the iterator it, or None if the iterator is exhausted.
val advance : 'a t -> unitadvance it advances the iterator to the next key.
advance is a no-op on an exhausted iterator.
val seek : 'a t -> 'a -> unitseek it x moves the iterator to the least upper bound for x, i.e. the least key y such that y >= x, exhausting the iterator if no such key exists.
Note: Only keys greater than the current position are considered: seek does nothing if x is smaller than the current key.
val init : 'a t -> unitinit it resets it to the first key of a new iteration.
val accept : 'a t -> unitaccept it accepts the value associated with the current key, preparing the iterator at the next depth for iteration.
val equal_key : 'a t -> 'a -> 'a -> boolequal_key it is an equality function iterator keys.
val compare_key : 'a t -> 'a -> 'a -> intequal_key it is a comparison function on iterator keys.
val create :
'a T.Map.t Flambda2_algorithms.Channel.receiver ->
'a Flambda2_algorithms.Channel.sender ->
T.t tcreate cell handler returns a new imperative iterator that iterates over the keys of the map in cell.
- When calling
init, the iterator is initialised with the lowest key of the map currently in thecellreference.
- Calling
acceptwill set thehandlerreference to the current value of the iterator.