iterh

package module
v0.1.11 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 24, 2025 License: AGPL-3.0 Imports: 14 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddDummy

func AddDummy[T, D any](it iter.Seq[T], dummy D) iter.Seq2[T, D]

func AddNilError added in v0.1.4

func AddNilError[T any](it iter.Seq[T]) iter.Seq2[T, error]

func BreakOnError

func BreakOnError[T any](it iter.Seq2[T, error], ep *error) iter.Seq[T]

func BreakOnErrorMulti added in v0.1.5

func BreakOnErrorMulti[T any](its iter.Seq[iter.Seq2[T, error]], ep *error) iter.Seq[iter.Seq[T]]

func BreakWithError added in v0.1.5

func BreakWithError[T any](it iter.Seq2[T, error]) (iter.Seq[T], *error)

func Cat added in v0.1.11

func Cat[T any](its ...iter.Seq[T]) iter.Seq[T]

func ChannelIter

func ChannelIter[T any](c <-chan T) iter.Seq[T]

func CollectWithError

func CollectWithError[T any](it iter.Seq2[T, error]) ([]T, error)

func CsvIter

func CsvIter(r io.Reader) iter.Seq2[[]string, error]

func CutHead added in v0.1.4

func CutHead[T any](it iter.Seq[T], n int) iter.Seq[T]

func Elems added in v0.1.3

func Elems[T any](it iter.Seq[*T]) iter.Seq[T]

func Enumerate

func Enumerate[T any](it iter.Seq[T]) iter.Seq2[int, T]

func Filter added in v0.1.3

func Filter[T any](it iter.Seq[T], filt func(T) bool) iter.Seq[T]

func First added in v0.1.6

func First[T, U any](it iter.Seq2[T, U]) iter.Seq[T]

func Flatten added in v0.1.7

func Flatten[T any](itit iter.Seq[iter.Seq[T]]) iter.Seq[T]

func GobIter

func GobIter[T any](r io.Reader) iter.Seq2[T, error]

func GzPathIter

func GzPathIter[T any](path string, f func(io.Reader) iter.Seq2[T, error]) iter.Seq2[T, error]
func Head[T any](it iter.Seq[T], n int) iter.Seq[T]

func Index added in v0.1.4

func Index[T comparable](target T, it iter.Seq[T]) (i int)

func IndexFunc added in v0.1.4

func IndexFunc[T any](it iter.Seq[T], idxf func(T) bool) (i int, val T)

func IterChannel

func IterChannel[T any](it iter.Seq[T], chanLen int) (c <-chan T, cancel func())

func JsonIter

func JsonIter[T any](r io.Reader) iter.Seq2[T, error]

func LineIter added in v0.1.2

func LineIter(r io.Reader) iter.Seq2[string, error]

func ListElements added in v0.1.3

func ListElements(l *list.List) iter.Seq[*list.Element]

func ListPtrs added in v0.1.6

func ListPtrs(l *list.List) iter.Seq[*any]

func ListValues added in v0.1.6

func ListValues(l *list.List) iter.Seq[any]

func Max added in v0.1.4

func Max[T cmp.Ordered](it iter.Seq[T]) T

func MaxFunc added in v0.1.4

func MaxFunc[T any](it iter.Seq[T], cmpf func(T, T) int) T

func MaybeGzPathIter

func MaybeGzPathIter[T any](path string, f func(io.Reader) iter.Seq2[T, error]) iter.Seq2[T, error]

func Min added in v0.1.4

func Min[T cmp.Ordered](it iter.Seq[T]) T

func MinFunc added in v0.1.5

func MinFunc[T any](it iter.Seq[T], cmpf func(T, T) int) T

func Negative added in v0.1.4

func Negative[T any](cmpf func(T, T) int) func(T, T) int

func ParallelRun added in v0.1.9

func ParallelRun(fs iter.Seq[func()], threads int)

func ParallelRunErr added in v0.1.9

func ParallelRunErr(fs iter.Seq[func() error], threads int) error

func PathIter

func PathIter[T any](path string, f func(io.Reader) iter.Seq2[T, error]) iter.Seq2[T, error]

func PulledIter added in v0.1.4

func PulledIter[T any](next func() (T, bool)) iter.Seq[T]

func PulledIter2 added in v0.1.4

func PulledIter2[T, U any](next func() (T, U, bool)) iter.Seq2[T, U]

func Range

func Range[N Number](start, end, step N) iter.Seq[N]

func Rank added in v0.1.4

func Rank[T cmp.Ordered](target T, it iter.Seq[T]) (perc float64, nhigher, total int)

func RankFunc added in v0.1.4

func RankFunc[T any](target T, it iter.Seq[T], cmpf func(T, T) int) (perc float64, nhigher, total int)

func Reduce added in v0.1.3

