Class NativeCopyUtility
Utilities for copying native arrays.
Inherited Members
Namespace: UnityEngine.XR.ARSubsystems
Assembly: Unity.XR.ARSubsystems.dll
Syntax
public static class NativeCopyUtility
Methods
CopyFromReadOnlyCollection<T>(IReadOnlyCollection<T>, NativeArray<T>)
Copies the contents of source
into the NativeArray
destination
.
The lengths of both collections must match.
Declaration
public static void CopyFromReadOnlyCollection<T>(IReadOnlyCollection<T> source, NativeArray<T> destination) where T : struct
Parameters
Type | Name | Description |
---|---|---|
IReadOnlyCollection<T> | source | The |
NativeArray<T> | destination | The |
Type Parameters
Name | Description |
---|---|
T | The type of the |
Remarks
Prefer IReadOnlyList over IReadOnlyCollection for copy performance where possible.
Exceptions
Type | Condition |
---|---|
ArgumentException | Thrown when there is a mismatch between |
See Also
CopyFromReadOnlyList<T>(IReadOnlyList<T>, NativeArray<T>)
Copies the contents of source
into the NativeArray
destination
.
The lengths of both collections must match.
Declaration
public static void CopyFromReadOnlyList<T>(IReadOnlyList<T> source, NativeArray<T> destination) where T : struct
Parameters
Type | Name | Description |
---|---|---|
IReadOnlyList<T> | source | The |
NativeArray<T> | destination | The |
Type Parameters
Name | Description |
---|---|
T | The type of the |
Exceptions
Type | Condition |
---|---|
ArgumentException | Thrown when there is a mismatch between |
CreateArrayFilledWithValue<T>(T, int, Allocator)
Creates a new array allocated with allocator
and initialized with length
copies of value
.
Declaration
public static NativeArray<T> CreateArrayFilledWithValue<T>(T value, int length, Allocator allocator) where T : struct
Parameters
Type | Name | Description |
---|---|---|
T | value | The value with which to fill the array. |
int | length | The length of the array to create. |
Allocator | allocator | The allocator with which to create the |
Returns
Type | Description |
---|---|
NativeArray<T> | A new |
Type Parameters
Name | Description |
---|---|
T | The type of the |
FillArrayWithValue<T>(NativeArray<T>, T)
Fills array
with repeated copies of value
.
Declaration
public static void FillArrayWithValue<T>(NativeArray<T> array, T value) where T : struct
Parameters
Type | Name | Description |
---|---|---|
NativeArray<T> | array | The array to fill. |
T | value | The value with which to fill the array. |
Type Parameters
Name | Description |
---|---|
T | The type of the |
PtrToNativeArrayWithDefault<T>(T, void*, int, int, Allocator)
Creates a NativeArray
from a pointer by first copying length
defaultT
s into the NativeArray
, and then overwriting the
data in the array with source
, assuming each element in source
is sourceElementSize
bytes.
Declaration
public static NativeArray<T> PtrToNativeArrayWithDefault<T>(T defaultT, void* source, int sourceElementSize, int length, Allocator allocator) where T : struct
Parameters
Type | Name | Description |
---|---|---|
T | defaultT | A default version of |
void* | source | A pointer to a contiguous block of data of size |
int | sourceElementSize | The size of one element in |
int | length | The number of elements to copy. |
Allocator | allocator | The allocator to use when creating the |
Returns
Type | Description |
---|---|
NativeArray<T> | A new |
Type Parameters
Name | Description |
---|---|
T | The type of struct to copy. |
Remarks
This is useful for native inter-operations with structs that might change over time. This allows new fields to be added to the C# struct without breaking data obtained from data calls.