Line data Source code
1 : #include "ObjectList.h"
2 : #include "ObjectNode.h"
3 :
4 70 : ObjectList::ObjectList() {
5 35 : head = NULL;
6 35 : size = 0;
7 70 : }
8 :
9 70 : ObjectList::~ObjectList() {
10 35 : head = NULL;
11 70 : }
12 :
13 31 : void ObjectList::insertFront(ObjectNode* objectNode) {
14 31 : if (objectNode == NULL)
15 1 : return;
16 :
17 30 : objectNode->next = head;
18 30 : objectNode->prev = NULL;
19 :
20 30 : if (head != NULL)
21 17 : head->prev = objectNode;
22 :
23 30 : head = objectNode;
24 :
25 30 : size++;
26 31 : }
27 :
28 21 : void ObjectList::remove(ObjectNode* objectNode) {
29 21 : if (objectNode == NULL)
30 1 : return;
31 :
32 20 : if (objectNode->prev != NULL)
33 1 : objectNode->prev->next = objectNode->next;
34 : else
35 19 : head = objectNode->next;
36 :
37 20 : if (objectNode->next != NULL)
38 11 : objectNode->next->prev = objectNode->prev;
39 :
40 20 : objectNode->prev = objectNode->next = NULL;
41 :
42 20 : size--;
43 21 : }
|