Versions in this module Expand all Collapse all v0 v0.0.1 Mar 12, 2024 Changes in this version + type Array struct + func NewArray[T comparable](defCap int) *Array[T] + func (a *Array) Add(item T) + func (a *Array) AddRange(items ...T) + func (a *Array) Clear() + func (a *Array) Count() int + func (a *Array) HasItem(item T) bool + func (a *Array) Reset() + func (a *Array) Values() []T + func (a *Array[T]) Del(v T) (exist bool) + type DLinkOption func(o *setLinkOption[KT, VT]) + func SetLinkRecycleElem[KT comparable, VT any](recycle func(*SetLinkElem[VT])) DLinkOption[KT, VT] + func SetLinkSpawnElem[KT comparable, VT any](spawn func() *SetLinkElem[VT]) DLinkOption[KT, VT] + func SetLinkValToKey[KT comparable, VT any](valToKey func(VT) KT) DLinkOption[KT, VT] + type FnErrLink struct + func NewFnErrLink() *FnErrLink + func (l *FnErrLink) Del(fn func() *util.Err) + func (l *FnErrLink) Invoke() *util.Err + func (l *FnErrLink) Reset() + type FnErrLink1 struct + func NewFnErrLink1[T any]() *FnErrLink1[T] + func (l *FnErrLink1[T]) Del(fn func(T) *util.Err) + func (l *FnErrLink1[T]) Invoke(obj T) *util.Err + func (l *FnErrLink1[T]) Reset() + type FnErrLink2 struct + func NewFnErrLink2[T0, T1 any]() *FnErrLink2[T0, T1] + func (l *FnErrLink2[T0, T1]) Del(fn func(T0, T1) *util.Err) + func (l *FnErrLink2[T0, T1]) Invoke(v0 T0, v1 T1) *util.Err + func (l *FnErrLink2[T0, T1]) Reset() + type FnErrLink3 struct + func NewFnErrLink3[T0, T1, T2 any]() *FnErrLink3[T0, T1, T2] + func (l *FnErrLink3[T0, T1, T2]) Del(fn func(T0, T1, T2) *util.Err) + func (l *FnErrLink3[T0, T1, T2]) Invoke(v0 T0, v1 T1, v2 T2) *util.Err + func (l *FnErrLink3[T0, T1, T2]) Reset() + type FnErrLink4 struct + func NewFnErrLink4[T0, T1, T2, T3 any]() *FnErrLink4[T0, T1, T2, T3] + func (l *FnErrLink4[T0, T1, T2, T3]) Del(fn func(T0, T1, T2, T3) *util.Err) + func (l *FnErrLink4[T0, T1, T2, T3]) Invoke(v0 T0, v1 T1, v2 T2, v3 T3) *util.Err + func (l *FnErrLink4[T0, T1, T2, T3]) Reset() + type FnErrLink5 struct + func NewFnErrLink5[T0, T1, T2, T3, T4 any]() *FnErrLink5[T0, T1, T2, T3, T4] + func (l *FnErrLink5[T0, T1, T2, T3, T4]) Del(fn func(T0, T1, T2, T3, T4) *util.Err) + func (l *FnErrLink5[T0, T1, T2, T3, T4]) Invoke(v0 T0, v1 T1, v2 T2, v3 T3, v4 T4) *util.Err + func (l *FnErrLink5[T0, T1, T2, T3, T4]) Reset() + type FnErrLink6 struct + func NewFnErrLink6[T0, T1, T2, T3, T4, T5 any]() *FnErrLink6[T0, T1, T2, T3, T4, T5] + func (l *FnErrLink6[T0, T1, T2, T3, T4, T5]) Del(fn func(T0, T1, T2, T3, T4, T5) *util.Err) + func (l *FnErrLink6[T0, T1, T2, T3, T4, T5]) Invoke(v0 T0, v1 T1, v2 T2, v3 T3, v4 T4, v5 T5) *util.Err + func (l *FnErrLink6[T0, T1, T2, T3, T4, T5]) Reset() + type FnLink struct + func NewFnLink() *FnLink + func (l *FnLink) Del(fn util.Fn) + func (l *FnLink) Dispose() + func (l *FnLink) Invoke() bool + func (l *FnLink) InvokeAndReset() bool + func (l *FnLink) Reset() + type FnLink1 struct + func NewFnLink1[T any]() *FnLink1[T] + func (l *FnLink1[T]) Del(fn func(T)) + func (l *FnLink1[T]) Invoke(obj T) + func (l *FnLink1[T]) Reset() + type FnLink2 struct + func NewFnLink2[T0, T1 any]() *FnLink2[T0, T1] + func (l *FnLink2[T0, T1]) Del(fn func(T0, T1)) + func (l *FnLink2[T0, T1]) Invoke(v0 T0, v1 T1) + func (l *FnLink2[T0, T1]) Reset() + type FnLink3 struct + func NewFnLink3[T0, T1, T2 any]() *FnLink3[T0, T1, T2] + func (l *FnLink3[T0, T1, T2]) Del(fn func(T0, T1, T2)) + func (l *FnLink3[T0, T1, T2]) Invoke(v0 T0, v1 T1, v2 T2) + func (l *FnLink3[T0, T1, T2]) Reset() + type FnLink4 struct + func NewFnLink4[T0, T1, T2, T3 any]() *FnLink4[T0, T1, T2, T3] + func (l *FnLink4[T0, T1, T2, T3]) Del(fn func(T0, T1, T2, T3)) + func (l *FnLink4[T0, T1, T2, T3]) Invoke(v0 T0, v1 T1, v2 T2, v3 T3) + func (l *FnLink4[T0, T1, T2, T3]) Reset() + type FnLink5 struct + func NewFnLink5[T0, T1, T2, T3, T4 any]() *FnLink5[T0, T1, T2, T3, T4] + func (l *FnLink5[T0, T1, T2, T3, T4]) Del(fn func(T0, T1, T2, T3, T4)) + func (l *FnLink5[T0, T1, T2, T3, T4]) Invoke(v0 T0, v1 T1, v2 T2, v3 T3, v4 T4) + func (l *FnLink5[T0, T1, T2, T3, T4]) Reset() + type FnLink6 struct + func NewFnLink6[T0, T1, T2, T3, T4, T5 any]() *FnLink6[T0, T1, T2, T3, T4, T5] + func (l *FnLink6[T0, T1, T2, T3, T4, T5]) Del(fn func(T0, T1, T2, T3, T4, T5)) + func (l *FnLink6[T0, T1, T2, T3, T4, T5]) Invoke(v0 T0, v1 T1, v2 T2, v3 T3, v4 T4, v5 T5) + func (l *FnLink6[T0, T1, T2, T3, T4, T5]) Reset() + type IdLink struct + func NewIdLink[KT comparable, VT any]() *IdLink[KT, VT] + func (q *IdLink[KT, VT]) Id() KT + func (q *IdLink[KT, VT]) PopAll() *LinkElem[VT] + func (q *IdLink[KT, VT]) Push(val VT) + func (q *IdLink[KT, VT]) SetId(id KT) + type KSet struct + func NewKSet[KT comparable, VT any](defCap int, getKey func(VT) KT) *KSet[KT, VT] + func NewSet[KT comparable, VT any](defCap int) *KSet[KT, *SetItem[KT, VT]] + func (s *KSet[KT, VT]) Add(item VT) *util.Err + func (s *KSet[KT, VT]) AddNX(item VT) bool + func (s *KSet[KT, VT]) AddNX2(key KT, new func() VT) bool + func (s *KSet[KT, VT]) Any(fn func(VT) bool) bool + func (s *KSet[KT, VT]) Cap() int + func (s *KSet[KT, VT]) CopyKeys(keys *[]KT) + func (s *KSet[KT, VT]) CopyValues(values *[]VT) + func (s *KSet[KT, VT]) Count() int + func (s *KSet[KT, VT]) Del(k KT) (val VT, exist bool) + func (s *KSet[KT, VT]) Get(key KT) (VT, bool) + func (s *KSet[KT, VT]) GetOrNew(key KT, new func() VT) (VT, bool) + func (s *KSet[KT, VT]) GetWithIdx(idx int) (VT, bool) + func (s *KSet[KT, VT]) Has(key KT) bool + func (s *KSet[KT, VT]) Iter(fn func(VT)) + func (s *KSet[KT, VT]) ReplaceOrNew(oldKey KT, newItem VT) bool + func (s *KSet[KT, VT]) Reset() + func (s *KSet[KT, VT]) Set(item VT) (old VT) + func (s *KSet[KT, VT]) TestDel(test func(KT, VT) (del bool, brk bool)) + func (s *KSet[KT, VT]) Values() []VT + type KSet2 struct + func NewKSet2[KT1, KT2 comparable, VT any](defCap int, getKey func(VT) KT2) *KSet2[KT1, KT2, VT] + func (s *KSet2[KT1, KT2, VT]) ReplaceKey(old, new KT1) bool + type Link struct + func NewLink[T any]() *Link[T] + func (l *Link[T]) Any(fn func(T) bool) bool + func (l *Link[T]) Copy(lnk *Link[T]) + func (l *Link[T]) Count() uint32 + func (l *Link[T]) Del(fn func(T) bool) bool + func (l *Link[T]) Dispose() + func (l *Link[T]) Head() (T, bool) + func (l *Link[T]) Insert(a T, fn func(T) bool) + func (l *Link[T]) Iter(fn func(T)) + func (l *Link[T]) Pop() (T, bool) + func (l *Link[T]) PopAll() *LinkElem[T] + func (l *Link[T]) Push(a T) + func (l *Link[T]) PushLink(lnk *Link[T]) + func (l *Link[T]) Tail() (T, bool) + func (l *Link[T]) Values(values *[]T) bool + type Link2 struct + func NewLink2[T comparable]() *Link2[T] + func (l *Link2[T]) Count() uint32 + func (l *Link2[T]) Del(item T) bool + func (l *Link2[T]) Iter(fn func([]T)) + func (l *Link2[T]) IterAndReset(fn func([]T)) + func (l *Link2[T]) Push(item T) + func (l *Link2[T]) Reset() + type LinkElem struct + Next *LinkElem[T] + Value T + type List struct + func NewList[T comparable](defCap int) *List[T] + func (a *List) Add(item T) + func (a *List) AddRange(items ...T) + func (a *List) Clear() + func (a *List) Count() int + func (a *List) HasItem(item T) bool + func (a *List) Reset() + func (a *List) Values() []T + func (l *List[T]) Del(v T) (exist bool) + type RBTree struct + func NewRBTreeFromM[KT comparable, VT any](m map[KT]VT, compare util.Compare[KT]) *RBTree[KT, VT] + func NewRBTree[KT comparable, VT any](compare util.Compare[KT]) *RBTree[KT, VT] + func (t *RBTree[KT, VT]) AnyAsc(fn func(KT, VT) bool) bool + func (t *RBTree[KT, VT]) AnyAscFrom(k KT, fn func(KT, VT) bool) (match bool, ok bool) + func (t *RBTree[KT, VT]) AnyDesc(fn func(KT, VT) bool) bool + func (t *RBTree[KT, VT]) AnyDescFrom(k KT, fn func(KT, VT) bool) (match bool, ok bool) + func (t *RBTree[KT, VT]) Del(key KT) (value VT) + func (t *RBTree[KT, VT]) Get(k KT) (VT, bool) + func (t *RBTree[KT, VT]) M() map[KT]VT + func (t *RBTree[KT, VT]) Reset() + func (t *RBTree[KT, VT]) Set(k KT, v VT) + func (t *RBTree[KT, VT]) Update(m map[KT]VT) + type RBTreeNode struct + Key KT + Value VT + type Ring struct + func NewRing[T any](opts ...RingOption[T]) *Ring[T] + func (r *Ring[T]) Available() uint32 + func (r *Ring[T]) Iter(fn func([]T)) + func (r *Ring[T]) IterAll(fn func(T)) + func (r *Ring[T]) Pop() (item T, err *util.Err) + func (r *Ring[T]) Put(items ...T) *util.Err + func (r *Ring[T]) Read(s []T, l uint32) *util.Err + func (r *Ring[T]) ReadMax(s []T) uint32 + func (r *Ring[T]) Reset() + type RingOption func(o *ringOption[T]) + func RingMaxCap[T any](c uint32) RingOption[T] + func RingMinCap[T any](c uint32) RingOption[T] + func RingResize[T any](r func(uint32)) RingOption[T] + type Set2Item struct + func NewSet2Item[KT1, KT2 comparable, VT any](key KT1, defCap int, getKey func(VT) KT2) *Set2Item[KT1, KT2, VT] + func (s *Set2Item[KT1, KT2, VT]) Key() KT1 + type SetItem struct + func NewSetItem[KT comparable, VT any](defCap int, key KT, getKey func(VT) KT) *SetItem[KT, VT] + func (s *SetItem[KT, VT]) ResetKey(key KT) + type SetLink struct + func NewSetLink[KT comparable, VT any](cap int, opts ...DLinkOption[KT, VT]) *SetLink[KT, VT] + func (l *SetLink[KT, VT]) Any(fn func(VT) bool) bool + func (l *SetLink[KT, VT]) Count() int + func (l *SetLink[KT, VT]) Del(test func(VT) bool) (VT, bool) + func (l *SetLink[KT, VT]) Get(key KT) (VT, bool) + func (l *SetLink[KT, VT]) Iter(fn func(VT)) + func (l *SetLink[KT, VT]) NewOrUpdate(key KT, update func(VT), new func() VT) (exist bool) + func (l *SetLink[KT, VT]) Pop() (VT, bool) + func (l *SetLink[KT, VT]) Push(val VT) bool + func (l *SetLink[KT, VT]) Remove(val VT) + func (l *SetLink[KT, VT]) RemoveByKey(key KT) + func (l *SetLink[KT, VT]) Values() []VT + type SetLinkElem struct + Value T + func (n *SetLinkElem[T]) Dispose()