A smart pointer template for iterating linked lists.
More...
#include <linked.h>
template<class T>
class ucommon::linked_pointer< T >
A smart pointer template for iterating linked lists.
This class allows one to access a list of single or double linked objects and iterate through each member of a list.
- Author
- David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org
- Examples
- linked.cpp.
Definition at line 991 of file linked.h.
◆ linked_pointer() [1/6]
Create a linked pointer and assign to start of a list.
- Parameters
-
pointer | to first member of a linked list. |
Definition at line 1001 of file linked.h.
◆ linked_pointer() [2/6]
Create a copy of an existing linked pointer.
- Parameters
-
Definition at line 1009 of file linked.h.
◆ linked_pointer() [3/6]
Create a linked pointer assigned from a raw linked object pointer.
- Parameters
-
Definition at line 1017 of file linked.h.
◆ linked_pointer() [4/6]
◆ linked_pointer() [5/6]
Create a linked pointer to examine an ordered index.
- Parameters
-
index | of linked objects to iterate through. |
Definition at line 1029 of file linked.h.
◆ linked_pointer() [6/6]
Create a linked pointer not attached to a list.
Definition at line 1036 of file linked.h.
◆ getNext()
Get the next member in linked list.
Do not change who we point to.
- Returns
- next member in list or NULL if end of list.
Definition at line 1114 of file linked.h.
◆ getPrev()
Get the previous member in double linked list.
Do not change who we point to.
- Returns
- previous member in list or NULL if start of list.
Definition at line 1123 of file linked.h.
◆ is()
◆ is_next()
Test for next member in linked list.
- Returns
- true if there is more members after current one.
Definition at line 1145 of file linked.h.
◆ is_prev()
Test for previous member in double linked list.
- Returns
- true if there is more members before current one.
Definition at line 1153 of file linked.h.
◆ next()
Move (iterate) pointer to next member in linked list.
Definition at line 1106 of file linked.h.
◆ operator bool()
Test if linked pointer is set/we are not at end of list.
- Returns
- true if we are not at end of list.
Definition at line 1161 of file linked.h.
◆ operator T*()
Return object we point to by casting.
- Returns
- object linked pointer references.
Definition at line 1092 of file linked.h.
◆ operator!()
Test if linked list is empty/we are at end of list.
- Returns
- true if we are at end of list.
Definition at line 1169 of file linked.h.
◆ operator*()
Return object we currently point to.
- Returns
- object linked pointer references.
Definition at line 1084 of file linked.h.
◆ operator++()
Move (iterate) pointer to next member in linked list.
Definition at line 1130 of file linked.h.
◆ operator--()
Move (iterate) pointer to previous member in double linked list.
Definition at line 1137 of file linked.h.
◆ operator->()
Return member from typed object our pointer references.
- Returns
- evaluated member of object we point to.
Definition at line 1076 of file linked.h.
◆ operator=() [1/4]
Assign our pointer from another pointer.
- Parameters
-
Definition at line 1052 of file linked.h.
◆ operator=() [2/4]
Assign our pointer from a generic linked object pointer.
- Parameters
-
Definition at line 1068 of file linked.h.
◆ operator=() [3/4]
Assign our pointer from the start of an ordered index.
- Parameters
-
index | to assign pointer from. |
Definition at line 1060 of file linked.h.
◆ operator=() [4/4]
Assign our typed iterative pointer from a matching typed object.
- Parameters
-
Definition at line 1044 of file linked.h.
◆ prev()
Move (iterate) pointer to previous member in double linked list.
Definition at line 1099 of file linked.h.
◆ root()
Return pointer to our linked pointer to use as root node of a chain.
- Returns
- our object pointer as a root index.
Definition at line 1181 of file linked.h.
The documentation for this class was generated from the following file:
- /builddir/build/BUILD/ucommon-7.0.0-build/ucommon-7.0.0/inc/ucommon/linked.h