9#ifndef HPP_ALIB_LANG_SIDILIST
10#define HPP_ALIB_LANG_SIDILIST 1
12#if !defined(HPP_ALIB_LANG_INTEGERS)
16#if !defined (_GLIBCXX_ITERATOR) && !defined (_ITERATOR_)
67template<
typename TElement>
130 auto* result=
next();
146 TElement* result=
next();
147 next( last->next() );
156 TElement* result = elem->next();
172 while( start != end )
174 start= start->
next();
193template<
typename TElement>
229 return first() ==
nullptr;
258 last->next(this->
first());
266 TElement* result=
first();
280 TElement* elem=
first();
281 while( elem->hasNext() )
291 TElement* elem= hint;
292 while( elem->hasNext() )
306 return static_cast<TElement*
>( it );
platform_specific integer
void pushFront(TElement *elem)
SidiListHelper(const SidiListHelper ©)=delete
TElement * findLast() const
SidiListHelper() noexcept
SidiListHelper(SidiListHelper &&) noexcept=default
TNode * findAndRemove(TElement *elem)
TElement * findLastBefore(TElement *elem)
TElement * findLast(TElement *hint) const
void pushFront(TElement *first, TElement *last)
integer count(TElement *end=nullptr) const
TElement * removeRangeBehind(TElement *last)
void next(SidiNodeBase *p)
TElement * addBehind(TElement *elem)
bool pointsTo(const SidiNodeBase *elem) const
SidiNodeBase() noexcept=default
integer count(SidiNodeBase *end=nullptr) const