Documentation ¶
Index ¶
- func All[T any](iter Iterator[T], fn func(elem T) bool) bool
- func Any[T any](iter Iterator[T], fn func(elem T) bool) bool
- func Fold[T, U any](iter Iterator[T], init U, fn func(acc U, elem T) U) U
- func ListBinaryContains[T constraints.Ordered](list List[T], elem T) bool
- func ListBinarySearch[T constraints.Ordered](list List[T], elem T) int
- func ListContains[T comparable](list List[T], elem T) bool
- func ListRemove[T comparable](list *List[T], elem T)
- func ListSearch[T comparable](list List[T], elem T) int
- func ScanIfWithIndex[T any](iter Iterator[T], fn func(index int, elem T) bool)
- func ScanWithIndex[T any](iter Iterator[T], fn func(index int, elem T))
- func Sort[T constraints.Ordered](list List[T])
- func SortBy[T any](list List[T], fn func(lhs, rhs T) bool)
- func SortStable[T constraints.Ordered](list List[T])
- func SortStableBy[T any](list List[T], fn func(lhs, rhs T) bool)
- type Heap
- type Iterator
- type List
- func Filter[T any](iter Iterator[T], fn func(elem T) bool) List[T]
- func FlatTrans[T, U any](iter Iterator[T], fn func(elem T) Iterator[U]) List[U]
- func ListOf[T any](iter Iterator[T]) List[T]
- func NewList[T any](args ...T) List[T]
- func Sorted[T constraints.Ordered](list List[T]) List[T]
- func SortedBy[T any](list List[T], fn func(lhs, rhs T) bool) List[T]
- func SortedStable[T constraints.Ordered](list List[T]) List[T]
- func SortedStableBy[T any](list List[T], fn func(lhs, rhs T) bool) List[T]
- func Trans[T, U any](iter Iterator[T], fn func(elem T) U) List[U]
- func Zip[T, U any](iterA Iterator[T], iterB Iterator[U]) List[Pair[T, U]]
- func (list *List[T]) Add(elem T)
- func (list *List[T]) AddIndex(index int, elem T)
- func (list *List[T]) Clear()
- func (list List[T]) Copy() List[T]
- func (list List[T]) IsEmpty() bool
- func (list List[T]) Len() int
- func (list *List[T]) RemoveIf(fn func(elem T) bool)
- func (list *List[T]) RemoveIndex(index int)
- func (list *List[T]) RemoveLast()
- func (list *List[T]) RemoveSwap(index int)
- func (list List[T]) Scan(fn func(elem T))
- func (list List[T]) ScanIV(fn func(index int, elem T))
- func (list List[T]) ScanIf(fn func(elem T) bool)
- func (list List[T]) Shuffle()
- func (list List[T]) Shuffled() List[T]
- func (list List[T]) Swap(i, j int)
- type Map
- func GroupBy[T any, U comparable, V any](iter Iterator[T], keyFn func(T) U, valueFn func(T) V) Map[U, List[V]]
- func MapBy[T comparable, U any](iter Iterator[T], fn func(elem T) U) Map[T, U]
- func MapOf[T comparable, U any](iter Iterator[Pair[T, U]]) Map[T, U]
- func NewMap[T comparable, U any](args ...Pair[T, U]) Map[T, U]
- func (m Map[T, U]) Add(key T, value U)
- func (m Map[T, U]) AddAll(iter Iterator[Pair[T, U]])
- func (m *Map[T, U]) Clear()
- func (m Map[T, U]) Contains(key T) bool
- func (m Map[T, U]) Copy() Map[T, U]
- func (m Map[T, U]) Get(key T) (U, bool)
- func (m Map[T, U]) IsEmpty() bool
- func (m Map[T, U]) Keys() List[T]
- func (m Map[T, U]) Len() int
- func (m Map[T, U]) Remove(key T)
- func (m Map[T, U]) RemoveAll(iter Iterator[T])
- func (m Map[T, U]) Scan(fn func(entry Pair[T, U]))
- func (m Map[T, U]) ScanIf(fn func(entry Pair[T, U]) bool)
- func (m Map[T, U]) ScanKV(fn func(k T, v U))
- func (m Map[T, U]) ScanKVIf(fn func(k T, v U) bool)
- func (m Map[T, U]) Values() List[U]
- func (m Map[T, U]) WithKey(key T, fn func(key T, value U)) int
- type OrderedMap
- func (m *OrderedMap[T, U]) Add(key T, value U)
- func (m *OrderedMap[T, U]) AddAll(iter Iterator[Pair[T, U]])
- func (m *OrderedMap[T, U]) Clear()
- func (m *OrderedMap[T, U]) Contains(key T) bool
- func (m *OrderedMap[T, U]) Copy() *OrderedMap[T, U]
- func (m *OrderedMap[T, U]) Get(key T) (U, bool)
- func (m *OrderedMap[T, U]) IsEmpty() bool
- func (m *OrderedMap[T, U]) Keys() List[T]
- func (m *OrderedMap[T, U]) Len() int
- func (m *OrderedMap[T, U]) Remove(key T)
- func (m *OrderedMap[T, U]) RemoveAll(iter Iterator[T])
- func (m *OrderedMap[T, U]) Scan(fn func(entry Pair[T, U]))
- func (m *OrderedMap[T, U]) ScanIKV(fn func(index int, key T, value U))
- func (m *OrderedMap[T, U]) ScanIf(fn func(entry Pair[T, U]) bool)
- func (m *OrderedMap[T, U]) ScanKV(fn func(key T, value U))
- func (m *OrderedMap[T, U]) ScanKVIf(fn func(key T, value U) bool)
- func (m *OrderedMap[T, U]) Values() List[U]
- func (m *OrderedMap[T, U]) WithKey(key T, fn func(key T, value U)) int
- func (m *OrderedMap[T, U]) WithKeyRange(keyLow T, keyHigh T, fn func(key T, value U)) (cnt int)
- type OrderedSet
- func (set *OrderedSet[T]) Add(elem T)
- func (set *OrderedSet[T]) Clear()
- func (set *OrderedSet[T]) Contains(elem T) bool
- func (set *OrderedSet[T]) Copy() *OrderedSet[T]
- func (m *OrderedSet[T]) GetAt(key int) (value T, err bool)
- func (set *OrderedSet[T]) Intersect(rhs *OrderedSet[T])
- func (set *OrderedSet[T]) Intersected(rhs *OrderedSet[T]) *OrderedSet[T]
- func (set *OrderedSet[T]) IsEmpty() bool
- func (set *OrderedSet[T]) Len() int
- func (set *OrderedSet[T]) Remove(elem T)
- func (set *OrderedSet[T]) Scan(fn func(elem T))
- func (set *OrderedSet[T]) ScanIV(fn func(i int, elem T))
- func (set *OrderedSet[T]) ScanIf(fn func(elem T) bool)
- func (set *OrderedSet[T]) Substract(rhs *OrderedSet[T])
- func (set *OrderedSet[T]) Substracted(rhs *OrderedSet[T]) *OrderedSet[T]
- func (set *OrderedSet[T]) Union(rhs *OrderedSet[T])
- func (set *OrderedSet[T]) Unioned(rhs *OrderedSet[T]) *OrderedSet[T]
- func (m *OrderedSet[T]) WithKey(key T, fn func(key T)) int
- func (m *OrderedSet[T]) WithKeyRange(keyLow T, keyHigh T, fn func(key T)) (cnt int)
- type Pair
- type Set
- func (set Set[T]) Add(elem T)
- func (set *Set[T]) Clear()
- func (set Set[T]) Contains(elem T) bool
- func (set Set[T]) Copy() Set[T]
- func (set Set[T]) Intersect(iter Iterator[T])
- func (set Set[T]) Intersected(iter Iterator[T]) Set[T]
- func (set Set[T]) IsEmpty() bool
- func (set Set[T]) Len() int
- func (set Set[T]) Remove(elem T)
- func (set Set[T]) Scan(fn func(elem T))
- func (set Set[T]) ScanIf(fn func(elem T) bool)
- func (set Set[T]) Substract(iter Iterator[T])
- func (set Set[T]) Substracted(iter Iterator[T]) Set[T]
- func (set Set[T]) Union(iter Iterator[T])
- func (set Set[T]) Unioned(iter Iterator[T]) Set[T]
- func (set Set[T]) WithKey(key T, fn func(key T)) int
- type ThreadSafeQueue
- type Triple
- type Tuple10
- type Tuple4
- type Tuple5
- type Tuple6
- type Tuple7
- type Tuple8
- type Tuple9
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ListBinaryContains ¶
func ListBinaryContains[T constraints.Ordered](list List[T], elem T) bool
func ListBinarySearch ¶
func ListBinarySearch[T constraints.Ordered](list List[T], elem T) int
func ListContains ¶
func ListContains[T comparable](list List[T], elem T) bool
func ListRemove ¶
func ListRemove[T comparable](list *List[T], elem T)
func ListSearch ¶
func ListSearch[T comparable](list List[T], elem T) int
func ScanIfWithIndex ¶
func ScanWithIndex ¶
func Sort ¶
func Sort[T constraints.Ordered](list List[T])
func SortStable ¶
func SortStable[T constraints.Ordered](list List[T])
func SortStableBy ¶
Types ¶
type Heap ¶
type Heap[T any] struct { // contains filtered or unexported fields }
func NewHeapLess ¶
func NewHeapLess[T constraints.Ordered]() *Heap[T]
type List ¶
type List[T any] []T
func SortedStable ¶
func SortedStable[T constraints.Ordered](list List[T]) List[T]
func (*List[T]) RemoveIndex ¶
func (*List[T]) RemoveLast ¶
func (list *List[T]) RemoveLast()
func (*List[T]) RemoveSwap ¶
type OrderedMap ¶
type OrderedMap[T constraints.Ordered, U any] struct { // contains filtered or unexported fields }
func NewOrderedMap ¶
func NewOrderedMap[T constraints.Ordered, U any](args ...Pair[T, U]) *OrderedMap[T, U]
func OrderedMapBy ¶
func OrderedMapBy[T constraints.Ordered, U any](iter Iterator[T], fn func(elem T) U) *OrderedMap[T, U]
func OrderedMapOf ¶
func OrderedMapOf[T constraints.Ordered, U any](iter Iterator[Pair[T, U]]) *OrderedMap[T, U]
func (*OrderedMap[T, U]) Add ¶
func (m *OrderedMap[T, U]) Add(key T, value U)
func (*OrderedMap[T, U]) AddAll ¶
func (m *OrderedMap[T, U]) AddAll(iter Iterator[Pair[T, U]])
func (*OrderedMap[T, U]) Clear ¶
func (m *OrderedMap[T, U]) Clear()
func (*OrderedMap[T, U]) Contains ¶
func (m *OrderedMap[T, U]) Contains(key T) bool
func (*OrderedMap[T, U]) Copy ¶
func (m *OrderedMap[T, U]) Copy() *OrderedMap[T, U]
func (*OrderedMap[T, U]) Get ¶
func (m *OrderedMap[T, U]) Get(key T) (U, bool)
func (*OrderedMap[T, U]) IsEmpty ¶
func (m *OrderedMap[T, U]) IsEmpty() bool
func (*OrderedMap[T, U]) Keys ¶
func (m *OrderedMap[T, U]) Keys() List[T]
func (*OrderedMap[T, U]) Len ¶
func (m *OrderedMap[T, U]) Len() int
func (*OrderedMap[T, U]) Remove ¶
func (m *OrderedMap[T, U]) Remove(key T)
func (*OrderedMap[T, U]) RemoveAll ¶
func (m *OrderedMap[T, U]) RemoveAll(iter Iterator[T])
func (*OrderedMap[T, U]) Scan ¶
func (m *OrderedMap[T, U]) Scan(fn func(entry Pair[T, U]))
func (*OrderedMap[T, U]) ScanIKV ¶
func (m *OrderedMap[T, U]) ScanIKV(fn func(index int, key T, value U))
func (*OrderedMap[T, U]) ScanIf ¶
func (m *OrderedMap[T, U]) ScanIf(fn func(entry Pair[T, U]) bool)
func (*OrderedMap[T, U]) ScanKV ¶
func (m *OrderedMap[T, U]) ScanKV(fn func(key T, value U))
func (*OrderedMap[T, U]) ScanKVIf ¶
func (m *OrderedMap[T, U]) ScanKVIf(fn func(key T, value U) bool)
func (*OrderedMap[T, U]) Values ¶
func (m *OrderedMap[T, U]) Values() List[U]
func (*OrderedMap[T, U]) WithKey ¶
func (m *OrderedMap[T, U]) WithKey(key T, fn func(key T, value U)) int
func (*OrderedMap[T, U]) WithKeyRange ¶
func (m *OrderedMap[T, U]) WithKeyRange(keyLow T, keyHigh T, fn func(key T, value U)) (cnt int)
TODO
type OrderedSet ¶
type OrderedSet[T constraints.Ordered] struct { // contains filtered or unexported fields }
func NewOrderedSet ¶
func NewOrderedSet[T constraints.Ordered](args ...T) *OrderedSet[T]
func OrderedSetOf ¶
func OrderedSetOf[T constraints.Ordered](iter Iterator[T]) *OrderedSet[T]
func (*OrderedSet[T]) Add ¶
func (set *OrderedSet[T]) Add(elem T)
func (*OrderedSet[T]) Clear ¶
func (set *OrderedSet[T]) Clear()
func (*OrderedSet[T]) Contains ¶
func (set *OrderedSet[T]) Contains(elem T) bool
func (*OrderedSet[T]) Copy ¶
func (set *OrderedSet[T]) Copy() *OrderedSet[T]
func (*OrderedSet[T]) GetAt ¶
func (m *OrderedSet[T]) GetAt(key int) (value T, err bool)
func (*OrderedSet[T]) Intersect ¶
func (set *OrderedSet[T]) Intersect(rhs *OrderedSet[T])
func (*OrderedSet[T]) Intersected ¶
func (set *OrderedSet[T]) Intersected(rhs *OrderedSet[T]) *OrderedSet[T]
func (*OrderedSet[T]) IsEmpty ¶
func (set *OrderedSet[T]) IsEmpty() bool
func (*OrderedSet[T]) Len ¶
func (set *OrderedSet[T]) Len() int
func (*OrderedSet[T]) Remove ¶
func (set *OrderedSet[T]) Remove(elem T)
func (*OrderedSet[T]) Scan ¶
func (set *OrderedSet[T]) Scan(fn func(elem T))
func (*OrderedSet[T]) ScanIV ¶
func (set *OrderedSet[T]) ScanIV(fn func(i int, elem T))
func (*OrderedSet[T]) ScanIf ¶
func (set *OrderedSet[T]) ScanIf(fn func(elem T) bool)
func (*OrderedSet[T]) Substract ¶
func (set *OrderedSet[T]) Substract(rhs *OrderedSet[T])
func (*OrderedSet[T]) Substracted ¶
func (set *OrderedSet[T]) Substracted(rhs *OrderedSet[T]) *OrderedSet[T]
func (*OrderedSet[T]) Union ¶
func (set *OrderedSet[T]) Union(rhs *OrderedSet[T])
func (*OrderedSet[T]) Unioned ¶
func (set *OrderedSet[T]) Unioned(rhs *OrderedSet[T]) *OrderedSet[T]
func (*OrderedSet[T]) WithKey ¶
func (m *OrderedSet[T]) WithKey(key T, fn func(key T)) int
func (*OrderedSet[T]) WithKeyRange ¶
func (m *OrderedSet[T]) WithKeyRange(keyLow T, keyHigh T, fn func(key T)) (cnt int)
TODO
type Set ¶
type Set[T comparable] map[T]struct{}
func NewSet ¶
func NewSet[T comparable](args ...T) Set[T]
func SetOf ¶
func SetOf[T comparable](iter Iterator[T]) Set[T]
func (Set[T]) Intersected ¶
func (Set[T]) Substracted ¶
type ThreadSafeQueue ¶
type ThreadSafeQueue[T any] struct { // contains filtered or unexported fields }
func NewThreadSafeQueue ¶
func NewThreadSafeQueue[T any]() (q *ThreadSafeQueue[T])
NewThreadSafeQueue creates a lock-free queue
func (*ThreadSafeQueue[T]) Deq ¶
func (q *ThreadSafeQueue[T]) Deq() (ret T)
func (*ThreadSafeQueue[T]) Empty ¶
func (q *ThreadSafeQueue[T]) Empty() bool
func (*ThreadSafeQueue[T]) Enq ¶
func (q *ThreadSafeQueue[T]) Enq(v T)
type Tuple10 ¶
type Tuple10[T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 any] struct { V0 T0 V1 T1 V2 T2 V3 T3 V4 T4 V5 T5 V6 T6 V7 T7 V8 T8 V9 T9 }
type Tuple6 ¶
type Tuple6[T0, T1, T2, T3, T4, T5 any] struct { V0 T0 V1 T1 V2 T2 V3 T3 V4 T4 V5 T5 }
type Tuple7 ¶
type Tuple7[T0, T1, T2, T3, T4, T5, T6 any] struct { V0 T0 V1 T1 V2 T2 V3 T3 V4 T4 V5 T5 V6 T6 }
Click to show internal directories.
Click to hide internal directories.