Standard library
Set
Hash set with mixed members.
Introduction
Hash set with mixed members. Import std/collections/set to bind the module as set. Call free functions as set.name(...). Struct methods use a receiver value.
/ std/collections/set
This page is the package reference for std/collections/set. Private helpers used only by co-located tests are not listed.
Struct · set
Set shape with add and has methods. The shape is exported as set.set. Methods on the receiver are listed next.
/ std/collections/set
; shape: set.set
$ s = set.make()
Parameters: No parameters. Type or shape export. Returns: Shape export used for literals and methods.
set · seed
Sets SipHash key halves on an empty set. Reseeding a non-empty set fails with a result err. Call form: set.seed(k0, k1).
/ std/collections/set
$ s = set.make()
| s.seed(1, 2) {
$ _ { }
! e { }
}Parameters: k0: first key half. k1: second key half. Returns: Result. Ok arm: the set receiver. Err arm: "cannot reseed non-empty set".
set · add
Adds x to the set and returns the set for chaining. Adding an existing member is a no-op. Call form: set.add(x).
/ std/collections/set
$ s = set.make()
s.add(7)
Parameters: x: member value. Returns: The set receiver.
set · remove
Removes x if present. Call form: set.remove(x).
/ std/collections/set
$ s = set.make()
s.add(7)
$ gone = s.remove(7)
Parameters: x: member value. Returns: Boolean true when the element was present and removed.
set · has
Reports whether x is in the set. Call form: set.has(x).
/ std/collections/set
$ s = set.make()
$ ok = s.has(7)
Parameters: x: member value. Returns: Boolean.
set · len
Returns the number of members. Call form: set.len().
/ std/collections/set
$ s = set.make()
$ n = s.len()
Parameters: No parameters. Returns: Integer length.
set · is_empty
Reports whether the set has no members. Call form: set.is_empty().
/ std/collections/set
$ s = set.make()
$ empty = s.is_empty()
Parameters: No parameters. Returns: Boolean.
set · values
Returns a snapshot list of members. Order is undefined. Call form: set.values().
/ std/collections/set
$ s = set.make()
$ vs = s.values()
Parameters: No parameters. Returns: List of members.
set · to_list
Returns the same snapshot as values(), for for-in over the set. Call form: set.to_list().
/ std/collections/set
$ s = set.make()
s.add(1)
* x : s.to_list() { }Parameters: No parameters. Returns: List of members.
Functions
Free functions on set. Each function has a short description, an example, then parameters and return shape.
make
Creates an empty set. Call form: set.make().
/ std/collections/set
$ s = set.make()
Parameters: No parameters. Returns: Empty set value.
from_list
Builds a set from a list of values. Call form: set.from_list(ls).
/ std/collections/set
$ s = set.from_list([1, 2, 2])
Parameters: xs: list of values. Returns: Set value.