Skylib module containing common hash-set algorithms.
An empty set can be created using: sets.make(), or it can be created with some starting values if you pass it an sequence: sets.make([1, 2, 3]). This returns a struct containing all of the values as keys in a dictionary - this means that all passed in values must be hashable.  The values in the set can be retrieved using sets.to_list(my_set).
An arbitrary object can be tested whether it is a set generated by sets.make() or not with the types.is_set() method in types.bzl.
Checks for the existence of an element in a set.
PARAMETERS
| Name | Description | Default Value | 
|---|---|---|
| a | A set, as returned by sets.make(). | none | 
| e | The element to look for. | none | 
RETURNS
True if the element exists in the set, False if the element does not.
Creates a new set from another set.
PARAMETERS
| Name | Description | Default Value | 
|---|---|---|
| s | A set, as returned by sets.make(). | none | 
RETURNS
A new set containing the same elements as s.
Returns the elements in a that are not in b.
PARAMETERS
| Name | Description | Default Value | 
|---|---|---|
| a | A set, as returned by sets.make(). | none | 
| b | A set, as returned by sets.make(). | none | 
RETURNS
A set containing the elements that are in a but not in b.
Returns whether two sets are disjoint.
Two sets are disjoint if they have no elements in common.
PARAMETERS
| Name | Description | Default Value | 
|---|---|---|
| a | A set, as returned by sets.make(). | none | 
| b | A set, as returned by sets.make(). | none | 
RETURNS
True if a and b are disjoint, False otherwise.
Inserts an element into the set.
Element must be hashable. This mutates the original set.
PARAMETERS
| Name | Description | Default Value | 
|---|---|---|
| s | A set, as returned by sets.make(). | none | 
| e | The element to be inserted. | none | 
RETURNS
The set s with e included.
Returns the intersection of two sets.
PARAMETERS
| Name | Description | Default Value | 
|---|---|---|
| a | A set, as returned by sets.make(). | none | 
| b | A set, as returned by sets.make(). | none | 
RETURNS
A set containing the elements that are in both a and b.
Returns whether two sets are equal.
PARAMETERS
| Name | Description | Default Value | 
|---|---|---|
| a | A set, as returned by sets.make(). | none | 
| b | A set, as returned by sets.make(). | none | 
RETURNS
True if a is equal to b, False otherwise.
Returns whether a is a subset of b.
PARAMETERS
| Name | Description | Default Value | 
|---|---|---|
| a | A set, as returned by sets.make(). | none | 
| b | A set, as returned by sets.make(). | none | 
RETURNS
True if a is a subset of b, False otherwise.
Returns the number of elements in a set.
PARAMETERS
| Name | Description | Default Value | 
|---|---|---|
| s | A set, as returned by sets.make(). | none | 
RETURNS
An integer representing the number of elements in the set.
Creates a new set.
All elements must be hashable.
PARAMETERS
| Name | Description | Default Value | 
|---|---|---|
| elements | Optional sequence to construct the set out of. | None | 
RETURNS
A set containing the passed in values.
Removes an element from the set.
Element must be hashable. This mutates the original set.
PARAMETERS
| Name | Description | Default Value | 
|---|---|---|
| s | A set, as returned by sets.make(). | none | 
| e | The element to be removed. | none | 
RETURNS
The set s with e removed.
Returns a string value representing the set.
PARAMETERS
| Name | Description | Default Value | 
|---|---|---|
| s | A set, as returned by sets.make(). | none | 
RETURNS
A string representing the set.
Returns a string value representing the set.
PARAMETERS
| Name | Description | Default Value | 
|---|---|---|
| s | A set, as returned by sets.make(). | none | 
RETURNS
A string representing the set.
Creates a list from the values in the set.
PARAMETERS
| Name | Description | Default Value | 
|---|---|---|
| s | A set, as returned by sets.make(). | none | 
RETURNS
A list of values inserted into the set.
Returns the union of several sets.
PARAMETERS
| Name | Description | Default Value | 
|---|---|---|
| args | An arbitrary number of sets. | none | 
RETURNS
The set union of all sets in *args.