Struct UnsafeParallelHashSet<T>
An unordered, expandable set of unique values.
Namespace: Unity.Collections.LowLevel.Unsafe
Syntax
public struct UnsafeParallelHashSet<T> : INativeDisposable, IDisposable, IEnumerable<T>, IEnumerable where T : struct, IEquatable<T>
Type Parameters
| Name | Description |
|---|---|
| T | The type of the values. |
Constructors
UnsafeParallelHashSet(Int32, AllocatorManager.AllocatorHandle)
Initializes and returns an instance of UnsafeParallelHashSet.
Declaration
public UnsafeParallelHashSet(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 { readonly get; set; }
Property Value
| Type | Description |
|---|---|
| Int32 | The number of values that fit in the current allocation. |
Exceptions
| Type | Condition |
|---|---|
| InvalidOperationException | 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 UnsafeParallelHashSet<T>.ParallelWriter AsParallelWriter()
Returns
| Type | Description |
|---|---|
| UnsafeParallelHashSet.ParallelWriter<> | A parallel writer. |
AsReadOnly()
Returns a readonly version of this UnsafeParallelHashSet instance.
Declaration
public UnsafeParallelHashSet<T>.ReadOnly AsReadOnly()
Returns
| Type | Description |
|---|---|
| UnsafeParallelHashSet.ReadOnly<> | ReadOnly instance for this. |
Remarks
ReadOnly containers point to the same underlying data as the UnsafeParallelHashSet it is made from.
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 UnsafeParallelHashSet<T>.Enumerator GetEnumerator()
Returns
| Type | Description |
|---|---|
| UnsafeParallelHashSet.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. |