1
2
3
4
5 package moreiters
6
7 import "iter"
8
9
10
11 func First[T any](seq iter.Seq[T]) (z T, ok bool) {
12 for t := range seq {
13 return t, true
14 }
15 return z, false
16 }
17
18
19 func Contains[T comparable](seq iter.Seq[T], x T) bool {
20 for cand := range seq {
21 if cand == x {
22 return true
23 }
24 }
25 return false
26 }
27
28
29
30 func Every[T any](seq iter.Seq[T], pred func(T) bool) bool {
31 for t := range seq {
32 if !pred(t) {
33 return false
34 }
35 }
36 return true
37 }
38
39
40 func Any[T any](seq iter.Seq[T], pred func(T) bool) bool {
41 for t := range seq {
42 if pred(t) {
43 return true
44 }
45 }
46 return false
47 }
48
View as plain text