|
| Enumerator (InternalSet< T > set) |
|
void | Reset (InternalSet< T > set) |
|
bool | MoveNext () |
|
void | SetCurrentValue (T value, ref InternalSet< T > set, IEqualityComparer< T > comparer) |
| Changes the value associated with the current key. More...
|
|
bool | RemoveCurrent (ref InternalSet< T > set) |
| Removes the current item from the set, and moves to the next item. More...
|
|
void IDisposable. | Dispose () |
|
void
System.Collections.IEnumerator. | Reset () |
|
| InternalSet (IEnumerable< T > list, IEqualityComparer< T > comparer, out int count) |
|
| InternalSet (IEnumerable< T > list, IEqualityComparer< T > comparer) |
|
int | GetSetHashCode (IEqualityComparer< T > comparer) |
|
InternalSet< T > | CloneFreeze () |
| Freezes the hashtrie so that any further changes require paths in the tree to be copied. More...
|
|
void | Thaw () |
| Thaws a frozen root node by duplicating it, or creates the root node if the set doesn't have one. More...
|
|
bool | Add (ref T item, IEqualityComparer< T > comparer, bool replaceIfPresent) |
| Tries to add an item to the set, and retrieves the existing item if present. More...
|
|
bool | Remove (ref T item, IEqualityComparer< T > comparer) |
| Removes an item from the set. More...
|
|
delegate bool | OnFoundExisting (ref Node slots, int i, T item) |
|
bool | Find (ref T item, IEqualityComparer< T > comparer) |
|
Enumerator | GetEnumerator () |
|
IEnumerator< T > IEnumerable< T >. | GetEnumerator () |
|
System.Collections.IEnumerator
System.Collections.IEnumerable. | GetEnumerator () |
|
void | CopyTo (T[] array, int arrayIndex) |
|
void | Clear () |
|
bool | Contains (T item, IEqualityComparer< T > comparer) |
|
int | Count () |
|
int | UnionWith (IEnumerable< T > other, IEqualityComparer< T > thisComparer, bool replaceIfPresent) |
| Adds the contents of 'other' to this set. More...
|
|
int | UnionWith (InternalSet< T > other, IEqualityComparer< T > thisComparer, bool replaceIfPresent) |
|
int | IntersectWith (InternalSet< T > other, IEqualityComparer< T > otherComparer) |
| Removes all items from this set that are not present in 'other'. More...
|
|
int | IntersectWith (ISet< T > other) |
|
int | IntersectWith (IEnumerable< T > other, IEqualityComparer< T > comparer) |
| Removes all items from this set that are not present in 'other'. More...
|
|
int | ExceptWith (IEnumerable< T > other, IEqualityComparer< T > thisComparer) |
| Removes all items from this set that are present in 'other'. More...
|
|
int | ExceptWith (InternalSet< T > other, IEqualityComparer< T > thisComparer) |
|
int | SymmetricExceptWith (InternalSet< T > other, IEqualityComparer< T > thisComparer) |
|
int | SymmetricExceptWith (IEnumerable< T > other, IEqualityComparer< T > comparer, bool xorDuplicates=true) |
| Modifies the current set to contain only elements that were present either in this set or in the other collection, but not both. More...
|
|
bool | IsSubsetOf (ISet< T > other, int myMinCount) |
| Returns true if all items in this set are present in the other set. More...
|
|
bool | IsSubsetOf (InternalSet< T > other, IEqualityComparer< T > otherComparer) |
|
bool | IsSubsetOf (IEnumerable< T > other, IEqualityComparer< T > comparer, int myMinCount=0) |
|
bool | IsSupersetOf (IEnumerable< T > other, IEqualityComparer< T > thisComparer, int myMaxCount=int.MaxValue) |
| Returns true if all items in the other set are present in this set. More...
|
|
bool | IsSupersetOf (InternalSet< T > other, IEqualityComparer< T > thisComparer) |
|
bool | Overlaps (IEnumerable< T > other, IEqualityComparer< T > thisComparer) |
| Returns true if this set contains at least one item from 'other'. More...
|
|
bool | Overlaps (InternalSet< T > other, IEqualityComparer< T > thisComparer) |
|
bool | IsProperSubsetOf (ISet< T > other, int myExactCount) |
| Returns true if all items in this set are present in the other set, and the other set has at least one item that is not in this set. More...
|
|
bool | IsProperSubsetOf (IEnumerable< T > other, IEqualityComparer< T > comparer, int myExactCount) |
| Returns true if all items in this set are present in the other set, and the other set has at least one item that is not in this set. More...
|
|
bool | IsProperSupersetOf (ISet< T > other, IEqualityComparer< T > thisComparer, int myExactCount) |
| Returns true if all items in the other set are present in this set, and this set has at least one item that is not in the other set. More...
|
|
bool | IsProperSupersetOf (IEnumerable< T > other, IEqualityComparer< T > comparer, int myExactCount) |
| Returns true if all items in the other set are present in this set, and this set has at least one item that is not in the other set. More...
|
|
bool | SetEquals (ISet< T > other, int myExactCount) |
| Returns true if this set and the other set have the same items. More...
|
|
bool | SetEquals (IEnumerable< T > other, IEqualityComparer< T > comparer, int myExactCount) |
| Returns true if this set and the other set have the same items. More...
|
|
int | CountMemory (int sizeOfT) |
| Measures the total size of all objects allocated to this collection, in bytes, including the size of InternalSet{T} itself (which is one word). More...
|
|
int | CountMemory (int sizeOfT, out InternalSetStats stats) |
| Measures the total size of all objects allocated to this collection, in bytes, and counts the number of nodes of different types. More...
|
|
|
static void | SetCurrentValueCore (ref T slot, T value, IEqualityComparer< T > comparer) |
|
static Node | FrozenEmptyRoot () |
|
static int | Adj (int i, int n) |
|
static bool | Equals (T value, ref T item, IEqualityComparer< T > comparer) |
|
static uint | GetHashCode (T item, IEqualityComparer< T > comparer) |
|
static void | PropagateFrozenFlag (Node parent, Node child) |
|
static void | ReplaceChild (ref Node slots, int iHome, Node newChild) |
|
static bool | TryRemoveChild (ref Node slots, int iHome, Node child) |
|
static bool | _IgnoreExisting_ (ref Node slots, int i, T item) |
|
static bool | _ReplaceExisting_ (ref Node slots, int i, T item) |
|
static bool | _DeleteExisting_ (ref Node slots, int i, T item) |
|
static bool | AddOrRemove (ref Node slots, ref T item, uint hc, IEqualityComparer< T > comparer, OnFoundExisting mode) |
|
static bool | OnFoundInOverflow (ref Node slots, int i, ref T item, OnFoundExisting mode, T existing) |
|
static int | SelectBucketToSpill (Node slots, int i0, IEqualityComparer< T > comparer) |
|
static void | Spill (Node parent, int i0, IEqualityComparer< T > comparer) |
|
static Enumerator | SetOperationEnumerator () |
|