Documentation
¶
Overview ¶
Package stateless defines a stateless (pure) iterator, i.e. one that can be iterated over multiple times without side effects, it is threadsafe
Index ¶
- func Ap[V, U any](ma Iterator[U]) func(Iterator[func(U) V]) Iterator[V]
- func Chain[U, V any](f func(U) Iterator[V]) func(Iterator[U]) Iterator[V]
- func Filter[U any](f func(U) bool) func(ma Iterator[U]) Iterator[U]
- func FilterMap[U, V any](f func(U) O.Option[V]) func(ma Iterator[U]) Iterator[V]
- func Map[U, V any](f func(U) V) func(ma Iterator[U]) Iterator[V]
- func Monoid[U any]() M.Monoid[Iterator[U]]
- func Reduce[U, V any](f func(V, U) V, initial V) func(Iterator[U]) V
- func Scan[FCT ~func(V, U) V, U, V any](f FCT, initial V) func(ma Iterator[U]) Iterator[V]
- func Take[U any](n int) func(ma Iterator[U]) Iterator[U]
- func ToArray[U any](u Iterator[U]) []U
- func Uniq[A any, K comparable](f func(A) K) func(as Iterator[A]) Iterator[A]
- func Zip[A, B any](fb Iterator[B]) func(Iterator[A]) Iterator[T.Tuple2[A, B]]
- type Iterator
- func Empty[U any]() Iterator[U]
- func Flatten[U any](ma Iterator[Iterator[U]]) Iterator[U]
- func From[U any](data ...U) Iterator[U]
- func FromArray[U any](as []U) Iterator[U]
- func MakeBy[FCT ~func(int) U, U any](n int, f FCT) Iterator[U]
- func MonadAp[V, U any](fab Iterator[func(U) V], ma Iterator[U]) Iterator[V]
- func MonadChain[U, V any](ma Iterator[U], f func(U) Iterator[V]) Iterator[V]
- func MonadMap[U, V any](ma Iterator[U], f func(U) V) Iterator[V]
- func Of[U any](a U) Iterator[U]
- func Replicate[U any](n int, a U) Iterator[U]
- func StrictUniq[A comparable](as Iterator[A]) Iterator[A]
- func ZipWith[FCT ~func(A, B) C, A, B, C any](fa Iterator[A], fb Iterator[B], f FCT) Iterator[C]
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Map ¶
Map transforms an Iterator of type [U] into an Iterator of type [V] via a mapping function
func Scan ¶ added in v1.0.12
Scan takes an Iterator and returns a new Iterator of the same length, where the values of the new Iterator are the result of the application of `f` to the value of the source iterator with the previously accumulated value
Types ¶
type Iterator ¶
Iterator represents a stateless, pure way to iterate over a sequence
func MonadMap ¶
MonadMap transforms an Iterator of type [U] into an Iterator of type [V] via a mapping function
func Replicate ¶
Replicate creates an Iterator containing a value repeated the specified number of times.
func StrictUniq ¶ added in v1.0.11
func StrictUniq[A comparable](as Iterator[A]) Iterator[A]
StrictUniq converts an Iterator or arbitrary items into an Iterator or unique items where uniqueness is determined by the built-in uniqueness constraint