Deluge Firmware 1.3.0
Build date: 2025.06.05
Loading...
Searching...
No Matches
OrderedResizeableArray Class Reference
Inheritance diagram for OrderedResizeableArray:
Collaboration diagram for OrderedResizeableArray:

Public Member Functions

 OrderedResizeableArray (int32_t newElementSize, int32_t keyNumBits, int32_t newKeyOffset=0, int32_t newMaxNumEmptySpacesToKeep=16, int32_t newNumExtraSpacesToAllocate=15)
 
int32_t search (int32_t key, int32_t comparison, int32_t rangeBegin, int32_t rangeEnd)
 
int32_t search (int32_t key, int32_t comparison, int32_t rangeBegin=0)
 
int32_t searchExact (int32_t key)
 
int32_t insertAtKey (int32_t key, bool isDefinitelyLast=false)
 
void deleteAtKey (int32_t key)
 
void testSequentiality (char const *errorCode)
 test that the keys in this array are sorted in ascending order.
 
int32_t getKeyAtIndex (int32_t i)
 
void setKeyAtIndex (int32_t key, int32_t i)
 
- Public Member Functions inherited from ResizeableArray
 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
 

Protected Member Functions

int32_t getKeyAtMemoryLocation (void *address)
 
void setKeyAtMemoryLocation (int32_t key, void *address)
 

Private Attributes

const uint32_t keyMask
 
const int32_t keyOffset
 
const int32_t keyShiftAmount
 

Additional Inherited Members

- Public Attributes inherited from ResizeableArray
uint32_t elementSize
 
bool emptyingShouldFreeMemory
 
uint32_t staticMemoryAllocationSize
 
- Protected Attributes inherited from ResizeableArray
void * memory
 
int32_t numElements
 
int32_t memorySize
 
int32_t memoryStart
 

Member Function Documentation

◆ testSequentiality()

void OrderedResizeableArray::testSequentiality ( char const * errorCode)

test that the keys in this array are sorted in ascending order.

This is used in assert-like fashion, so not for unit tests.


The documentation for this class was generated from the following files: