55template<
typename TElement>
100 TElement*
next()
const {
return n; }
119 auto* result=
next();
134 TElement* result=
next();
135 next( last->next() );
143 TElement* result = elem->next();
159 while( start != end ) {
160 start= start->
next();
179template<
typename TElement>
232 last->next(this->
first());
239 TElement* result=
first();
253 TElement* elem=
first();
254 while( elem->hasNext() )
263 TElement*
findLast( TElement* hint )
const noexcept {
264 TElement* elem= hint;
265 while( elem->hasNext() )
279 return static_cast<TElement*
>( it );
platform_specific integer
SidiListHook(const SidiListHook ©)=delete
void reset() noexcept
Resets this list to zero elements.
TElement * first() const noexcept
TElement * findLast(TElement *hint) const noexcept
void pushFront(TElement *elem) noexcept
SidiListHook() noexcept
Default constructor. Initializes this list to be empty.
TElement * findLast() const noexcept
SidiNodeBase< Element > TNode
TNode * findAndRemove(TElement *elem) noexcept
TElement * popFront() noexcept
bool isEmpty() const noexcept
void pushFront(TElement *first, TElement *last)
SidiListHook(SidiListHook &&) noexcept=default
TElement * findLastBefore(TElement *elem) noexcept
integer count(TElement *end=nullptr) const noexcept
SidiNodeBase() noexcept=default
Default constructor. (Does not initialize the pointer.)
TElement * addBehind(TElement *elem) noexcept
TElement * removeNext() noexcept
TElement * removeRangeBehind(TElement *last) noexcept
void next(SidiNodeBase *p)
bool pointsTo(const SidiNodeBase *elem) const
integer count(SidiNodeBase *end=nullptr) const noexcept