AbstractSet

This class provides a skeletal implementation of the <tt>Set</tt> interface to minimize the effort required to implement this interface. <p>

The process of implementing a set by extending this class is identical to that of implementing a Collection by extending AbstractCollection, except that all of the methods and constructors in subclasses of this class must obey the additional constraints imposed by the <tt>Set</tt> interface (for instance, the add method must not permit addition of multiple instances of an object to a set).<p>

Note that this class does not override any of the implementations from the <tt>AbstractCollection</tt> class. It merely adds implementations for <tt>equals</tt> and <tt>hashCode</tt>.<p>

This class is a member of the <a href="{@docRoot}/../technotes/guides/collections/index.html"> Java Collections Framework</a>.

@param !(E) the type of elements maintained by this set

@see Collection @see AbstractCollection @see Set

Constructors

this
this()

Sole constructor. (For invocation by subclass constructors, typically implicit.)

Members

Functions

opEquals
bool opEquals(Object o)

Compares the specified object with this set for equality. Returns <tt>true</tt> if the given object is also a set, the two sets have the same size, and every member of the given set is contained in this set. This ensures that the <tt>equals</tt> method works properly across different implementations of the <tt>Set</tt> interface.<p>

opEquals
bool opEquals(IObject o)
Undocumented in source. Be warned that the author may not have intended to support it.
removeAll
bool removeAll(Collection!E c)

Removes from this set all of its elements that are contained in the specified collection (optional operation). If the specified collection is also a set, this operation effectively modifies this set so that its value is the <i>asymmetric set difference</i> of the two sets.

toHash
size_t toHash()

Returns the hash code value for this set. The hash code of a set is defined to be the sum of the hash codes of the elements in the set, where the hash code of a <tt>null</tt> element is defined to be zero. This ensures that <tt>s1.equals(s2)</tt> implies that <tt>s1.toHash()==s2.toHash()</tt> for any two sets <tt>s1</tt> and <tt>s2</tt>, as required by the general contract of {@link Object#hashCode}.

toString
string toString()
Undocumented in source. Be warned that the author may not have intended to support it.

Meta