 |
ALib C++ Library
|
Library Version: 1912 R0
Documentation generated by
|
Go to the documentation of this file.
8 #ifndef HPP_ALIB_FS_LISTS_FORWARDLIST
9 #define HPP_ALIB_FS_LISTS_FORWARDLIST 1
11 #if !defined(HPP_ALIB_FS_INTEGERS_INTEGERS)
15 #if !defined (_GLIBCXX_ITERATOR) && !defined (_ITERATOR_)
19 namespace aworx {
namespace lib {
24 template<
typename TElement>
struct BidiNode;
25 template<
typename TElement>
struct BidiList;
74 template<
typename TElement>
77 #if !defined(ALIB_DOX)
209 TElement* result = elem->forward;
222 TElement* result = last->forward;
292 return static_cast<TElement*>(pointer= pointer->
forward);
302 pointer= pointer->forward;
321 template<
typename TElement>
322 struct ForwardListIterator
323 :
public std::iterator< std::forward_iterator_tag,
324 ForwardNode<TElement>,
326 ForwardNode<TElement>*,
327 ForwardNode<TElement>&
365 return element == other.element;
373 return !(*
this == other);
417 template<
typename TElement>
418 struct ForwardList :
private ForwardNode<TElement>
447 move.forward=
nullptr;
467 move.forward=
nullptr;
496 return start() ==
nullptr;
503 return start() !=
nullptr;
531 elem->forward=
start();
540 last->forward=
start();
551 auto* result=
start();
564 TElement* elem=
start();
565 while( elem->hasNext() )
575 TElement* elem= hint;
576 while( elem->hasNext() )
656 #endif // HPP_ALIB_FS_LISTS_FORWARDLIST
ForwardListIterator< TElement > Iterator
ForwardList & operator=(const ForwardList ©) noexcept
ForwardListIterator(TElement *start) noexcept
ForwardListIterator< TElement > Iterator
ConstIterator begin() const
ForwardNode() noexcept=default
platform_specific integer
ForwardListIterator operator++(int)
ForwardList(const ForwardList ©) noexcept
bool operator==(ForwardListIterator other) const
bool operator!=(ForwardListIterator other) const
TNode * findLastBefore(TElement *elem)
void setStart(TElement *elem)
ForwardListIterator & operator++()
TElement * makePointTo(TElement *elem)
TElement * findLast(TElement *hint) const
static TElement * moveForward(TNode *&pointer)
ForwardListIterator< const TElement > ConstIterator
TElement * addBehind(TElement *first, TElement *last)
TElement * addBehind(TElement *elem)
ConstIterator end() const
TElement * findLast() const
TElement & operator*() const
void pushFront(TElement *elem)
integer count(TElement *end=nullptr) const
static integer count(TElement *start, TElement *end=nullptr)
ForwardList(ForwardList &&move) noexcept
bool pointsTo(TElement *elem) const
ForwardListIterator< const TElement > ConstIterator
TElement * removeRangeBehind(TElement *last)
ConstIterator cbegin() const
ConstIterator begin() const
ForwardList(TElement *first) noexcept
static void moveForward(TElement *&pointer)
void pushFront(TElement *first, TElement *last)
TElement * operator->() const
ConstIterator cbegin() const
ConstIterator end() const
ConstIterator cend() const
TNode * findAndRemove(TElement *elem)
ConstIterator cend() const