Versions in this module Expand all Collapse all v0 v0.1.0 Jul 19, 2024 Changes in this version + func DoWhile[T any](todo []T, accept slext.PredicateFilter[T], f uc.EvalManyFunc[T, T]) []T + func Evaluate[A, T, E, R any](elem LeafEvaluable[A, T, E, R], args []A) ([]T, error) + type Accepter interface + Accept func() bool + type ErrLastNotFound struct + func NewErrLastNotFound() *ErrLastNotFound + func (e *ErrLastNotFound) Error() string + type FilterNextsFunc func(wasDone bool, nexts []T) ([]T, error) + type FrontierEvaluator struct + func NewFrontierEvaluator[T Accepter](matcher uc.EvalManyFunc[T, T]) *FrontierEvaluator[T] + func (fe *FrontierEvaluator[T]) Evaluate(elem T) + func (fe *FrontierEvaluator[T]) GetResults() ([]T, error) + type Laster interface + Append func(elem T) + From func(elems []T) (Laster[T], error) + GetLast func() (T, bool) + type LeafEvaluable interface + Evaluator func() LeafEvaluater[A, T, E, R] + type LeafEvaluater interface + Core func(index int, lpe E) (*uc.Pair[R, error], error) + Init func(elems []A) (T, error) + Next func(pair *uc.Pair[R, error], branch T) ([]T, error) + type NextsFunc func(wasDone bool, last T) ([]T, error) + type StackEvaluator struct + func NewStackEvaluator[T any, E Laster[T]](eval uc.EvalOneFunc[T, bool], nexts NextsFunc[T]) (*StackEvaluator[T, E], error) + func (se *StackEvaluator[T, E]) Evaluate(elem T) ([]E, error) + func (se *StackEvaluator[T, E]) SetFilter(filter FilterNextsFunc[T])