# Functions
All returns true if `predicate` returns true for every value returned by the iterator.
Any returns true if `predicate` returns true for any value returned by the iterator.
Collect collects all elements from an iterator into a slice.
CollectInto collects all elements from an iterator into a pointer to a slice.
CollectResults collects all elements from an iterator of results into a result of slice of the iterator's underlying type If the iterator returns an error result at any point, this call will terminate and return that error in the result, along with the elements collected thus far.
Empty creates an iterator that returns no items.
Filter applies a filter function `predicate` of type `func(T) bool`, producing a new iterator containing only the elements than satisfy the function.
FilterMap applies both transformation and filtering logic to an iterator.
FilterValues takes an iterator of results and returns an iterator of the underlying result value type for only those results that have no error.
Generate creates an Iterator from a Generator function.
GenerateResults is a variation on Generate that produces an iterator of result types.
Range creates an iterator that ranges from `from` to `upto` inclusive.
RangeBy creates an iterator that ranges from `from` up to `upto` inclusive, incrementing by `by` each step.
IsSizeAtMost returns true if the iterator size is one whose maximum size is known.
IsSizeKnown returns true if the iterator size is one whose actual size is known.
IsSizeUnknown returns true if the given IteratorSize instance represents an unknown size.
MakeIterator creates a generic iterator from a simple iterator.
MakeIteratorFromSimple creates a generic iterator from a sized iterator, providing an implementation of a source of elements over a channel.
MakeIteratorOfSize creates a sized iterator from a simple iterator; the iterator size will be the size provided.
MakeIteratorOfSizeFromSimple creates a generic iterator from a sized iterator, providing an implementation of a source of elements over a channel.
MakeSizedIterator creates a sized iterator from a simple iterator; the iterator size will be unknown.
Map applies function `mapping` of type `func(T) U` to each value, producing a new iterator over `U`.
NewSize creates an `IteratorSize` implementation that has a fixed size of `n`.
NewSizeAtMost creates an `IteratorSize` implementation that has a size no more than n.
Of makes an Iterator[T] containing the variadic arguments of type T.
PartitionResults collects the elements from an iterator of result types into two slices, one of successful (nil error) values, and the other of error values.
Range creates an iterator that ranges from `from` to `upto` exclusive.
RangeBy creates an iterator that ranges from `from` up to `upto` exclusive, incrementing by `by` each step.
Slice makes an Iterator[T] from slice []T, containing all the elements from the slice in order.
Take transforms an iterator into an iterator the returns the first n elements of the original iterator.
# Variables
SizeUnknown is a value implementing IteratorSize, representing an iterator of unknown size.
# Structs
AbortGenerator is a panic type that will be raised if a Generator function is to be aborted.
Consumer is a type, an instance of which is passed to a Generator generator function.
GeneratorPanic is an error type indicating that a generator iterator function has panicked.
SizeAtMost holds Iterator sizing information where only an upper bound is known.
SizeKnown holds Iterator sizing information where the size is known with certainty.
# Interfaces
Generic iterator.
IteratorSize holds iterator sizing information.
SimpleIterator supports a simple sequence of elements.
SizedIterator is an extension of SimpleIterator that also holds some sizing information.
# Type aliases
FuncNext is a function supporting a transforming operation by consuming all or part of an iterator, returning the next value.
Generator is a function taking a Consumer.
ResultGenerator is a function taking a ResultConsumer object to which results may be yielded.