sequence

package
v0.0.0-...-1d55fa6 Latest Latest
Warning

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

Go to latest
Published: Jul 23, 2024 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Iterable

type Iterable[E any] interface {
	All() Sequence[E]
}

type Pair

type Pair[S, T any] struct {
	V1  S
	OK1 bool
	V2  T
	OK2 bool
}

func NewPair

func NewPair[S, T any](v1 S, v2 T) Pair[S, T]

type ReverseIterable

type ReverseIterable[E any] interface {
	Iterable[E]
	Reverse() ReversibleSequence[E]
}

type ReversibleSequence

type ReversibleSequence[E any] struct {
	Sequence[E]
	RevFn  iter.Seq[E]
	RevFn2 iter.Seq2[int, E]
}

ReversibleSequence is an iterator that can be traversed both forward and backward.

func Empty

func Empty[E any]() ReversibleSequence[E]

func MapR

func MapR[S, T any](seq ReverseIterable[S], f func(S) T) ReversibleSequence[T]

func RangeTo

func RangeTo[E constraints.Integer](start, end E) ReversibleSequence[E]

func Slice

func Slice[E any](slice []E) ReversibleSequence[E]

func Values

func Values[E any](values ...E) ReversibleSequence[E]

func ZipAllR

func ZipAllR[S, T any](s ReverseIterable[S], t ReverseIterable[T]) ReversibleSequence[Pair[S, T]]

func ZipR

func ZipR[S, T any](s ReverseIterable[S], t ReverseIterable[T]) ReversibleSequence[Pair[S, T]]

func (ReversibleSequence[E]) Chain

func (seq ReversibleSequence[E]) Chain(seqs ...ReverseIterable[E]) ReverseIterable[E]

func (ReversibleSequence[E]) Drop

func (rseq ReversibleSequence[E]) Drop(n int) ReversibleSequence[E]

func (ReversibleSequence[E]) DropWhile

func (rseq ReversibleSequence[E]) DropWhile(p func(E) bool) ReversibleSequence[E]

func (ReversibleSequence[E]) Filter

func (rseq ReversibleSequence[E]) Filter(p func(E) bool) ReversibleSequence[E]

func (ReversibleSequence[E]) Reverse

func (rseq ReversibleSequence[E]) Reverse() ReversibleSequence[E]

func (ReversibleSequence[E]) Take

func (rseq ReversibleSequence[E]) Take(n int) ReversibleSequence[E]

func (ReversibleSequence[E]) TakeWhile

func (rseq ReversibleSequence[E]) TakeWhile(p func(E) bool) ReversibleSequence[E]

type Sequence

type Sequence[E any] struct {
	Fn  iter.Seq[E]
	Fn2 iter.Seq2[int, E]
}

Sequence is an iterator that can only be traversed forward.

func Channel

func Channel[E any](ch <-chan E) Sequence[E]

func Map

func Map[S, T any](seq Iterable[S], f func(S) T) Sequence[T]

func Range

func Range[E constraints.Integer](start E) Sequence[E]

func Zip

func Zip[S, T any](s Iterable[S], t Iterable[T]) Sequence[Pair[S, T]]

func ZipAll

func ZipAll[S, T any](s Iterable[S], t Iterable[T]) Sequence[Pair[S, T]]

func (Sequence[E]) All

func (seq Sequence[E]) All() Sequence[E]

func (Sequence[E]) Chain

func (seq Sequence[E]) Chain(seqs ...Iterable[E]) Sequence[E]

func (Sequence[E]) Collect

func (s Sequence[E]) Collect() []E

func (Sequence[E]) Drop

func (seq Sequence[E]) Drop(n int) Sequence[E]

func (Sequence[E]) DropWhile

func (seq Sequence[E]) DropWhile(p func(E) bool) Sequence[E]

func (Sequence[E]) Filter

func (seq Sequence[E]) Filter(p func(E) bool) Sequence[E]

func (Sequence[E]) Take

func (seq Sequence[E]) Take(n int) Sequence[E]

func (Sequence[E]) TakeWhile

func (seq Sequence[E]) TakeWhile(p func(E) bool) Sequence[E]

Jump to

Keyboard shortcuts

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