Method ConvertExistingNativeListToNativeArray
ConvertExistingNativeListToNativeArray<T>(ref NativeList<T>, int, AllocatorHandle)
Convert NativeList into a NativeArray.
Declaration
public static NativeArray<T> ConvertExistingNativeListToNativeArray<T>(ref NativeList<T> nativeList, int length, AllocatorManager.AllocatorHandle allocator) where T : unmanaged
Parameters
Type | Name | Description |
---|---|---|
NativeList<T> | nativeList | NativeList to be converted. |
int | length | The count of elements. |
AllocatorManager.AllocatorHandle | allocator | The Allocator to use. |
Returns
Type | Description |
---|---|
NativeArray<T> | Returns the NativeArray that was created. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
Remarks
There is a caveat if users would like to transfer memory ownership from the NativeList to the converted NativeArray. NativeList implementation includes two memory allocations, one holds its header, another holds the list data. After convertion, the converted NativeArray holds the list data and dispose the array only free the list data. Users need to manually free the list header to avoid memory leaks, for example after convertion call, AllocatorManager.Free(allocator, nativeList.m_ListData);