Class NativeSortExtension
Extension methods for sorting collections.
Namespace: Unity.Collections
Assembly: Unity.Collections.dll
Syntax
public static class NativeSortExtension
Methods
BinarySearch<T>(UnsafeList<T>, T)
Finds a value in this sorted list by binary search.
Declaration
public static int BinarySearch<T>(this UnsafeList<T> list, T value) where T : unmanaged, IComparable<T>
Parameters
Type | Name | Description |
---|---|---|
UnsafeList<T> | list | The list to search. |
T | value | The value to locate. |
Returns
Type | Description |
---|---|
int | If found, the index of the located value. If not found, the return value is negative. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
Remarks
If this list is not sorted, the value might not be found, even if it's present in this list.
BinarySearch<T>(NativeArray<T>, T)
Finds a value in this sorted array by binary search.
Declaration
public static int BinarySearch<T>(this NativeArray<T> array, T value) where T : unmanaged, IComparable<T>
Parameters
Type | Name | Description |
---|---|---|
NativeArray<T> | array | The array to search. |
T | value | The value to locate. |
Returns
Type | Description |
---|---|
int | If found, the index of the located value. If not found, the return value is negative. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
Remarks
If the array is not sorted, the value might not be found, even if it's present in this array.
BinarySearch<T>(ReadOnly, T)
Finds a value in this sorted array by binary search.
Declaration
public static int BinarySearch<T>(this NativeArray<T>.ReadOnly array, T value) where T : unmanaged, IComparable<T>
Parameters
Type | Name | Description |
---|---|---|
NativeArray<T>.ReadOnly | array | The array to search. |
T | value | The value to locate. |
Returns
Type | Description |
---|---|
int | If found, the index of the located value. If not found, the return value is negative. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
Remarks
If the array is not sorted, the value might not be found, even if it's present in this array.
BinarySearch<T>(NativeList<T>, T)
Finds a value in this sorted list by binary search.
Declaration
public static int BinarySearch<T>(this NativeList<T> list, T value) where T : unmanaged, IComparable<T>
Parameters
Type | Name | Description |
---|---|---|
NativeList<T> | list | The list to search. |
T | value | The value to locate. |
Returns
Type | Description |
---|---|
int | If found, the index of the located value. If not found, the return value is negative. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
Remarks
If this list is not sorted, the value might not be found, even if it's present in this list.
BinarySearch<T>(NativeSlice<T>, T)
Finds a value in this sorted slice by binary search.
Declaration
public static int BinarySearch<T>(this NativeSlice<T> slice, T value) where T : unmanaged, IComparable<T>
Parameters
Type | Name | Description |
---|---|---|
NativeSlice<T> | slice | The slice to search. |
T | value | The value to locate. |
Returns
Type | Description |
---|---|
int | If found, the index of the located value. If not found, the return value is negative. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
Remarks
If this slice is not sorted, the value might not be found, even if it's present in this slice.
BinarySearch<T>(T*, int, T)
Finds a value in a sorted array by binary search.
Declaration
public static int BinarySearch<T>(T* ptr, int length, T value) where T : unmanaged, IComparable<T>
Parameters
Type | Name | Description |
---|---|---|
T* | ptr | The array to search. |
int | length | The number of elements to search. Indexes greater than or equal to |
T | value | The value to locate. |
Returns
Type | Description |
---|---|
int | If found, the index of the located value. If not found, the return value is negative. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
Remarks
If the array is not sorted, the value might not be found, even if it's present in the array.
BinarySearch<T, U>(UnsafeList<T>, T, U)
Finds a value in this sorted list by binary search using a custom comparison.
Declaration
public static int BinarySearch<T, U>(this UnsafeList<T> list, T value, U comp) where T : unmanaged where U : IComparer<T>
Parameters
Type | Name | Description |
---|---|---|
UnsafeList<T> | list | The list to search. |
T | value | The value to locate. |
U | comp | The comparison function used to determine the relative order of the elements. |
Returns
Type | Description |
---|---|
int | If found, the index of the located value. If not found, the return value is negative. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
U | The type of the comparer. |
Remarks
If this list is not sorted, the value might not be found, even if it's present in this list.
BinarySearch<T, U>(NativeArray<T>, T, U)
Finds a value in this sorted array by binary search using a custom comparison.
Declaration
public static int BinarySearch<T, U>(this NativeArray<T> array, T value, U comp) where T : unmanaged where U : IComparer<T>
Parameters
Type | Name | Description |
---|---|---|
NativeArray<T> | array | The array to search. |
T | value | The value to locate. |
U | comp | The comparison function used to determine the relative order of the elements. |
Returns
Type | Description |
---|---|
int | If found, the index of the located value. If not found, the return value is negative. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
U | The comparer type. |
Remarks
If the array is not sorted, the value might not be found, even if it's present in this array.
BinarySearch<T, U>(ReadOnly, T, U)
Finds a value in this sorted array by binary search using a custom comparison.
Declaration
public static int BinarySearch<T, U>(this NativeArray<T>.ReadOnly array, T value, U comp) where T : unmanaged where U : IComparer<T>
Parameters
Type | Name | Description |
---|---|---|
NativeArray<T>.ReadOnly | array | The array to search. |
T | value | The value to locate. |
U | comp | The comparison function used to determine the relative order of the elements. |
Returns
Type | Description |
---|---|
int | If found, the index of the located value. If not found, the return value is negative. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
U | The comparer type. |
Remarks
If the array is not sorted, the value might not be found, even if it's present in this array.
BinarySearch<T, U>(NativeList<T>, T, U)
Finds a value in this sorted list by binary search using a custom comparison.
Declaration
public static int BinarySearch<T, U>(this NativeList<T> list, T value, U comp) where T : unmanaged where U : IComparer<T>
Parameters
Type | Name | Description |
---|---|---|
NativeList<T> | list | The list to search. |
T | value | The value to locate. |
U | comp | The comparison function used to determine the relative order of the elements. |
Returns
Type | Description |
---|---|
int | If found, the index of the located value. If not found, the return value is negative. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
U | The type of the comparer. |
Remarks
If this list is not sorted, the value may not be found, even if it's present in this list.
BinarySearch<T, U>(NativeSlice<T>, T, U)
Finds a value in this sorted slice by binary search using a custom comparison.
Declaration
public static int BinarySearch<T, U>(this NativeSlice<T> slice, T value, U comp) where T : unmanaged where U : IComparer<T>
Parameters
Type | Name | Description |
---|---|---|
NativeSlice<T> | slice | The slice to search. |
T | value | The value to locate. |
U | comp | The comparison function used to determine the relative order of the elements. |
Returns
Type | Description |
---|---|
int | If found, the index of the located value. If not found, the return value is negative. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
U | The type of the comparer. |
Remarks
If this slice is not sorted, the value might not be found, even if it's present in this slice.
BinarySearch<T, U>(T*, int, T, U)
Finds a value in a sorted array by binary search using a custom comparison.
Declaration
public static int BinarySearch<T, U>(T* ptr, int length, T value, U comp) where T : unmanaged where U : IComparer<T>
Parameters
Type | Name | Description |
---|---|---|
T* | ptr | The array to search. |
int | length | The number of elements to search. Indexes greater than or equal to |
T | value | The value to locate. |
U | comp | The comparison function used to determine the relative order of the elements. |
Returns
Type | Description |
---|---|
int | If found, the index of the located value. If not found, the return value is negative. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
U | The type of the comparer. |
Remarks
If the array is not sorted, the value might not be found, even if it's present in the array.
SortJobDefer<T>(NativeList<T>)
Returns a job which will sort this list in ascending order.
Declaration
public static SortJobDefer<T, NativeSortExtension.DefaultComparer<T>> SortJobDefer<T>(this NativeList<T> list) where T : unmanaged, IComparable<T>
Parameters
Type | Name | Description |
---|---|---|
NativeList<T> | list | The list to sort. |
Returns
Type | Description |
---|---|
SortJobDefer<T, NativeSortExtension.DefaultComparer<T>> | A job for sorting this list. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
Remarks
SortJobDefer
is intended for use when NativeList.Length
is not known at scheduling time,
and it depends on completion of previosly scheduled job(s).
This method does not schedule the job. Scheduling the job is left to you.
SortJobDefer<T, U>(NativeList<T>, U)
Returns a job which will sort this list using a custom comparison.
Declaration
public static SortJobDefer<T, U> SortJobDefer<T, U>(this NativeList<T> list, U comp) where T : unmanaged where U : IComparer<T>
Parameters
Type | Name | Description |
---|---|---|
NativeList<T> | list | The list to sort. |
U | comp | The comparison function used to determine the relative order of the elements. |
Returns
Type | Description |
---|---|
SortJobDefer<T, U> | A job for sorting this list. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
U | The type of the comparer. |
Remarks
SortJobDefer
is intended for use when NativeList.Length
is not known at scheduling time,
and it depends on completion of previosly scheduled job(s).
This method does not schedule the job. Scheduling the job is left to you.
SortJob<T>(UnsafeList<T>)
Returns a job which will sort this list in ascending order.
Declaration
public static SortJob<T, NativeSortExtension.DefaultComparer<T>> SortJob<T>(this UnsafeList<T> list) where T : unmanaged, IComparable<T>
Parameters
Type | Name | Description |
---|---|---|
UnsafeList<T> | list | The list to sort. |
Returns
Type | Description |
---|---|
SortJob<T, NativeSortExtension.DefaultComparer<T>> | A job for sorting this list. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
Remarks
This method does not schedule the job. Scheduling the job is left to you.
SortJob<T>(NativeArray<T>)
Returns a job which will sort this array in ascending order.
Declaration
public static SortJob<T, NativeSortExtension.DefaultComparer<T>> SortJob<T>(this NativeArray<T> array) where T : unmanaged, IComparable<T>
Parameters
Type | Name | Description |
---|---|---|
NativeArray<T> | array | The array to sort. |
Returns
Type | Description |
---|---|
SortJob<T, NativeSortExtension.DefaultComparer<T>> | A job for sorting this array. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
Remarks
This method does not schedule the job. Scheduling the job is left to you.
SortJob<T>(NativeList<T>)
Returns a job which will sort this list in ascending order.
Declaration
public static SortJob<T, NativeSortExtension.DefaultComparer<T>> SortJob<T>(this NativeList<T> list) where T : unmanaged, IComparable<T>
Parameters
Type | Name | Description |
---|---|---|
NativeList<T> | list | The list to sort. |
Returns
Type | Description |
---|---|
SortJob<T, NativeSortExtension.DefaultComparer<T>> | A job for sorting this list. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
Remarks
When NativeList.Length
is not known at scheduling time use SortJobDefer
instead.
This method does not schedule the job. Scheduling the job is left to you.
SortJob<T>(NativeSlice<T>)
Returns a job which will sort this slice in ascending order.
Declaration
public static SortJob<T, NativeSortExtension.DefaultComparer<T>> SortJob<T>(this NativeSlice<T> slice) where T : unmanaged, IComparable<T>
Parameters
Type | Name | Description |
---|---|---|
NativeSlice<T> | slice | The slice to sort. |
Returns
Type | Description |
---|---|
SortJob<T, NativeSortExtension.DefaultComparer<T>> | A job for sorting this slice. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
Remarks
This method does not schedule the job. Scheduling the job is left to you.
SortJob<T>(T*, int)
Returns a job which will sort an array in ascending order.
Declaration
public static SortJob<T, NativeSortExtension.DefaultComparer<T>> SortJob<T>(T* array, int length) where T : unmanaged, IComparable<T>
Parameters
Type | Name | Description |
---|---|---|
T* | array | The array to sort. |
int | length | The number of elements to sort in the array.
Indexes greater than or equal to |
Returns
Type | Description |
---|---|
SortJob<T, NativeSortExtension.DefaultComparer<T>> | A job for sorting the array. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
Remarks
This method does not schedule the job. Scheduling the job is left to you.
SortJob<T, U>(UnsafeList<T>, U)
Returns a job which will sort this list using a custom comparison.
Declaration
public static SortJob<T, U> SortJob<T, U>(this UnsafeList<T> list, U comp) where T : unmanaged where U : IComparer<T>
Parameters
Type | Name | Description |
---|---|---|
UnsafeList<T> | list | The list to sort. |
U | comp | The comparison function used to determine the relative order of the elements. |
Returns
Type | Description |
---|---|
SortJob<T, U> | A job for sorting this list. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
U | The type of the comparer. |
Remarks
This method does not schedule the job. Scheduling the job is left to you.
SortJob<T, U>(NativeArray<T>, U)
Returns a job which will sort this array using a custom comparison.
Declaration
public static SortJob<T, U> SortJob<T, U>(this NativeArray<T> array, U comp) where T : unmanaged where U : IComparer<T>
Parameters
Type | Name | Description |
---|---|---|
NativeArray<T> | array | The array to sort. |
U | comp | The comparison function used to determine the relative order of the elements. |
Returns
Type | Description |
---|---|
SortJob<T, U> | A job for sorting the array. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
U | The type of the comparer. |
Remarks
This method does not schedule the job. Scheduling the job is left to you.
SortJob<T, U>(NativeList<T>, U)
Returns a job which will sort this list using a custom comparison.
Declaration
public static SortJob<T, U> SortJob<T, U>(this NativeList<T> list, U comp) where T : unmanaged where U : IComparer<T>
Parameters
Type | Name | Description |
---|---|---|
NativeList<T> | list | The list to sort. |
U | comp | The comparison function used to determine the relative order of the elements. |
Returns
Type | Description |
---|---|
SortJob<T, U> | A job for sorting this list. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
U | The type of the comparer. |
Remarks
When NativeList.Length
is not known at scheduling time use SortJobDefer
instead.
This method does not schedule the job. Scheduling the job is left to you.
SortJob<T, U>(NativeSlice<T>, U)
Returns a job which will sort this slice using a custom comparison.
Declaration
public static SortJob<T, U> SortJob<T, U>(this NativeSlice<T> slice, U comp) where T : unmanaged where U : IComparer<T>
Parameters
Type | Name | Description |
---|---|---|
NativeSlice<T> | slice | The slice to sort. |
U | comp | The comparison function used to determine the relative order of the elements. |
Returns
Type | Description |
---|---|
SortJob<T, U> | A job for sorting this slice. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
U | The type of the comparer. |
Remarks
This method does not schedule the job. Scheduling the job is left to you.
SortJob<T, U>(T*, int, U)
Returns a job which will sort an array using a custom comparison.
Declaration
public static SortJob<T, U> SortJob<T, U>(T* array, int length, U comp) where T : unmanaged where U : IComparer<T>
Parameters
Type | Name | Description |
---|---|---|
T* | array | The array to sort. |
int | length | The number of elements to sort in the array.
Indexes greater than or equal to |
U | comp | The comparison function used to determine the relative order of the elements. |
Returns
Type | Description |
---|---|
SortJob<T, U> | A job for sorting the array. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
U | The type of the comparer. |
Remarks
This method does not schedule the job. Scheduling the job is left to you.
Sort<T>(UnsafeList<T>)
Sorts this list in ascending order.
Declaration
public static void Sort<T>(this UnsafeList<T> list) where T : unmanaged, IComparable<T>
Parameters
Type | Name | Description |
---|---|---|
UnsafeList<T> | list | The list to sort. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
Sort<T>(NativeArray<T>)
Sorts this array in ascending order.
Declaration
public static void Sort<T>(this NativeArray<T> array) where T : unmanaged, IComparable<T>
Parameters
Type | Name | Description |
---|---|---|
NativeArray<T> | array | The array to sort. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
Sort<T>(NativeList<T>)
Sorts this list in ascending order.
Declaration
public static void Sort<T>(this NativeList<T> list) where T : unmanaged, IComparable<T>
Parameters
Type | Name | Description |
---|---|---|
NativeList<T> | list | The list to sort. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
Sort<T>(NativeSlice<T>)
Sorts this slice in ascending order.
Declaration
public static void Sort<T>(this NativeSlice<T> slice) where T : unmanaged, IComparable<T>
Parameters
Type | Name | Description |
---|---|---|
NativeSlice<T> | slice | The slice to sort. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
Sort<T>(T*, int)
Sorts an array in ascending order.
Declaration
public static void Sort<T>(T* array, int length) where T : unmanaged, IComparable<T>
Parameters
Type | Name | Description |
---|---|---|
T* | array | The array to sort. |
int | length | The number of elements to sort in the array.
Indexes greater than or equal to |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
Sort<T, U>(UnsafeList<T>, U)
Sorts the list using a custom comparison.
Declaration
public static void Sort<T, U>(this UnsafeList<T> list, U comp) where T : unmanaged where U : IComparer<T>
Parameters
Type | Name | Description |
---|---|---|
UnsafeList<T> | list | The list to sort. |
U | comp | The comparison function used to determine the relative order of the elements. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
U | The type of the comparer. |
Sort<T, U>(NativeArray<T>, U)
Sorts this array using a custom comparison.
Declaration
public static void Sort<T, U>(this NativeArray<T> array, U comp) where T : unmanaged where U : IComparer<T>
Parameters
Type | Name | Description |
---|---|---|
NativeArray<T> | array | The array to sort. |
U | comp | The comparison function used to determine the relative order of the elements. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
U | The type of the comparer. |
Sort<T, U>(NativeList<T>, U)
Sorts this list using a custom comparison.
Declaration
public static void Sort<T, U>(this NativeList<T> list, U comp) where T : unmanaged where U : IComparer<T>
Parameters
Type | Name | Description |
---|---|---|
NativeList<T> | list | The list to sort. |
U | comp | The comparison function used to determine the relative order of the elements. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
U | The type of the comparer. |
Sort<T, U>(NativeSlice<T>, U)
Sorts this slice using a custom comparison.
Declaration
public static void Sort<T, U>(this NativeSlice<T> slice, U comp) where T : unmanaged where U : IComparer<T>
Parameters
Type | Name | Description |
---|---|---|
NativeSlice<T> | slice | The slice to sort. |
U | comp | The comparison function used to determine the relative order of the elements. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
U | The type of the comparer. |
Sort<T, U>(T*, int, U)
Sorts an array using a custom comparison.
Declaration
public static void Sort<T, U>(T* array, int length, U comp) where T : unmanaged where U : IComparer<T>
Parameters
Type | Name | Description |
---|---|---|
T* | array | The array to sort. |
int | length | The number of elements to sort in the array.
Indexes greater than or equal to |
U | comp | The comparison function used to determine the relative order of the elements. |
Type Parameters
Name | Description |
---|---|
T | The type of the elements. |
U | The type of the comparer. |