Documentation ¶
Index ¶
- type Empty
- type Set
- func (s Set[T]) Clear() Set[T]
- func (s Set[T]) Clone() Set[T]
- func (s Set[E]) Delete(items ...E) Set[E]
- func (s Set[E]) Difference(s2 Set[E]) Set[E]
- func (s Set[E]) Equal(s2 Set[E]) bool
- func (s Set[E]) Has(item E) bool
- func (s Set[E]) HasAll(items ...E) bool
- func (s Set[E]) HasAny(items ...E) bool
- func (s Set[E]) Insert(items ...E) Set[E]
- func (s Set[E]) Intersection(s2 Set[E]) Set[E]
- func (s Set[E]) IsSuperset(s2 Set[E]) bool
- func (s Set[E]) Len() int
- func (s Set[E]) PopAny() (E, bool)
- func (s Set[E]) SortedList() []E
- func (s Set[T]) SymmetricDifference(s2 Set[T]) Set[T]
- func (s Set[E]) Union(s2 Set[E]) Set[E]
- func (s Set[E]) UnsortedList() []E
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Empty ¶
type Empty struct{}
Empty is public since it is used by some internal API objects for conversions between external string arrays and internal sets, and conversion logic requires public types today.
type Set ¶
type Set[E ordered] map[E]Empty
Set is a set of the same type elements, implemented via map[ordered]struct{} for minimal memory consumption.
func (Set[T]) Clear ¶
Clear empties the set. It is preferable to replace the set with a newly constructed set, but not all callers can do that (when there are other references to the map).
func (Set[E]) Difference ¶
Difference returns a set of objects that are not in s2 For example: s1 = {a1, a2, a3} s2 = {a1, a2, a4, a5} s1.Difference(s2) = {a3} s2.Difference(s1) = {a4, a5}
func (Set[E]) Equal ¶
Equal returns true if and only if s1 is equal (as a set) to s2. Two sets are equal if their membership is identical.
func (Set[E]) Intersection ¶
Intersection returns a new set which includes the item in BOTH s1 and s2 For example: s1 = {a1, a2} s2 = {a2, a3} s1.Intersection(s2) = {a2}
func (Set[E]) IsSuperset ¶
IsSuperset returns true if and only if s1 is a superset of s2.
func (Set[E]) SortedList ¶
func (s Set[E]) SortedList() []E
SortedList returns the contents as a sorted slice.
func (Set[T]) SymmetricDifference ¶
SymmetricDifference returns a set of elements which are in either of the sets, but not in their intersection. For example: s1 = {a1, a2, a3} s2 = {a1, a2, a4, a5} s1.SymmetricDifference(s2) = {a3, a4, a5} s2.SymmetricDifference(s1) = {a3, a4, a5}
func (Set[E]) Union ¶
Union returns a new set which includes items in either s1 or s2. For example: s1 = {a1, a2} s2 = {a3, a4} s1.Union(s2) = {a1, a2, a3, a4} s2.Union(s1) = {a1, a2, a3, a4}
func (Set[E]) UnsortedList ¶
func (s Set[E]) UnsortedList() []E
UnsortedList returns the slice with contents in random order.