Arch.LowLevel
Arch.LowLevel, a collection of unmanaged and unsafe collections.
Arch.Extended also has a number of high-performance, unsafe collections and utils. They are mostly blittable, unmanaged and use pointers directly to access memory. This has the advantage that they are fast and not affected by the GC.
Data-structures:
UnsafeArray<T>UnsafeList<T>UnsafeStack<T>UnsafeQueue<T>UnsafeJaggedArray<T>JaggedArray<T>SparseJaggedArray<T>
UnsafeArray<T>
An unmanaged Array.
โ
UnsafeList<T>
An unmanaged List.
โ
UnsafeStack<T>
An unmanaged Stack.
โ
UnsafeQueue<T>
An unmanaged Queue.
โ
UnsafeJaggedArray<T>
An unmanaged JaggedArray, made out of buckets.
โ
UnsafeSparseJaggedArray<T>
An unmanaged SparseJaggedArray, made out of buckets.
โ
JaggedArray<T>
A managed JaggedArray, made out of buckets.
โ
SparseJaggedArray<T>
A managed SparseJaggedArray, made out of buckets.
โ
Array
A class that either stores its items automatically in an UnsafeArray or an managed Array.
โ
Resources
A class that stores managed items and returns a Handle<T>to reference them in components.
โ
Examples
The use of collections is actually a matter of course. Nevertheless, let's take a look at the most important ones.
Array
List
Resources
Thanks to the Resources, you can access and use a managed resource from anywhere using a unique ID. This saves memory and is blittable, so it can also be used in unsafe code.
Last updated
Was this helpful?