ArrayOffsetAllocator (struct)¶
For each item, stores custom array data into a compact memory buffer (.data.data). Keeps track of ‘free’ items.
Members¶
UInt32ArrayAllocator | data | |
DataIter[] | startIters | |
BitVector | freeIters | |
UInt32 | freeItersCount |
Methods¶
ArrayOffsetAllocator ( in ArrayOffsetAllocator other ) | |
ArrayOffsetAllocator () | |
DataIter | allocateArray ! ( in UInt32 itemIndex, in UInt32 arraySize, in UInt32 nbExtraUInt32s, in UInt32 tempReservedSpaceForGrowth, in Boolean headerBit ) |
append ! ( in ArrayOffsetAllocator other, io Size firstOtherItem, io Size firstOtherData ) | |
UInt32 | arrayDataIterSize ? ( in DataIter arrayDataIter ) |
UInt32 | arrayDataIterSizeAndBit ? ( in DataIter arrayDataIter, io Boolean bit ) |
UInt32 | arraySize ? ( in UInt32 itemIndex ) |
ArrayOffsetAllocator | clone ? () |
UInt32 | createItem ! () |
UInt32 | createItems ! ( in Size count ) |
deleteItem ! ( in UInt32 itemIndex ) | |
freeArray ! ( in UInt32 itemIndex, in UInt32 nbExtraUInt32s, in Boolean freeExtendedData ) | |
freeExtendedDataIfRequired ! ( in DataIter idxOffIter ) | |
UInt32 | getArrayExtraUInt32 ? ( in DataIter arrayIter, in UInt32 arraySize, in UInt32 extraUInt32Index ) |
DataIter | getArrayExtraUInt32Iter ? ( in DataIter arrayIter, in UInt32 arraySize, in UInt32 extraUInt32Index ) |
IdxOff | getArrayItemIdxOff ? ( in DataIter arrayIter, in UInt32 itemIndex ) |
DataIter | getArrayItemIndex ? ( in DataIter arrayIter, in UInt32 itemIndex ) |
DataIter | getArrayItemIter ? ( in DataIter arrayIter, in UInt32 itemIndex ) |
DataIter | getArrayItemIter ? ( in IdxOff idxOff ) |
DataIter | getArrayItemOffset ? ( in DataIter arrayIter, in UInt32 itemIndex ) |
IdxOff | getIdxOff ? ( in DataIter idxOffIter ) |
IdxOffBit | getIdxOffBit ? ( in DataIter idxOffIter ) |
UInt32 | getIndex ? ( in DataIter idxOffIter ) |
UInt32 | getIndexFromDataIter ? ( in DataIter itemDataIter ) |
UInt32 | getIndexFromIdxOffBit ? ( in DataIter idxOffIter ) |
UInt32 | getItemIndexFromArrayDataIter ? ( in DataIter arrayIter ) |
DataIter | getItemIter ? ( in UInt32 itemIndex ) |
UInt32 | getOffset ? ( in DataIter idxOffIter ) |
UInt32 | getOffsetAndBit ? ( in DataIter idxOffIter, io Boolean headerBit ) |
initIdxOff ! ( in DataIter iter, in UInt32 index, in UInt32 offset ) | |
initIdxOff ! ( in DataIter iter, in UInt32 index, in UInt32 offset, in Boolean headerBit ) | |
recompactData ! ( io UInt32 oldIndexToNewDataIndex[] ) | |
ArrayOffsetAllocatorRecompactData[] | recompactItemIndices ! () |
remapIdxOff ! ( in UInt32 entryIdx, in UInt32 oldIndexToNewDataIndex[] ) | |
remapIdxOff2 ! ( in UInt32 entryIdx, in Integer deltaData ) | |
DataIter | resizeArray ! ( in UInt32 itemIndex, in UInt32 prevNbExtraUInt32s, in UInt32 arraySize, in UInt32 nbExtraUInt32s, in UInt32 tempReservedSpaceForGrowth ) |
updateHeaderBit ! ( in DataIter iter, in Boolean headerBit ) | |
updateIdxOff ! ( in DataIter iter, in UInt32 index, in UInt32 offset ) | |
updateIdxOff ! ( in DataIter iter, in UInt32 index, in UInt32 offset, in Boolean headerBit ) | |
updateIndexOfIdxOff ! ( in DataIter entryIdx, in UInt32 newIndex ) | |
updateIndexOfIdxOffBit ! ( in DataIter entryIdx, in UInt32 newIndex ) |
Operators¶
ArrayOffsetAllocator | = ( Param other ) |
Methods in detail¶
ArrayOffsetAllocator ( in ArrayOffsetAllocator other )
copy constructor
default constructor
DataIter ArrayOffsetAllocator.allocateArray! ( in UInt32 itemIndex, in UInt32 arraySize, in UInt32 nbExtraUInt32s, in UInt32 tempReservedSpaceForGrowth, in Boolean headerBit )
ArrayOffsetAllocator.append! ( in ArrayOffsetAllocator other, io Size firstOtherItem, io Size firstOtherData )
UInt32 ArrayOffsetAllocator.arrayDataIterSize? ( in DataIter arrayDataIter )
UInt32 ArrayOffsetAllocator.arrayDataIterSizeAndBit? ( in DataIter arrayDataIter, io Boolean bit )
UInt32 ArrayOffsetAllocator.arraySize? ( in UInt32 itemIndex )
ArrayOffsetAllocator ArrayOffsetAllocator.clone? ()
clone method
UInt32 ArrayOffsetAllocator.createItem! ()
UInt32 ArrayOffsetAllocator.createItems! ( in Size count )
ArrayOffsetAllocator.deleteItem! ( in UInt32 itemIndex )
ArrayOffsetAllocator.freeArray! ( in UInt32 itemIndex, in UInt32 nbExtraUInt32s, in Boolean freeExtendedData )
ArrayOffsetAllocator.freeExtendedDataIfRequired! ( in DataIter idxOffIter )
UInt32 ArrayOffsetAllocator.getArrayExtraUInt32? ( in DataIter arrayIter, in UInt32 arraySize, in UInt32 extraUInt32Index )
DataIter ArrayOffsetAllocator.getArrayExtraUInt32Iter? ( in DataIter arrayIter, in UInt32 arraySize, in UInt32 extraUInt32Index )
IdxOff ArrayOffsetAllocator.getArrayItemIdxOff? ( in DataIter arrayIter, in UInt32 itemIndex )
DataIter ArrayOffsetAllocator.getArrayItemIndex? ( in DataIter arrayIter, in UInt32 itemIndex )
DataIter ArrayOffsetAllocator.getArrayItemIter? ( in DataIter arrayIter, in UInt32 itemIndex )
DataIter ArrayOffsetAllocator.getArrayItemIter? ( in IdxOff idxOff )
DataIter ArrayOffsetAllocator.getArrayItemOffset? ( in DataIter arrayIter, in UInt32 itemIndex )
IdxOff ArrayOffsetAllocator.getIdxOff? ( in DataIter idxOffIter )
IdxOffBit ArrayOffsetAllocator.getIdxOffBit? ( in DataIter idxOffIter )
UInt32 ArrayOffsetAllocator.getIndex? ( in DataIter idxOffIter )
UInt32 ArrayOffsetAllocator.getIndexFromDataIter? ( in DataIter itemDataIter )
UInt32 ArrayOffsetAllocator.getIndexFromIdxOffBit? ( in DataIter idxOffIter )
UInt32 ArrayOffsetAllocator.getItemIndexFromArrayDataIter? ( in DataIter arrayIter )
DataIter ArrayOffsetAllocator.getItemIter? ( in UInt32 itemIndex )
UInt32 ArrayOffsetAllocator.getOffset? ( in DataIter idxOffIter )
UInt32 ArrayOffsetAllocator.getOffsetAndBit? ( in DataIter idxOffIter, io Boolean headerBit )
ArrayOffsetAllocator.initIdxOff! ( in DataIter iter, in UInt32 index, in UInt32 offset )
ArrayOffsetAllocator.initIdxOff! ( in DataIter iter, in UInt32 index, in UInt32 offset, in Boolean headerBit )
ArrayOffsetAllocator.recompactData! ( io UInt32 oldIndexToNewDataIndex[] )
ArrayOffsetAllocatorRecompactData[] ArrayOffsetAllocator.recompactItemIndices! ()
ArrayOffsetAllocator.remapIdxOff! ( in UInt32 entryIdx, in UInt32 oldIndexToNewDataIndex[] )
ArrayOffsetAllocator.remapIdxOff2! ( in UInt32 entryIdx, in Integer deltaData )
DataIter ArrayOffsetAllocator.resizeArray! ( in UInt32 itemIndex, in UInt32 prevNbExtraUInt32s, in UInt32 arraySize, in UInt32 nbExtraUInt32s, in UInt32 tempReservedSpaceForGrowth )
ArrayOffsetAllocator.updateHeaderBit! ( in DataIter iter, in Boolean headerBit )
ArrayOffsetAllocator.updateIdxOff! ( in DataIter iter, in UInt32 index, in UInt32 offset )
ArrayOffsetAllocator.updateIdxOff! ( in DataIter iter, in UInt32 index, in UInt32 offset, in Boolean headerBit )
ArrayOffsetAllocator.updateIndexOfIdxOff! ( in DataIter entryIdx, in UInt32 newIndex )
ArrayOffsetAllocator.updateIndexOfIdxOffBit! ( in DataIter entryIdx, in UInt32 newIndex )