func Reduce[T any](it iter.Seq[T], red func(T, T) T) T

func Repeat added in v0.1.4

func Repeat[T any](n int, vals ...T) iter.Seq[T]

func RepeatForever added in v0.1.7

func RepeatForever[T any](vals ...T) iter.Seq[T]

func RepeatSlice added in v0.1.4

func RepeatSlice[T any](n int, vals ...T) []T

func Reverse added in v0.1.4

func Reverse[T any](it iter.Seq[T]) iter.Seq[T]

func ReverseInPlace added in v0.1.4

func ReverseInPlace[S LenSwapper](s S)

func ReverseSlice added in v0.1.4

func ReverseSlice[S ~[]T, T any](s S)

func ReverseSliceIter added in v0.1.4

func ReverseSliceIter[S ~[]T, T any](s S) iter.Seq[T]

func RingIter added in v0.1.3

func RingIter(r *ring.Ring) iter.Seq[*ring.Ring]

func RingPtrs added in v0.1.6

func RingPtrs(r *ring.Ring) iter.Seq[*any]

func RingValues added in v0.1.6

func RingValues(r *ring.Ring) iter.Seq[any]

func Second added in v0.1.6

func Second[T, U any](it iter.Seq2[T, U]) iter.Seq[U]

func SlicePtrs added in v0.1.6

func SlicePtrs[S ~[]T, T any](s S) iter.Seq[*T]

func Sum added in v0.1.8

func Sum[T Number](it iter.Seq[T]) T

func Swap

func Swap[T, U any](it iter.Seq2[T, U]) iter.Seq2[U, T]

func Transform added in v0.1.3

func Transform[T, U any](it iter.Seq[T], trans func(T) U) iter.Seq[U]

func ViewIter added in v0.1.4

func ViewIter[V View[T], T any](v V) iter.Seq[T]

func Window added in v0.1.4

func Window[T any](it iter.Seq[T], winsize int, winstep int) iter.Seq[WinView[T]]

func WriteGob

func WriteGob[T any](w io.Writer, it iter.Seq2[T, error]) error

func WriteGzPath

func WriteGzPath[T any](path string, f func(io.Writer) error) (err error)

func WriteJson

func WriteJson[T any](w io.Writer, it iter.Seq2[T, error]) error

func WriteMaybeGzPath

func WriteMaybeGzPath[T any](path string, f func(io.Writer) error) (err error)

func WritePath

func WritePath[T any](path string, f func(io.Writer) error) (err error)

func Zero added in v0.1.4

func Zero[T any]() T

func Zip

func Zip[T, U any](ti iter.Seq[T], ui iter.Seq[U]) iter.Seq2[T, U]

Types

type LenSwapper added in v0.1.4

type LenSwapper interface {
	Len() int
	Swap(i, j int)
}

type Number

type Number interface {
	int | int8 | int16 | int32 | int64 |
		uint | uint8 | uint16 | uint32 | uint64 |
		float64 | float32
}

type Ordered added in v0.1.9

type Ordered[T any] struct {
	// contains filtered or unexported fields
}

func NewOrdered added in v0.1.9

func NewOrdered[T any]() *Ordered[T]

func OrderedParallel added in v0.1.9

func OrderedParallel[T, U any](f func(T) U, in iter.Seq[T], threads int) *Ordered[U]

func OrderedParallelIndexed added in v0.1.9

func OrderedParallelIndexed[T, U any](f func(T) U, in iter.Seq2[int, T], threads int) *Ordered[U]

func (*Ordered[T]) All added in v0.1.9

func (o *Ordered[T]) All() iter.Seq[T]

func (*Ordered[T]) BlockingGet added in v0.1.9

func (o *Ordered[T]) BlockingGet() (val T, got bool)

func (*Ordered[T]) Close added in v0.1.9

func (o *Ordered[T]) Close()

func (*Ordered[T]) Put added in v0.1.9

func (o *Ordered[T]) Put(i int, val T)

func (*Ordered[T]) TryGet added in v0.1.9

func (o *Ordered[T]) TryGet() (val T, open, got bool)

type SliceLenSwapper added in v0.1.4

type SliceLenSwapper[T any] []T

func (SliceLenSwapper[T]) Len added in v0.1.4

func (s SliceLenSwapper[T]) Len() int

func (SliceLenSwapper[T]) Swap added in v0.1.4

func (s SliceLenSwapper[T]) Swap(i, j int)

type View added in v0.1.4

type View[T any] interface {
	Len() int
	At(i int) T
}

type WinView added in v0.1.4

type WinView[T any] struct {
	// contains filtered or unexported fields
}

func (WinView[T]) At added in v0.1.4

func (w WinView[T]) At(i int) T

func (WinView[T]) Len added in v0.1.4

func (w WinView[T]) Len() int

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL