// Iteration represents an iteration over all hyphae in the storage. You may use it instead of directly iterating using hyphae.YieldExistingHyphae when you want to do n checks at once instead of iterating n times.
// Ignite does the iteration by walking over all hyphae yielded by the iterator used and calling all checks on the hypha. Ignited iterations are not concurrent-safe.
func(i7n*Iteration)Ignite(){
forh:=rangei7n.iterator(){
fori,check:=rangei7n.checks{
ifres:=check(h);res==CheckForgetMe{
i7n.removeCheck(i)
}
}
}
}
// CheckResult is a result of an iteration check.
typeCheckResultint
const(
// CheckContinue is returned when the check wants to be used next time too.
CheckContinueCheckResult=iota
// CheckForgetMe is returned when the check wants to be forgotten and not used anymore.