Struct NativeHashSet<T>
An unordered, expandable set of unique values.
Implements
Namespace: Unity.Collections
Assembly: Unity.Collections.dll
Syntax
public struct NativeHashSet<T> : INativeDisposable where T : unmanaged, IEquatable<T>
Type Parameters
Name | Description |
---|---|
T | The type of the values. |
Constructors
NativeHashSet(int, AllocatorHandle)
Initializes and returns an instance of NativeHashSet.
Declaration
public NativeHashSet(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 NativeHashSet<T>.ParallelWriter AsParallelWriter()
Returns
Type | Description |
---|---|
NativeHashSet<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 and safety handles).
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 NativeHashSet<T>.Enumerator GetEnumerator()
Returns
Type | Description |
---|---|
NativeHashSet<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. |