Documentation
¶
Overview ¶
replacing this with `https://pkg.go.dev/golang.org/x/exp/maps` should be considered when `x/exp/maps` graduates to stable.
Index ¶
- func Contains[K, V comparable, A ~map[K]V, B ~map[K]V](a A, b B) bool
- func DeepCopySets[T comparable](src map[string]sets.Set[T]) map[string]sets.Set[T]
- func FilterKeys[K comparable, V any, M ~map[K]V](m M, k []K) M
- func HaveConflict[K comparable, V comparable, S ~map[K]V](a, b S) error
- func Intersect[K comparable, V any, M ~map[K]V](a, b M, commonKeyValue func(a, b V) V) M
- func Keys[K comparable, V any, M ~map[K]V](m M) []K
- func Merge[K comparable, V any, S ~map[K]V](a, b S, commonKeyValue func(a, b V) V) S
- func MergeKeepFirst[K comparable, V any, S ~map[K]V](a, b S) S
- type SyncMap
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Contains ¶ added in v0.5.0
func Contains[K, V comparable, A ~map[K]V, B ~map[K]V](a A, b B) bool
Contains returns true if a contains all the keys in b with the same value
func DeepCopySets ¶ added in v0.7.0
DeepCopySets create a deep copy of map[string]Set which would otherwise be referenced
func FilterKeys ¶ added in v0.7.0
func FilterKeys[K comparable, V any, M ~map[K]V](m M, k []K) M
Filter returns a sub-map containing only keys from the given list
func HaveConflict ¶ added in v0.5.0
func HaveConflict[K comparable, V comparable, S ~map[K]V](a, b S) error
HaveConflict checks if a and b have the same key, but different value
func Intersect ¶ added in v0.5.0
func Intersect[K comparable, V any, M ~map[K]V](a, b M, commonKeyValue func(a, b V) V) M
Intersect returns the intersection of a and b with the values generated by calling commonKeyValue
func Keys ¶ added in v0.5.0
func Keys[K comparable, V any, M ~map[K]V](m M) []K
Keys returns a slice containing the m keys
func Merge ¶
func Merge[K comparable, V any, S ~map[K]V](a, b S, commonKeyValue func(a, b V) V) S
Merge merges a and b while resolving the conflicts by calling commonKeyValue
func MergeKeepFirst ¶
func MergeKeepFirst[K comparable, V any, S ~map[K]V](a, b S) S
MergeKeepFirst merges a and b keeping the values in a in case of conflict
Types ¶
type SyncMap ¶ added in v0.7.1
type SyncMap[K comparable, V any] struct { // contains filtered or unexported fields }
SyncMap - generic RWMutex protected map.
func NewSyncMap ¶ added in v0.7.1
func NewSyncMap[K comparable, V any](size int) *SyncMap[K, V]