Struct NativeCircularBuffer Extends System::Collections::Generic::IReadOnlyList<T>, IReadOnlyCollection<T>
Implements an efficient circular buffer that can be appended to in both directions.
Public Methods
Appends a list of items to the end of the buffer.
Resets the buffer's length to zero.
Releases the unmanaged memory held by this container.
Indexes the buffer using absolute indices.
Return either the first element or the last element.
Create a new empty buffer.
Create a new buffer with the given capacity.
Pops either from the start or from the end of the buffer.
Removes and returns the last element.
Removes and returns the first element.
Pushes a new item to the start or the end of the buffer.
Pushes a new item to the end of the buffer.
Pushes a new item to the start of the buffer.
Removes toRemove items from the buffer, starting at startIndex, and then inserts the toInsert items at startIndex.
Like Splice, but startIndex is an absolute index.
Like Splice, but the newly inserted items are left in an uninitialized state.
Like SpliceUninitialized, but startIndex is an absolute index.
Lowers the length of the buffer to the given value, and does nothing if the given value is greater or equal to the current length.
Public Variables
Absolute index of the last item in the buffer, may be negative or greater than Length.
Absolute index of the first item in the buffer, may be negative or greater than Length.
The allocator used to create the internal buffer.
First item in the buffer, throws if the buffer is empty.
Last item in the buffer, throws if the buffer is empty.
Number of items in the buffer.
Capacity of the allocation minus 1.
Indexes the buffer, with index 0 being the first element.