Versions in this module Expand all Collapse all v0 v0.0.3 Oct 22, 2024 Changes in this version + func IndexOfValueInMultimap[T comparable, Q comparable](mm *MultiMap[T, Q], key T, value Q) int type MultiMap + func (mm *MultiMap[T, Q]) Clone() *MultiMap[T, Q] + func (mm *MultiMap[T, Q]) CountOf(key T) int + func (mm *MultiMap[T, Q]) Set(key T, values []Q) v0.0.2 Jun 3, 2024 Changes in this version + type CountingMultiMap struct + func NewCountingMultiMap[T comparable, Q comparable]() *CountingMultiMap[T, Q] + func (cmm *CountingMultiMap[T, Q]) Add(key T, value Q) bool + func (cmm *CountingMultiMap[T, Q]) Remove(key T, value Q) + type MultiMap struct + func NewMultiMapWithCap[T comparable, Q any](capacity uint32) *MultiMap[T, Q] + func NewMultiMap[T comparable, Q any]() *MultiMap[T, Q] + func (mm *MultiMap[T, Q]) Add(key T, item Q) + func (mm *MultiMap[T, Q]) AsReadOnly() ReadOnlyMultimap[T, Q] + func (mm *MultiMap[T, Q]) Clear() + func (mm *MultiMap[T, Q]) Get(key T) ([]Q, bool) + func (mm *MultiMap[T, Q]) Has(key T) bool + func (mm *MultiMap[T, Q]) IsEmpty() bool + func (mm *MultiMap[T, Q]) Keys() []T + func (mm *MultiMap[T, Q]) Len() int + func (mm *MultiMap[T, Q]) RemoveKey(key T) + func (mm MultiMap[T, Q]) Values() []Q + type ReadOnlyMultimap interface + Get func(key T) ([]Q, bool) + Has func(key T) bool + IsEmpty func() bool + Keys func() []T + Len func() int + Values func() []Q + type Set struct + func NewSet[T comparable](items ...T) *Set[T] + func (s *Set[T]) Add(value T) bool + func (s *Set[T]) AsSlice() []T + func (s *Set[T]) Copy() *Set[T] + func (s *Set[T]) Delete(value T) + func (s *Set[T]) Equal(other *Set[T]) bool + func (s *Set[T]) Extend(values []T) + func (s *Set[T]) ForEach(callback func(value T) error) error + func (s *Set[T]) Has(value T) bool + func (s *Set[T]) Insert(value T) + func (s *Set[T]) Intersect(other *Set[T]) *Set[T] + func (s *Set[T]) IntersectionDifference(other *Set[T]) *Set[T] + func (s *Set[T]) IsEmpty() bool + func (s *Set[T]) Len() int + func (s *Set[T]) MarshalZerologObject(e *zerolog.Event) + func (s *Set[T]) Merge(other *Set[T]) + func (s *Set[T]) RemoveAll(other *Set[T]) + func (s *Set[T]) Subtract(other *Set[T]) *Set[T] + func (s *Set[T]) Union(other *Set[T]) *Set[T]