ArrayOffsetAllocator (struct)

For each item, stores custom array data into a compact memory buffer (.data.data). Keeps track of ‘free’ items.

ArrayOffsetAllocator ArrayOffsetAllocator ArrayOffsetAllocator

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


ArrayOffsetAllocator ()

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 )

Operators in detail

ArrayOffsetAllocator = ( Param other )