Namespace Unity.Collections
Classes
AllocatorManager
Manages custom memory allocators.
CollectionHelper
Provides helper methods for collections.
FixedList128BytesExtensions
Provides extension methods for FixedList128Bytes.
FixedList32BytesExtensions
Provides extension methods for FixedList32Bytes.
FixedList4096BytesExtensions
Provides extension methods for FixedList4096Bytes.
FixedList512BytesExtensions
Provides extension methods for FixedList512Bytes.
FixedList64BytesExtensions
Provides extension methods for FixedList64Bytes.
FixedListExtensions
Provides extension methods for FixedListN.
FixedString
Provides formatting methods for FixedStringN.
FixedStringMethods
Provides extension methods for FixedStringNBytes.
HashSetExtensions
Provides extension methods for sets.
ListExtensions
Extension methods for lists.
NativeArrayExtensions
Extension methods for NativeArray.
NativeMultiHashMapExtensions
Extension methods for NativeMultiHashMap.
NativeParallelHashMapExtensions
Provides extension methods for hash maps.
NativeSortExtension
Extension methods for sorting collections.
UTF8ArrayUnsafeUtility
Provides methods for copying and encoding Unicode text.
xxHash3
A feature complete hashing API based on xxHash3 (https://github.com/Cyan4973/xxHash)
Structs
AllocatorHelper<T>
Provides a wrapper for custom allocator.
AllocatorManager.AllocatorHandle
Represents the allocator function used within an allocator.
AllocatorManager.Block
Represents an individual allocation within an allocator.
AllocatorManager.BlockHandle
For internal use only.
AllocatorManager.Range
A range of allocated memory.
BitField32
A 32-bit array of bits.
BitField64
A 64-bit array of bits.
CollectionHelper.DummyJob
Empty job type used for Burst compilation testing
DataStreamReader
The DataStreamReader
class is the counterpart of the
DataStreamWriter
class and can be be used to deserialize
data which was prepared with it.
DataStreamWriter
Data streams can be used to serialize data (e.g. over the network). The
DataStreamWriter
and DataStreamReader
classes work together
to serialize data for sending and then to deserialize when receiving.
DoubleRewindableAllocators
A double rewindable allocators RewindableAllocator.
FixedBytes126
For internal use only.
FixedBytes16
FixedBytes30
For internal use only.
FixedBytes4094
For internal use only.
FixedBytes510
For internal use only.
FixedBytes62
For internal use only.
FixedList128Bytes<T>
An unmanaged, resizable list whose content is all stored directly in the 128-byte struct. Useful for small lists.
FixedList128Bytes<T>.Enumerator
An enumerator over the elements of a FixedList128Bytes<T>.
FixedList32Bytes<T>
An unmanaged, resizable list whose content is all stored directly in the 32-byte struct. Useful for small lists.
FixedList32Bytes<T>.Enumerator
An enumerator over the elements of a FixedList32Bytes<T>.
FixedList4096Bytes<T>
An unmanaged, resizable list whose content is all stored directly in the 4096-byte struct. Useful for small lists.
FixedList4096Bytes<T>.Enumerator
An enumerator over the elements of a FixedList4096Bytes<T>.
FixedList512Bytes<T>
An unmanaged, resizable list whose content is all stored directly in the 512-byte struct. Useful for small lists.
FixedList512Bytes<T>.Enumerator
An enumerator over the elements of a FixedList512Bytes<T>.
FixedList64Bytes<T>
An unmanaged, resizable list whose content is all stored directly in the 64-byte struct. Useful for small lists.
FixedList64Bytes<T>.Enumerator
An enumerator over the elements of a FixedList64Bytes<T>.
FixedString128Bytes
An unmanaged UTF-8 string whose content is stored directly in the 128-byte struct.
FixedString128Bytes.Enumerator
An enumerator over the characters (not bytes) of a FixedString128Bytes.
FixedString32Bytes
An unmanaged UTF-8 string whose content is stored directly in the 32-byte struct.
FixedString32Bytes.Enumerator
An enumerator over the characters (not bytes) of a FixedString32Bytes.
FixedString4096Bytes
An unmanaged UTF-8 string whose content is stored directly in the 4096-byte struct.
FixedString4096Bytes.Enumerator
An enumerator over the characters (not bytes) of a FixedString4096Bytes.
FixedString512Bytes
An unmanaged UTF-8 string whose content is stored directly in the 512-byte struct.
FixedString512Bytes.Enumerator
An enumerator over the characters (not bytes) of a FixedString512Bytes.
FixedString64Bytes
An unmanaged UTF-8 string whose content is stored directly in the 64-byte struct.
FixedString64Bytes.Enumerator
An enumerator over the characters (not bytes) of a FixedString64Bytes.
KVPair<TKey, TValue>
A key-value pair.
NativeArrayExtensions.NativeArrayStaticId<T>
Provides a Burst compatible id for NativeArrayT
types. Used by the Job Safety System.
NativeBitArray
An arbitrarily-sized array of bits.
NativeBitArray.ReadOnly
A read-only alias for the value of a UnsafeBitArray. Does not have its own allocated storage.
NativeHashMap<TKey, TValue>
An unordered, expandable associative array.
NativeHashMap<TKey, TValue>.Enumerator
An enumerator over the key-value pairs of a container.
NativeHashMap<TKey, TValue>.ReadOnly
A read-only alias for the value of a NativeHashMap. Does not have its own allocated storage.
NativeHashSet<T>
An unordered, expandable set of unique values.
NativeHashSet<T>.Enumerator
An enumerator over the values of a set.
NativeHashSet<T>.ReadOnly
A read-only alias for the value of a NativeHashSet. Does not have its own allocated storage.
NativeKeyValueArrays<TKey, TValue>
The keys and values of a hash map copied into two parallel arrays.
NativeList<T>
An unmanaged, resizable list.
NativeList<T>.ParallelWriter
A parallel writer for a NativeList.
NativeMultiHashMap<TKey, TValue>
An unordered, expandable associative array. Each key can have more than one associated value.
NativeMultiHashMap<TKey, TValue>.Enumerator
An enumerator over the values of an individual key in a multi hash map.
NativeMultiHashMap<TKey, TValue>.KeyValueEnumerator
An enumerator over the key-value pairs of a multi hash map.
NativeMultiHashMap<TKey, TValue>.ParallelWriter
A parallel writer for a NativeMultiHashMap.
NativeMultiHashMapIterator<TKey>
An iterator over all values associated with an individual key in a multi hash map.
NativeParallelHashMap<TKey, TValue>
An unordered, expandable associative array.
NativeParallelHashMap<TKey, TValue>.Enumerator
An enumerator over the key-value pairs of a hash map.
NativeParallelHashMap<TKey, TValue>.ParallelWriter
A parallel writer for a NativeParallelHashMap.
NativeParallelHashMap<TKey, TValue>.ReadOnly
A read-only alias for the value of a NativeParallelHashMap. Does not have its own allocated storage.
NativeParallelHashSet<T>
An unordered, expandable set of unique values.
NativeParallelHashSet<T>.Enumerator
An enumerator over the values of a set.
NativeParallelHashSet<T>.ParallelWriter
A parallel writer for a NativeParallelHashSet.
NativeParallelHashSet<T>.ReadOnly
A read-only alias for the value of a NativeParallelHashSet. Does not have its own allocated storage.
NativeQueue<T>
An unmanaged queue.
NativeQueue<T>.ParallelWriter
A parallel writer for a NativeQueue.
NativeReference<T>
An unmanaged single value.
NativeReference<T>.ReadOnly
A read-only alias for the value of a NativeReference. Does not have its own allocated storage.
NativeSortExtension.DefaultComparer<T>
A comparer that uses IComparable.CompareTo(). For primitive types, this is an ascending sort.
NativeStream
A set of untyped, append-only buffers. Allows for concurrent reading and concurrent writing without synchronization.
NativeStream.Reader
Reads data from a buffer of a NativeStream.
NativeStream.Writer
Writes data into a buffer of a NativeStream.
NativeText
An unmanaged, mutable, resizable UTF-8 string.
NativeText.Enumerator
An enumerator over the characters (not bytes) of a NativeText.
NativeText.ReadOnly
A read-only alias for the value of a NativeText. Does not have its own allocated storage.
RewindableAllocator
An allocator that is fast like a linear allocator, is threadsafe, and automatically invalidates all allocations made from it, when "rewound" by the user.
SortJob<T, U>
Returned by the SortJob
methods of NativeSortExtension. Call Schedule
to schedule the sorting.
StreamCompressionModel
This type uses Huffman encoding to encode values in a lossless manner. When sending something like a 32-bit integer over the network, it is impractical to create a Huffman tree that encompasses every value the integer can take as it would require a tree with 2^32 leaves. To make this more practical, we lump values into a manageable number of power-of-two-sized buckets and then only code the bucket index with Huffman and code the position in the bucket using several raw bits corresponding to the size of the bucket.
The buckets are small, around 0, and become progressively larger as you move away from zero. As most data is deltas against predictions; we expect values to be small and expect most of the redundancy to be in the error's size and not in exactly which of the values of that size we end up hitting.
The context is as a sub-model that has its own statistics and uses its own Huffman tree. When using the context to read and write a specific value, the context must always be the same. The benefit of using multiple contexts is that it allows you to separate the statistics of things that have different expected distributions, which leads to more precise statistics, which again yields better compression. More contexts does, however, result in a marginal cost of a slightly larger model.
Unicode
Provides utility methods for UTF-8, UTF-16, UCS-4 (a.k.a. UTF-32), and WTF-8.
Unicode.Rune
Representation of a Unicode character as a code point.
xxHash3.StreamingState
Type used to compute hash based on multiple data feed
Interfaces
AllocatorManager.IAllocator
An allocator function pointer.
IIndexable<T>
An indexable collection.
INativeDisposable
For scheduling release of unmanaged resources.
INativeList<T>
A resizable list.
IUTF8Bytes
An interface for a sequence of UTF-8 encoded text.
Enums
ConversionError
Kinds of conversion errors.
CopyError
Kinds of copy errors.
FormatError
Kinds of format errors.
ParseError
Kinds of parse errors.
Delegates
AllocatorManager.TryFunction
Used for calling an allocator function.