1 #ifndef PFOD_LINKEDLIST_H_
2 #define PFOD_LINKEDLIST_H_
151 virtual T*
get(
size_t idx);
234 size_t idx = getIndex(_t);
260 size_t idx = getIndex(_t);
276 while (currentPtr->
next != NULL) {
277 currentPtr = currentPtr->
next;
279 currentPtr->
next = tmp;
292 if ((root == NULL) || (_t == NULL)) {
297 if (root->data == _t) {
299 root = toDelete->
next;
300 rtnData = toDelete->
data;
301 if (current == toDelete) {
314 if (listPtr->
data == _t) {
318 rtnData = toDelete->
data;
319 if (current == toDelete) {
329 lastListPtr = listPtr;
330 listPtr = listPtr->
next;
342 if ((root == NULL) || (_t == NULL)) {
348 if (listPtr->
data == _t) {
352 listPtr = listPtr->
next;
366 return current->data;
380 if ((root == NULL) || (_current == NULL)) {
385 if (listPtr->
data == _current) {
389 listPtr = listPtr->
next;
402 if ((root == NULL) || (idx >= size())) {
407 return remove(rtnData);
418 size_t existingIdx = getIndex(_t);
419 if (existingIdx != size()) {
436 size_t idx_1 = idx - 1;
439 while ((count < idx_1) && (currentPtr != NULL)) {
440 currentPtr = currentPtr->
next;
447 lastListPtr->
next = tmp;
448 tmp->
next = nextListPtr;
468 root = toDelete->
next;
469 rtnData = toDelete->
data;
470 if (current == toDelete) {
489 return (current->data);
500 if (current == NULL) {
503 current = current->next;
505 return (current->data);
517 if (currentPtr == NULL) {
521 while ((count < idx) && (currentPtr != NULL)) {
522 currentPtr = currentPtr->
next;
526 return (currentPtr->
data);
539 while (root != NULL) {
pfodListNode< T > * current
virtual T * remove(size_t idx)
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 *)