8 #include "RtosList.hpp"
9 #include "RtosListIterable.hpp"
10 #include "RtosInclude.hpp"
15 RtosList::RtosList() {
25 iterable.mNext = mFirst;
27 mFirst->mPrev = &iterable;
33 iterable.mListOwner =
this;
42 iterable.mPrev = mLast;
44 mLast->mNext = &iterable;
50 iterable.mListOwner =
this;
62 for (uint32_t sortValue = iterable.mSortValue; next && (next->mSortValue <= sortValue); next = next->mNext) {
69 iterable.mPrev = next->mPrev;
70 iterable.mNext = next;
71 next->mPrev = &iterable;
73 if (!iterable.mPrev) {
77 iterable.mPrev->mNext = &iterable;
80 iterable.mListOwner =
this;
92 if (iterable.mSortValue < current) {
94 for (uint32_t sortValue = iterable.mSortValue; next && ((next->mSortValue <= sortValue) || (next->mSortValue >= current)); next = next->mNext) {
99 for (uint32_t sortValue = iterable.mSortValue; next && (next->mSortValue <= sortValue) && (next->mSortValue >= current); next = next->mNext) {
107 iterable.mPrev = next->mPrev;
108 iterable.mNext = next;
109 next->mPrev = &iterable;
111 if (!iterable.mPrev) {
115 iterable.mPrev->mNext = &iterable;
118 iterable.mListOwner =
this;
150 iterable.mListOwner = 0;
160 for (iterator = mFirst; iterator; iterator = iterator->mNext) {
161 if (iterator == &iterable) {
179 if (!iterable->mNext) {
184 mFirst = iterable->mNext;
190 iterable->mListOwner = 0;