1 #ifndef PFOD_LINKEDLIST_H_
2 #define PFOD_LINKEDLIST_H_
64 virtual size_t size();
80 virtual bool append(T* _t);
125 virtual T*
remove(
size_t idx);
132 virtual bool insertAt(T*,
size_t idx);
160 virtual T*
get(
size_t idx);
167 virtual void clear();
245 size_t idx = getIndex(_t);
271 size_t idx = getIndex(_t);
287 while (currentPtr->
next != NULL) {
288 currentPtr = currentPtr->
next;
290 currentPtr->
next = tmp;
303 if ((root == NULL) || (_t == NULL)) {
308 if (root->data == _t) {
310 root = toDelete->
next;
311 rtnData = toDelete->
data;
312 if (current == toDelete) {
325 if (listPtr->
data == _t) {
329 rtnData = toDelete->
data;
330 if (current == toDelete) {
340 lastListPtr = listPtr;
341 listPtr = listPtr->
next;
353 if ((root == NULL) || (_t == NULL)) {
359 if (listPtr->
data == _t) {
363 listPtr = listPtr->
next;
375 if ((root == NULL) || (_t == NULL)) {
378 size_t idx = getIndex(_t);
379 return (idx != size());
391 return current->data;
405 if ((root == NULL) || (_current == NULL)) {
410 if (listPtr->
data == _current) {
414 listPtr = listPtr->
next;
427 if ((root == NULL) || (idx >= size())) {
432 return remove(rtnData);
443 size_t existingIdx = getIndex(_t);
444 if (existingIdx != size()) {
461 size_t idx_1 = idx - 1;
464 while ((nodeIdx < idx_1) && (currentPtr != NULL)) {
465 currentPtr = currentPtr->
next;
472 lastListPtr->
next = tmp;
473 tmp->
next = nextListPtr;
493 root = toDelete->
next;
494 rtnData = toDelete->
data;
495 if (current == toDelete) {
514 return (current->data);
525 if (current == NULL) {
528 current = current->next;
530 return (current->data);
542 if (currentPtr == NULL) {
546 while ((count < idx) && (currentPtr != NULL)) {
547 currentPtr = currentPtr->
next;
551 return (currentPtr->
data);
564 while (root != NULL) {
pfodListNode< T > * current
virtual bool append(T *_t)
virtual T * get(size_t idx)
virtual T * getCurrentIterator()
virtual ~pfodLinkedList()
virtual bool insertAt(T *, size_t idx)
virtual bool setCurrentIterator(T *_current)
virtual size_t getIndex(T *)
virtual bool contains(T *)