tree

package
v0.20.2 Latest Latest
Warning

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

Go to latest
Published: Aug 19, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// UseRHS returns its RHS arg.
	UseRHS = func(_, b elementT) elementT { return b }

	// UseLHS returns its LHS arg.
	UseLHS = func(a, _ elementT) elementT { return a }
)
View Source
var (
	DefaultNPKeyEqArgs      = NewDefaultKeyEqArgs(depth.NonParallel)
	DefaultNPKeyCombineArgs = NewCombineArgs(DefaultNPKeyEqArgs, UseRHS)
)
View Source
var (
	// DefaultNPEqArgs provides default equality with non-parallel behaviour.
	DefaultNPEqArgs = NewDefaultEqArgs(depth.NonParallel)

	// DefaultNPCombineArgs provides default combiner with non-parallel
	// behaviour.
	DefaultNPCombineArgs = NewCombineArgs(DefaultNPEqArgs, UseRHS)
)

Functions

This section is empty.

Types

type Builder

type Builder struct {
	// contains filtered or unexported fields
}

Builder provides a more efficient way to build nodes incrementally.

func NewBuilder

func NewBuilder(capacity int) *Builder

func (*Builder) Add

func (b *Builder) Add(args *CombineArgs, v elementT)

func (*Builder) Borrow

func (b *Builder) Borrow() Tree

func (*Builder) Count

func (b *Builder) Count() int

func (*Builder) Finish

func (b *Builder) Finish() Tree

func (Builder) Format

func (b Builder) Format(state fmt.State, verb rune)

func (*Builder) Get

func (b *Builder) Get(args *EqArgs, el elementT) *elementT

func (*Builder) Remove

func (b *Builder) Remove(args *EqArgs, v elementT)

func (Builder) String

func (b Builder) String() string

type CombineArgs

type CombineArgs struct {
	*EqArgs
	// contains filtered or unexported fields
}

func NewCombineArgs

func NewCombineArgs(ea *EqArgs, combine func(a, b elementT) elementT) *CombineArgs

func (*CombineArgs) Flip

func (a *CombineArgs) Flip() *CombineArgs

type EqArgs

type EqArgs struct {
	NodeArgs
	// contains filtered or unexported fields
}

func NewDefaultEqArgs

func NewDefaultEqArgs(gauge depth.Gauge) *EqArgs

func NewDefaultKeyEqArgs

func NewDefaultKeyEqArgs(gauge depth.Gauge) *EqArgs

func NewEqArgs

func NewEqArgs(
	gauge depth.Gauge,
	eq func(a, b elementT) bool,
	lhash, rhash func(a elementT, seed uintptr) uintptr,
) *EqArgs

func (*EqArgs) Flip

func (a *EqArgs) Flip() *EqArgs

type Iterator

type Iterator = iterator.Iterator

type Less

type Less func(a, b elementT) bool

Less dictates the order of two elements.

type NodeArgs

type NodeArgs struct {
	depth.Gauge
}

func NewNodeArgs

func NewNodeArgs(gauge depth.Gauge) NodeArgs

type Tree

type Tree struct {
	// contains filtered or unexported fields
}

func (Tree) Combine

func (t Tree) Combine(args *CombineArgs, u Tree) (out Tree)

func (Tree) Count

func (t Tree) Count() int

func (Tree) Difference

func (t Tree) Difference(args *EqArgs, u Tree) (out Tree)

func (Tree) Equal

func (t Tree) Equal(args *EqArgs, u Tree) bool

func (Tree) Format

func (t Tree) Format(f fmt.State, verb rune)

func (Tree) Gauge

func (t Tree) Gauge() depth.Gauge

func (Tree) Get

func (t Tree) Get(args *EqArgs, v elementT) *elementT

func (Tree) Intersection

func (t Tree) Intersection(args *EqArgs, u Tree) (out Tree)

func (Tree) Iterator

func (t Tree) Iterator() Iterator

func (Tree) Map

func (t Tree) Map(args *CombineArgs, f func(v elementT) elementT) (out Tree)

func (Tree) OrderedIterator

func (t Tree) OrderedIterator(less Less, n int) Iterator

func (Tree) Reduce

func (t Tree) Reduce(args NodeArgs, r func(values ...elementT) elementT) elementT

func (Tree) String

func (t Tree) String() string

func (Tree) SubsetOf

func (t Tree) SubsetOf(args *EqArgs, u Tree) bool

func (Tree) Vet

func (t Tree) Vet()

func (Tree) Where

func (t Tree) Where(args *WhereArgs) (out Tree)

func (Tree) With

func (t Tree) With(args *CombineArgs, v elementT) (out Tree)

func (Tree) Without

func (t Tree) Without(args *EqArgs, v elementT) (out Tree)

type WhereArgs

type WhereArgs struct {
	NodeArgs

	Pred func(elem elementT) bool
}

Directories

Path Synopsis
Generated by gen-kv.pl kvt kv.KeyValue.
Generated by gen-kv.pl kvt kv.KeyValue.
Generated by gen-kv.pl skvt kv.KeyValue.
Generated by gen-kv.pl skvt kv.KeyValue.

Jump to

Keyboard shortcuts

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