type IPNetSet … // ParseIPNets parses string slice to IPNetSet. func ParseIPNets(specs ...string) (IPNetSet, error) { … } // Insert adds items to the set. func (s IPNetSet) Insert(items ...*net.IPNet) { … } // Delete removes all items from the set. func (s IPNetSet) Delete(items ...*net.IPNet) { … } // Has returns true if and only if item is contained in the set. func (s IPNetSet) Has(item *net.IPNet) bool { … } // HasAll returns true if and only if all items are contained in the set. func (s IPNetSet) HasAll(items ...*net.IPNet) bool { … } // 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 (s IPNetSet) Difference(s2 IPNetSet) IPNetSet { … } // StringSlice returns a []string with the String representation of each element in the set. // Order is undefined. func (s IPNetSet) StringSlice() []string { … } // IsSuperset returns true if and only if s1 is a superset of s2. func (s IPNetSet) IsSuperset(s2 IPNetSet) 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 (s IPNetSet) Equal(s2 IPNetSet) bool { … } // Len returns the size of the set. func (s IPNetSet) Len() int { … } type IPSet … // ParseIPSet parses string slice to IPSet func ParseIPSet(items ...string) (IPSet, error) { … } // Insert adds items to the set. func (s IPSet) Insert(items ...net.IP) { … } // Delete removes all items from the set. func (s IPSet) Delete(items ...net.IP) { … } // Has returns true if and only if item is contained in the set. func (s IPSet) Has(item net.IP) bool { … } // HasAll returns true if and only if all items are contained in the set. func (s IPSet) HasAll(items ...net.IP) bool { … } // 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 (s IPSet) Difference(s2 IPSet) IPSet { … } // StringSlice returns a []string with the String representation of each element in the set. // Order is undefined. func (s IPSet) StringSlice() []string { … } // IsSuperset returns true if and only if s1 is a superset of s2. func (s IPSet) IsSuperset(s2 IPSet) 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 (s IPSet) Equal(s2 IPSet) bool { … } // Len returns the size of the set. func (s IPSet) Len() int { … }