CompressedList.Page

unrolled list with support only for: 1. insert/delete front 2. insert/delete back 3. keep unstable "pointer" to arbitrary element 4. remove element by pointer

struct CompressedList(T, Allocator = Mallocator, bool GCRangesAllowed = true)
struct Page {
Page* _prevPage;
Page* _nextPage;
byte _firstNode;
byte _lastNode;
ubyte _count;
Node[NodesPerPage] _nodes;
}

Members

Variables

_freeMap
ubyte[BitMapLength] _freeMap;

Page is fixed-length array of list Nodes with batteries

Meta