Class HashSetExtensions
Extension methods for HashSet<T> objects
Namespace: Unity.XRTools.Utils
Syntax
public static class HashSetExtensions
Methods
ExceptWithNonAlloc<T>(HashSet<T>, HashSet<T>)
Like HashSet.ExceptWith() but without any garbage allocation or branches
Declaration
public static void ExceptWithNonAlloc<T>(this HashSet<T> self, HashSet<T> other)
Parameters
Type | Name | Description |
---|---|---|
HashSet<T> | self | The set to remove from |
HashSet<T> | other | The set of elements to remove |
Type Parameters
Name | Description |
---|---|
T | The type contained in the set |
ExceptWithNonAlloc<T>(HashSet<T>, List<T>)
Like HashSet.ExceptWith() but without any garbage allocation or branches
Declaration
public static void ExceptWithNonAlloc<T>(this HashSet<T> self, List<T> other)
Parameters
Type | Name | Description |
---|---|---|
HashSet<T> | self | The set to remove from |
List<T> | other | The set of elements to remove |
Type Parameters
Name | Description |
---|---|
T | The type contained in the set |
First<T>(HashSet<T>)
Like LINQ's .First(), but does not allocate
Declaration
public static T First<T>(this HashSet<T> set)
Parameters
Type | Name | Description |
---|---|---|
HashSet<T> | set | Set to retrieve the element from |
Returns
Type | Description |
---|---|
T | The first element in the set |
Type Parameters
Name | Description |
---|---|
T | Type contained in the set |