Deluge Firmware 1.3.0
Build date: 2025.04.16
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 ()
 

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: