sets

package
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Dec 10, 2024 License: Apache-2.0 Imports: 7 Imported by: 17

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrorSetFull = fmt.Errorf("set Is Full")

Functions

This section is empty.

Types

type ArraySet added in v1.1.2

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

func NewArraySet added in v1.1.2

func NewArraySet[T any](size int64, val ...T) (*ArraySet[T], error)

func (*ArraySet[T]) Append added in v1.1.2

func (s *ArraySet[T]) Append(values ...T) error

func (*ArraySet[T]) CallFullCallback added in v1.1.2

func (s *ArraySet[T]) CallFullCallback() error

func (*ArraySet[T]) Include added in v1.1.2

func (s *ArraySet[T]) Include(value T) bool

func (*ArraySet[T]) Index added in v1.1.2

func (s *ArraySet[T]) Index(value T) int

func (*ArraySet[T]) Length added in v1.1.2

func (s *ArraySet[T]) Length() int64

func (*ArraySet[T]) List added in v1.1.2

func (s *ArraySet[T]) List() []T

func (*ArraySet[T]) Reset added in v1.1.2

func (s *ArraySet[T]) Reset()

func (*ArraySet[T]) SetFullCallback added in v1.1.2

func (s *ArraySet[T]) SetFullCallback(call func([]T, int64) error)

func (*ArraySet[T]) Size added in v1.1.2

func (s *ArraySet[T]) Size() int64

type Comparable

type Comparable interface {
	~int | ~int8 | ~int16 | ~int32 | ~int64 |
		~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 |
		~float32 | ~float64 | ~string
}

type IPNet added in v1.1.0

type IPNet struct {
	*net.IPNet
	// contains filtered or unexported fields
}

func ParseIPNet added in v1.2.3

func ParseIPNet(netStr string) (IPNet, error)

func (IPNet) MarshalJSON added in v1.2.4

func (n IPNet) MarshalJSON() ([]byte, error)

func (*IPNet) UnmarshalJSON added in v1.1.0

func (n *IPNet) UnmarshalJSON(raw []byte) (err error)

type IPNets added in v1.1.0

type IPNets []IPNet

func (IPNets) Contains added in v1.1.0

func (s IPNets) Contains(ip net.IP) bool

type Set

type Set[T Comparable] map[T]int

func New

func New[T Comparable](items ...T) Set[T]

func (Set[T]) Clone

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

Clone Clone a set

func (Set[T]) Delete

func (s Set[T]) Delete(items ...T) Set[T]

Delete removes all items from the set.

func (Set[T]) Difference

func (s Set[T]) Difference(s2 Set[T]) Set[T]

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[T]) Equal

func (s Set[T]) Equal(s2 Set[T]) bool

Equal returns true if and only if s1 is equal (as a set) to s2. Two sets are equal if their membership is identical. (In practice, this means same elements, order doesn't matter)

func (Set[T]) Has

func (s Set[T]) Has(item T) bool

Has returns true if and only if item is contained in the set.

func (Set[T]) HasAll

func (s Set[T]) HasAll(items ...T) bool

HasAll returns true if and only if all items are contained in the set.

func (Set[T]) HasAny

func (s Set[T]) HasAny(items ...T) bool

HasAny returns true if any items are contained in the set.

func (Set[T]) Insert

func (s Set[T]) Insert(items ...T) Set[T]

Insert adds items to the set.

func (Set[T]) Intersection

func (s Set[T]) Intersection(s2 Set[T]) Set[T]

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[T]) IsSuperset

func (s Set[T]) IsSuperset(s2 Set[T]) bool

IsSuperset returns true if and only if s1 is a superset of s2.

func (Set[T]) Len

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

Len returns the size of the set.

func (Set[T]) List

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

List returns the contents as a sorted string slice.

func (Set[T]) PopAny

func (s Set[T]) PopAny() (T, bool)

PopAny returns a single element from the set.

func (Set[T]) SortedList

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

SortedList returns the slice with contents in random order.

func (Set[T]) String

func (s Set[T]) String() string

func (Set[T]) Union

func (s Set[T]) Union(s2 Set[T]) Set[T]

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}

Jump to

Keyboard shortcuts

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