Struct UnsafeHashSet<T>
An unordered, expandable set of unique values.
Implements
Namespace: Unity.Collections.LowLevel.Unsafe
Assembly: Unity.Collections.dll
Syntax
public struct UnsafeHashSet<T> : INativeDisposable where T : unmanaged, IEquatable<T>Type Parameters
| Name | Description | 
|---|---|
| T | The type of the values. | 
Constructors
UnsafeHashSet(int, AllocatorHandle)
Initializes and returns an instance of UnsafeHashSet.
Declaration
public UnsafeHashSet(int capacity, AllocatorManager.AllocatorHandle allocator)Parameters
| Type | Name | Description | 
|---|---|---|
| int | capacity | The number of values that should fit in the initial allocation. | 
| AllocatorManager.AllocatorHandle | allocator | The allocator to use. | 
Properties
Capacity
The number of values that fit in the current allocation.
Declaration
public int Capacity { get; set; }Property Value
| Type | Description | 
|---|---|
| int | The number of values that fit in the current allocation. | 
Exceptions
| Type | Condition | 
|---|---|
| Exception | Thrown if  | 
IsCreated
Whether this set has been allocated (and not yet deallocated).
Declaration
public bool IsCreated { get; }Property Value
| Type | Description | 
|---|---|
| bool | True if this set has been allocated (and not yet deallocated). | 
IsEmpty
Whether this set is empty.
Declaration
public bool IsEmpty { get; }Property Value
| Type | Description | 
|---|---|
| bool | True if this set is empty. | 
Methods
Add(T)
Adds a new value (unless it is already present).
Declaration
public bool Add(T item)Parameters
| Type | Name | Description | 
|---|---|---|
| T | item | The value to add. | 
Returns
| Type | Description | 
|---|---|
| bool | True if the value was not already present. | 
AsParallelWriter()
Returns a parallel writer.
Declaration
public UnsafeHashSet<T>.ParallelWriter AsParallelWriter()Returns
| Type | Description | 
|---|---|
| UnsafeHashSet<T>.ParallelWriter | A parallel writer. | 
Clear()
Removes all values.
Declaration
public void Clear()Remarks
Does not change the capacity.
Contains(T)
Returns true if a particular value is present.
Declaration
public bool Contains(T item)Parameters
| Type | Name | Description | 
|---|---|---|
| T | item | The value to check for. | 
Returns
| Type | Description | 
|---|---|
| bool | True if the value was present. | 
Count()
Returns the current number of values in this set.
Declaration
public int Count()Returns
| Type | Description | 
|---|---|
| int | The current number of values in this set. | 
Dispose()
Releases all resources (memory).
Declaration
public void Dispose()Dispose(JobHandle)
Creates and schedules a job that will dispose this set.
Declaration
public JobHandle Dispose(JobHandle inputDeps)Parameters
| Type | Name | Description | 
|---|---|---|
| JobHandle | inputDeps | A job handle. The newly scheduled job will depend upon this handle. | 
Returns
| Type | Description | 
|---|---|
| JobHandle | The handle of a new job that will dispose this set. | 
GetEnumerator()
Returns an enumerator over the values of this set.
Declaration
public UnsafeHashSet<T>.Enumerator GetEnumerator()Returns
| Type | Description | 
|---|---|
| UnsafeHashSet<T>.Enumerator | An enumerator over the values of this set. | 
Remove(T)
Removes a particular value.
Declaration
public bool Remove(T item)Parameters
| Type | Name | Description | 
|---|---|---|
| T | item | The value to remove. | 
Returns
| Type | Description | 
|---|---|
| bool | True if the value was present. | 
ToNativeArray(AllocatorHandle)
Returns an array with a copy of this set's values (in no particular order).
Declaration
public NativeArray<T> ToNativeArray(AllocatorManager.AllocatorHandle allocator)Parameters
| Type | Name | Description | 
|---|---|---|
| AllocatorManager.AllocatorHandle | allocator | The allocator to use. | 
Returns
| Type | Description | 
|---|---|
| NativeArray<T> | An array with a copy of the set's values. |