Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Float32Iterator ¶
type Float32Iterator struct {
C <-chan float32
// contains filtered or unexported fields
}
Iterator defines an iterator over a Set, its C channel can be used to range over the Set's elements.
func (*Float32Iterator) Stop ¶
func (i *Float32Iterator) Stop()
Stop stops the Float32Iterator, no further elements will be received on C, C will be closed.
type Float32Set ¶
type Float32Set interface {
// Adds an element to the set. Returns whether
// the item was added.
Add(i float32) bool
// Returns the number of elements in the set.
Cardinality() int
// Removes all elements from the set, leaving
// the empty set.
Clear()
// Returns a clone of the set using the same
// implementation, duplicating all keys.
Clone() Float32Set
// Returns whether the given items
// are all in the set.
Contains(i ...float32) bool
// Returns the difference between this set
// and other. The returned set will contain
// all elements of this set that are not also
// elements of other.
//
// Note that the argument to Difference
// must be of the same type as the receiver
// of the method. Otherwise, Difference will
// panic.
Difference(other Float32Set) Float32Set
// Determines if two sets are equal to each
// other. If they have the same cardinality
// and contain the same elements, they are
// considered equal. The order in which
// the elements were added is irrelevant.
//
// Note that the argument to Equal must be
// of the same type as the receiver of the
// method. Otherwise, Equal will panic.
Equal(other Float32Set) bool
// Returns a new set containing only the elements
// that exist only in both sets.
//
// Note that the argument to Intersect
// must be of the same type as the receiver
// of the method. Otherwise, Intersect will
// panic.
Intersect(other Float32Set) Float32Set
// Determines if every element in this set is in
// the other set but the two sets are not equal.
//
// Note that the argument to IsProperSubset
// must be of the same type as the receiver
// of the method. Otherwise, IsProperSubset
// will panic.
IsProperSubset(other Float32Set) bool
// Determines if every element in the other set
// is in this set but the two sets are not
// equal.
//
// Note that the argument to IsSuperset
// must be of the same type as the receiver
// of the method. Otherwise, IsSuperset will
// panic.
IsProperSuperset(other Float32Set) bool
// Determines if every element in this set is in
// the other set.
//
// Note that the argument to IsSubset
// must be of the same type as the receiver
// of the method. Otherwise, IsSubset will
// panic.
IsSubset(other Float32Set) bool
// Determines if every element in the other set
// is in this set.
//
// Note that the argument to IsSuperset
// must be of the same type as the receiver
// of the method. Otherwise, IsSuperset will
// panic.
IsSuperset(other Float32Set) bool
// Iterates over elements and executes the passed func against each element.
// If passed func returns true, stop iteration at the time.
Each(func(float32) bool)
// Returns a channel of elements that you can
// range over.
Iter() <-chan float32
// Returns an Iterator object that you can
// use to range over the set.
Iterator() *Float32Iterator
// Remove a single element from the set.
Remove(i float32)
// Provides a convenient string representation
// of the current state of the set.
String() string
// Returns a new set with all elements which are
// in either this set or the other set but not in both.
//
// Note that the argument to SymmetricDifference
// must be of the same type as the receiver
// of the method. Otherwise, SymmetricDifference
// will panic.
SymmetricDifference(other Float32Set) Float32Set
// same type as the receiver of the method.
// Otherwise, IsSuperset will panic.
Union(other Float32Set) Float32Set
// Pop removes and returns an arbitrary item from the set.
Pop() float32
// Returns the members of the set as a slice.
ToSlice() []float32
}
Float32Set is the primary interface provided by the mapset package. It represents an unordered set of data and a large number of operations that can be applied to that set.
func NewFloat32Set ¶
func NewFloat32Set(s ...float32) Float32Set
NewFloat32Set creates and returns a reference to an empty set. Operations on the resulting set are thread-safe.
func NewFloat32SetFromSlice ¶
func NewFloat32SetFromSlice(s []float32) Float32Set
NewFloat32SetFromSlice creates and returns a reference to a set from an existing slice. Operations on the resulting set are thread-safe.
func NewFloat32SetWith ¶
func NewFloat32SetWith(elts ...float32) Float32Set
NewFloat32SetWith creates and returns a new set with the given elements. Operations on the resulting set are thread-safe.
func NewThreadUnsafeFloat32Set ¶
func NewThreadUnsafeFloat32Set() Float32Set
NewThreadUnsafeFloat32Set creates and returns a reference to an empty set. Operations on the resulting set are not thread-safe.
func NewThreadUnsafeFloat32SetFromSlice ¶
func NewThreadUnsafeFloat32SetFromSlice(s []float32) Float32Set
NewThreadUnsafeFloat32SetFromSlice creates and returns a reference to a set from an existing slice. Operations on the resulting set are not thread-safe.
type OrderedPair ¶
An OrderedPair represents a 2-tuple of values.
func (*OrderedPair) Equal ¶
func (pair *OrderedPair) Equal(other OrderedPair) bool
Equal says whether two 2-tuples contain the same values in the same order.
func (OrderedPair) String ¶
func (pair OrderedPair) String() string
String outputs a 2-tuple in the form "(A, B)".