collection

package
v0.6.3 Latest Latest
Warning

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

Go to latest
Published: Apr 3, 2024 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FirstOrDefault

func FirstOrDefault[T any](ds []T, df T) T

func JoinOf added in v0.6.3

func JoinOf[T any](t []T, sep string, fn func(T) string) string

func UnwrapError

func UnwrapError(err error) []error

Types

type Set

type Set[T comparable] map[T]void

func NewSet

func NewSet[T comparable](values ...T) Set[T]

func NewSetFn

func NewSetFn[T comparable, Y any](values []Y, fn func(Y) T) Set[T]

func (Set[T]) Add

func (s Set[T]) Add(t T)

func (Set[T]) Delete

func (s Set[T]) Delete(t T) (ok bool)

func (Set[T]) Has

func (s Set[T]) Has(t T) (ok bool)

func (Set[T]) Range

func (s Set[T]) Range(fn func(T) bool)

func (Set[T]) Size

func (s Set[T]) Size() int

func (Set[T]) Values

func (s Set[T]) Values() []T

type SyncMap

type SyncMap[T comparable, S any] struct {
	// contains filtered or unexported fields
}

func NewSyncMap

func NewSyncMap[T comparable, S any]() *SyncMap[T, S]

func (*SyncMap[T, S]) Delete

func (s *SyncMap[T, S]) Delete(k T)

func (*SyncMap[T, S]) Load

func (s *SyncMap[T, S]) Load(k T) (S, bool)

func (*SyncMap[T, S]) LoadOrStore

func (s *SyncMap[T, S]) LoadOrStore(k T, v S) S

func (*SyncMap[T, S]) Range

func (s *SyncMap[T, S]) Range(f func(T, S) bool)

func (*SyncMap[T, S]) Store

func (s *SyncMap[T, S]) Store(k T, v S)

func (*SyncMap[T, S]) Swap

func (s *SyncMap[T, S]) Swap(k T, v S)

type SyncQueue

type SyncQueue[T any] struct {
	// contains filtered or unexported fields
}

TODO: improve it. This queue implementation is very rudimentary and only used for testing.

func NewSyncQueue

func NewSyncQueue[T any]() *SyncQueue[T]

func (*SyncQueue[T]) Clear

func (s *SyncQueue[T]) Clear()

func (*SyncQueue[T]) Dequeue

func (s *SyncQueue[T]) Dequeue() T

func (*SyncQueue[T]) DequeueAll

func (s *SyncQueue[T]) DequeueAll() []T

func (*SyncQueue[T]) DequeueN

func (s *SyncQueue[T]) DequeueN(n int) []T

func (*SyncQueue[T]) Peek

func (s *SyncQueue[T]) Peek() T

func (*SyncQueue[T]) PeekSlice

func (s *SyncQueue[T]) PeekSlice(n int) []T

func (*SyncQueue[T]) Queue

func (s *SyncQueue[T]) Queue(t T)

func (*SyncQueue[T]) Size

func (s *SyncQueue[T]) Size() int

Jump to

Keyboard shortcuts

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