23 lines
466 B
Go
23 lines
466 B
Go
|
package iter
|
||
|
|
||
|
// Callback receives a value and returns true if another value should be
|
||
|
// received or false to stop iteration.
|
||
|
type Callback func(value interface{}) (more bool)
|
||
|
|
||
|
// Func iterates by calling Callback for each of its values.
|
||
|
type Func func(Callback)
|
||
|
|
||
|
func All(cb Callback, fs ...Func) bool {
|
||
|
for _, f := range fs {
|
||
|
all := true
|
||
|
f(func(v interface{}) bool {
|
||
|
all = all && cb(v)
|
||
|
return all
|
||
|
})
|
||
|
if !all {
|
||
|
return false
|
||
|
}
|
||
|
}
|
||
|
return true
|
||
|
}
|