Struct UnsafeHashSet<T>
An unordered, expandable set of unique values.
Namespace: Unity.Collections.LowLevel.Unsafe
Syntax
public struct UnsafeHashSet<T> : INativeDisposable, IDisposable, IEnumerable<T>, IEnumerable where T : struct, IEquatable<T>
Type Parameters
Name | Description |
---|---|
T | The type of the values. |
Constructors
UnsafeHashSet(Int32, AllocatorManager.AllocatorHandle)
Initializes and returns an instance of UnsafeHashSet.
Declaration
public UnsafeHashSet(int capacity, AllocatorManager.AllocatorHandle allocator)
Parameters
Type | Name | Description |
---|---|---|
Int32 | 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 |
---|---|
Int32 | 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 readonly bool IsCreated { get; }
Property Value
Type | Description |
---|---|
Boolean | True if this set has been allocated (and not yet deallocated). |
IsEmpty
Whether this set is empty.
Declaration
public readonly bool IsEmpty { get; }
Property Value
Type | Description |
---|---|
Boolean | 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 |
---|---|
Boolean | True if the value was not already present. |
AsParallelWriter()
Returns a parallel writer.
Declaration
public UnsafeHashSet<T>.ParallelWriter AsParallelWriter()
Returns
Type | Description |
---|---|
UnsafeHashSet.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 |
---|---|
Boolean | True if the value was present. |
Count()
Returns the current number of values in this set.
Declaration
public int Count()
Returns
Type | Description |
---|---|
Int32 | 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. |
Implements
GetEnumerator()
Returns an enumerator over the values of this set.
Declaration
public UnsafeHashSet<T>.Enumerator GetEnumerator()
Returns
Type | Description |
---|---|
UnsafeHashSet.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 |
---|---|
Boolean | True if the value was present. |
ToNativeArray(AllocatorManager.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. |