Documentation

Overview

    Package set provides integer and graph.Node sets.

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    func Equal

    func Equal(a, b Nodes) bool

      Equal reports set equality between the parameters. Sets are equal if and only if they have the same elements.

      func Int64sEqual

      func Int64sEqual(a, b Int64s) bool

        Int64sEqual reports set equality between the parameters. Sets are equal if and only if they have the same elements.

        func IntsEqual

        func IntsEqual(a, b Ints) bool

          IntsEqual reports set equality between the parameters. Sets are equal if and only if they have the same elements.

          Types

          type Int64s

          type Int64s map[int64]struct{}

            Int64s is a set of int64 identifiers.

            func (Int64s) Add

            func (s Int64s) Add(e int64)

              Add inserts an element into the set.

              func (Int64s) Count

              func (s Int64s) Count() int

                Count reports the number of elements stored in the set.

                func (Int64s) Has

                func (s Int64s) Has(e int64) bool

                  Has reports the existence of the element in the set.

                  func (Int64s) Remove

                  func (s Int64s) Remove(e int64)

                    Remove deletes the specified element from the set.

                    type Ints

                    type Ints map[int]struct{}

                      Ints is a set of int identifiers.

                      func (Ints) Add

                      func (s Ints) Add(e int)

                        Add inserts an element into the set.

                        func (Ints) Count

                        func (s Ints) Count() int

                          Count reports the number of elements stored in the set.

                          func (Ints) Has

                          func (s Ints) Has(e int) bool

                            Has reports the existence of the element in the set.

                            func (Ints) Remove

                            func (s Ints) Remove(e int)

                              Remove deletes the specified element from the set.

                              type Nodes

                              type Nodes map[int64]graph.Node

                                Nodes is a set of nodes keyed in their integer identifiers.

                                func CloneNodes

                                func CloneNodes(src Nodes) Nodes

                                  CloneNodes returns a clone of src.

                                  func IntersectionOfNodes

                                  func IntersectionOfNodes(a, b Nodes) Nodes

                                    IntersectionOfNodes returns the intersection of a and b.

                                    The intersection of two sets, a and b, is the set containing all the elements shared between the two sets, for instance:

                                    {a,b,c} INTERSECT {b,c,d} = {b,c}
                                    

                                    The intersection between a set and itself is itself, and thus effectively a copy operation:

                                    {a,b,c} INTERSECT {a,b,c} = {a,b,c}
                                    

                                    The intersection between two sets that share no elements is the empty set:

                                    {a,b,c} INTERSECT {d,e,f} = {}
                                    

                                    func NewNodes

                                    func NewNodes() Nodes

                                      NewNodes returns a new Nodes.

                                      func NewNodesSize

                                      func NewNodesSize(n int) Nodes

                                        NewNodes returns a new Nodes with the given size hint, n.

                                        func UnionOfNodes

                                        func UnionOfNodes(a, b Nodes) Nodes

                                          UnionOfNodes returns the union of a and b.

                                          The union of two sets, a and b, is the set containing all the elements of each, for instance:

                                          {a,b,c} UNION {d,e,f} = {a,b,c,d,e,f}
                                          

                                          Since sets may not have repetition, unions of two sets that overlap do not contain repeat elements, that is:

                                          {a,b,c} UNION {b,c,d} = {a,b,c,d}
                                          

                                          func (Nodes) Add

                                          func (s Nodes) Add(n graph.Node)

                                            Add inserts an element into the set.

                                            func (Nodes) Count

                                            func (s Nodes) Count() int

                                              Count returns the number of element in the set.

                                              func (Nodes) Has

                                              func (s Nodes) Has(n graph.Node) bool

                                                Has reports the existence of the elements in the set.

                                                func (Nodes) Remove

                                                func (s Nodes) Remove(e graph.Node)

                                                  Remove deletes the specified element from the set.