1
0
forked from fsfw/fsfw

Array List Entry swapper function

And respective SerialAdapter functions to use it
This commit is contained in:
2020-01-22 14:24:48 +01:00
parent 3d2bdae14d
commit 1977942c4b
5 changed files with 36 additions and 15 deletions

View File

@ -223,6 +223,25 @@ public:
count_t remaining() {
return (maxSize_ - size);
}
/**
* Swap the endianness of the Array list (not the length field !)
* Useful if the case the buffer type is larger than uint8_t
* @param list
*/
void swapArrayListEndianness() {
ReturnValue_t result = HasReturnvaluesIF::RETURN_OK;
count_t i = 0;
// uint8_t buffer does not require swapping of entries.
if(sizeof(T) == 1) {
return;
}
while ((result == HasReturnvaluesIF::RETURN_OK) && (i < size)) {
T newEntry = EndianSwapper::swap(entries[i]);
entries[i] = newEntry;
++i;
}
}
private:
/**
* This is the copy constructor