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 )