Deluge Firmware 1.3.0
Build date: 2025.07.09
Loading...
Searching...
No Matches
ResizeableArray Class Reference
Inheritance diagram for ResizeableArray:

Public Member Functions

 ResizeableArray (int32_t newElementSize, int32_t newMaxNumEmptySpacesToKeep=16, int32_t newNumExtrarSpacesToAllocate=15)
void init ()
bool cloneFrom (ResizeableArray const *other)
void empty ()
void swapStateWith (ResizeableArray *other)
void deleteAtIndex (int32_t i, int32_t numToDelete=1, bool mayShortenMemoryAfter=true)
bool ensureEnoughSpaceAllocated (int32_t numAdditionalElementsNeeded)
Error insertAtIndex (int32_t i, int32_t numToInsert=1, void *thingNotToStealFrom=nullptr)
void swapElements (int32_t i1, int32_t i2)
void repositionElement (int32_t iFrom, int32_t iTo)
Error beenCloned ()
void setMemory (void *newMemory, int32_t newMemorySize)
void setStaticMemory (void *newMemory, int32_t newMemorySize)
void moveElementsLeft (int32_t oldStartIndex, int32_t oldStopIndex, int32_t distance)
void moveElementsRight (int32_t oldStartIndex, int32_t oldStopIndex, int32_t distance)
void * getElementAddress (int32_t index)
int32_t getNumElements () const

Public Attributes

uint32_t elementSize
bool emptyingShouldFreeMemory
uint32_t staticMemoryAllocationSize

Protected Attributes

void * memory
int32_t numElements
int32_t memorySize
int32_t memoryStart

Private Member Functions

void attemptMemoryShorten ()
bool attemptMemoryExpansion (int32_t minNumToExtend, int32_t idealNumToExtend, bool mayExtendAllocation, void *thingNotToStealFrom)
void copyToNewMemory (void *newMemory, uint32_t destinationIndex, void *source, uint32_t numElementsToCopy, uint32_t newMemorySize, uint32_t newMemoryStartIndex)
Error copyElementsFromOldMemory (void *otherMemory, int32_t otherMemorySize, int32_t otherMemoryStart)
void moveElementsRightNoWrap (int32_t oldStartIndex, int32_t oldStopIndex, int32_t distance)
void moveElementsLeftNoWrap (int32_t oldStartIndex, int32_t oldStopIndex, int32_t distance)

Private Attributes

void * memoryAllocationStart
const int32_t maxNumEmptySpacesToKeep
const int32_t numExtraSpacesToAllocate

The documentation for this class was generated from the following files:
  • src/deluge/util/container/array/resizeable_array.h
  • src/deluge/util/container/array/resizeable_array.cpp