Class DecoratedSet<T>
- Namespace
- NMF.Collections.Generic
- Assembly
- NMF.Collections.dll
Denotes an extensible implementation of a hashset
public class DecoratedSet<T> : ISet<T>, ICollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable
Type Parameters
T
- Inheritance
-
DecoratedSet<T>
- Implements
-
ISet<T>ICollection<T>IEnumerable<T>
- Derived
- Inherited Members
Constructors
DecoratedSet()
Creates a new instance
public DecoratedSet()
Properties
Count
Gets the number of elements contained in the ICollection<T>.
public int Count { get; }
Property Value
- int
The number of elements contained in the ICollection<T>.
Items
The actual hashset in which items are stored
protected HashSet<T> Items { get; }
Property Value
- HashSet<T>
Methods
Add(T)
Adds an element to the current set and returns a value to indicate if the element was successfully added.
public virtual bool Add(T item)
Parameters
item
TThe element to add to the set.
Returns
Clear()
Removes all items from the ICollection<T>.
public virtual void Clear()
Exceptions
- NotSupportedException
The ICollection<T> is read-only.
Contains(T)
Determines whether the ICollection<T> contains a specific value.
public bool Contains(T item)
Parameters
item
TThe object to locate in the ICollection<T>.
Returns
- bool
true if
item
is found in the ICollection<T>; otherwise, false.
CopyTo(T[], int)
Copies the elements of the ICollection<T> to an Array, starting at a particular Array index.
public void CopyTo(T[] array, int arrayIndex)
Parameters
array
T[]The one-dimensional Array that is the destination of the elements copied from ICollection<T>. The Array must have zero-based indexing.
arrayIndex
intThe zero-based index in
array
at which copying begins.
Exceptions
- ArgumentNullException
array
is null.- ArgumentOutOfRangeException
arrayIndex
is less than 0.- ArgumentException
The number of elements in the source ICollection<T> is greater than the available space from
arrayIndex
to the end of the destinationarray
.
ExceptWith(IEnumerable<T>)
Removes all elements in the specified collection from the current set.
public void ExceptWith(IEnumerable<T> other)
Parameters
other
IEnumerable<T>The collection of items to remove from the set.
Exceptions
- ArgumentNullException
other
is null.
GetEnumerator()
Returns an enumerator that iterates through the collection.
public virtual IEnumerator<T> GetEnumerator()
Returns
- IEnumerator<T>
An enumerator that can be used to iterate through the collection.
IntersectWith(IEnumerable<T>)
Modifies the current set so that it contains only elements that are also in a specified collection.
public void IntersectWith(IEnumerable<T> other)
Parameters
other
IEnumerable<T>The collection to compare to the current set.
Exceptions
- ArgumentNullException
other
is null.
IsProperSubsetOf(IEnumerable<T>)
Determines whether the current set is a proper (strict) subset of a specified collection.
public bool IsProperSubsetOf(IEnumerable<T> other)
Parameters
other
IEnumerable<T>The collection to compare to the current set.
Returns
Exceptions
- ArgumentNullException
other
is null.
IsProperSupersetOf(IEnumerable<T>)
Determines whether the current set is a proper (strict) superset of a specified collection.
public bool IsProperSupersetOf(IEnumerable<T> other)
Parameters
other
IEnumerable<T>The collection to compare to the current set.
Returns
Exceptions
- ArgumentNullException
other
is null.
IsSubsetOf(IEnumerable<T>)
Determines whether a set is a subset of a specified collection.
public bool IsSubsetOf(IEnumerable<T> other)
Parameters
other
IEnumerable<T>The collection to compare to the current set.
Returns
Exceptions
- ArgumentNullException
other
is null.
IsSupersetOf(IEnumerable<T>)
Determines whether the current set is a superset of a specified collection.
public bool IsSupersetOf(IEnumerable<T> other)
Parameters
other
IEnumerable<T>The collection to compare to the current set.
Returns
Exceptions
- ArgumentNullException
other
is null.
Overlaps(IEnumerable<T>)
Determines whether the current set overlaps with the specified collection.
public bool Overlaps(IEnumerable<T> other)
Parameters
other
IEnumerable<T>The collection to compare to the current set.
Returns
Exceptions
- ArgumentNullException
other
is null.
Remove(T)
Removes the first occurrence of a specific object from the ICollection<T>.
public virtual bool Remove(T item)
Parameters
item
TThe object to remove from the ICollection<T>.
Returns
- bool
true if
item
was successfully removed from the ICollection<T>; otherwise, false. This method also returns false ifitem
is not found in the original ICollection<T>.
Exceptions
- NotSupportedException
The ICollection<T> is read-only.
SetEquals(IEnumerable<T>)
Determines whether the current set and the specified collection contain the same elements.
public bool SetEquals(IEnumerable<T> other)
Parameters
other
IEnumerable<T>The collection to compare to the current set.
Returns
Exceptions
- ArgumentNullException
other
is null.
SymmetricExceptWith(IEnumerable<T>)
Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both.
public void SymmetricExceptWith(IEnumerable<T> other)
Parameters
other
IEnumerable<T>The collection to compare to the current set.
Exceptions
- ArgumentNullException
other
is null.
UnionWith(IEnumerable<T>)
Modifies the current set so that it contains all elements that are present in the current set, in the specified collection, or in both.
public void UnionWith(IEnumerable<T> other)
Parameters
other
IEnumerable<T>The collection to compare to the current set.
Exceptions
- ArgumentNullException
other
is null.