Struct UnsafeList<T>
An unmanaged, resizable list.
Namespace: Unity.Collections.LowLevel.Unsafe
Assembly: solution.dll
Syntax
public struct UnsafeList<T> : INativeDisposable, INativeList<T>, IIndexable<T> where T : unmanaged
Type Parameters
| Name | Description |
|---|---|
| T | The type of the elements. |
Constructors
| Name | Description |
|---|---|
| UnsafeList(int, AllocatorHandle, NativeArrayOptions) | Initializes and returns an instance of UnsafeList. |
| UnsafeList(T*, int) | Initializes and returns an instance of UnsafeList. |
Fields
| Name | Description |
|---|---|
| Allocator | The allocator used to create the internal buffer. |
| Ptr | The internal buffer of this list. |
| m_capacity | The number of elements that can fit in the internal buffer. |
| m_length | The number of elements. |
Properties
| Name | Description |
|---|---|
| Capacity | The number of elements that can fit in the internal buffer. |
| IsCreated | Whether this list has been allocated (and not yet deallocated). |
| IsEmpty | Whether the list is empty. |
| this[int] | The element at an index. |
| Length | The number of elements. |
Methods
| Name | Description |
|---|---|
| Add(in T) | Adds an element to the end of the list. |
| AddNoResize(T) | Adds an element to the end of this list. |
| AddRange(void*, int) | Copies the elements of a buffer to the end of this list. |
| AddRange(UnsafeList<T>) | Copies the elements of another list to the end of the list. |
| AddRangeNoResize(void*, int) | Copies elements from a buffer to the end of this list. |
| AddRangeNoResize(UnsafeList<T>) | Copies the elements of another list to the end of this list. |
| AddReplicate(in T, int) | Appends value count times to the end of this list. |
| AsParallelReader() | Obsolete. Use AsReadOnly() instead. |
| AsParallelWriter() | Returns a parallel writer of this list. |
| AsReadOnly() | Returns a read only of this list. |
| Clear() | Sets the length to 0. |
| CopyFrom(in UnsafeList<T>) | Copies all elements of specified container to this container. |
| CopyFrom(in NativeArray<T>) | Copies all elements of specified container to this container. |
| Create(int, AllocatorHandle, NativeArrayOptions) | Returns a new list. |
| Destroy(UnsafeList<T>*) | Destroys the list. |
| Dispose() | Releases all resources (memory). |
| Dispose(JobHandle) | Creates and schedules a job that frees the memory of this list. |
| ElementAt(int) | Returns a reference to the element at a given index. |
| GetEnumerator() | Returns an enumerator over the elements of the list. |
| InsertRange(int, int) | Shifts elements toward the end of this list, increasing its length. |
| InsertRangeWithBeginEnd(int, int) | Shifts elements toward the end of this list, increasing its length. |
| RemoveAt(int) | Removes the element at an index, shifting everything above it down by one. Decrements the length by 1. |
| RemoveAtSwapBack(int) | Copies the last element of this list to the specified index. Decrements the length by 1. |
| RemoveRange(int, int) | Removes N elements in a range, shifting everything above the range down by N. Decrements the length by N. |
| RemoveRangeSwapBack(int, int) | Copies the last N elements of this list to a range in this list. Decrements the length by N. |
| Resize(int, NativeArrayOptions) | Sets the length, expanding the capacity if necessary. |
| SetCapacity(int) | Sets the capacity. |
| TrimExcess() | Sets the capacity to match the length. |