summaryrefslogtreecommitdiffstats
path: root/src/Lists.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Lists.h')
-rw-r--r--src/Lists.h130
1 files changed, 0 insertions, 130 deletions
diff --git a/src/Lists.h b/src/Lists.h
deleted file mode 100644
index 7572e882..00000000
--- a/src/Lists.h
+++ /dev/null
@@ -1,130 +0,0 @@
-#pragma once
-
-class CPtrNode
-{
-public:
- void *item;
- CPtrNode *prev;
- CPtrNode *next;
-
- void *operator new(size_t);
- void operator delete(void *p, size_t);
-};
-
-class CPtrList
-{
-public:
- CPtrNode *first;
-
- CPtrList(void) { first = nil; }
- ~CPtrList(void) { Flush(); }
- CPtrNode *FindItem(void *item){
- CPtrNode *node;
- for(node = first; node; node = node->next)
- if(node->item == item)
- return node;
- return nil;
- }
- CPtrNode *InsertNode(CPtrNode *node){
- node->prev = nil;
- node->next = first;
- if(first)
- first->prev = node;
- first = node;
- return node;
- }
- CPtrNode *InsertItem(void *item){
- CPtrNode *node = new CPtrNode;
- node->item = item;
- InsertNode(node);
- return node;
- }
- void RemoveNode(CPtrNode *node){
- if(node == first)
- first = node->next;
- if(node->prev)
- node->prev->next = node->next;
- if(node->next)
- node->next->prev = node->prev;
- }
- void DeleteNode(CPtrNode *node){
- RemoveNode(node);
- delete node;
- }
- void RemoveItem(void *item){
- CPtrNode *node, *next;
- for(node = first; node; node = next){
- next = node->next;
- if(node->item == item)
- DeleteNode(node);
- }
- }
- void Flush(void){
- CPtrNode *node, *next;
- for(node = first; node; node = next){
- next = node->next;
- DeleteNode(node);
- }
- }
-};
-
-class CSector;
-
-// This records in which sector list a Physical is
-class CEntryInfoNode
-{
-public:
- CPtrList *list; // list in sector
- CPtrNode *listnode; // node in list
- CSector *sector;
-
- CEntryInfoNode *prev;
- CEntryInfoNode *next;
-
- void *operator new(size_t);
- void operator delete(void *p, size_t);
-};
-
-class CEntryInfoList
-{
-public:
- CEntryInfoNode *first;
-
- CEntryInfoList(void) { first = nil; }
- ~CEntryInfoList(void) { Flush(); }
- CEntryInfoNode *InsertNode(CEntryInfoNode *node){
- node->prev = nil;
- node->next = first;
- if(first)
- first->prev = node;
- first = node;
- return node;
- }
- CEntryInfoNode *InsertItem(CPtrList *list, CPtrNode *listnode, CSector *sect){
- CEntryInfoNode *node = new CEntryInfoNode;
- node->list = list;
- node->listnode = listnode;
- node->sector = sect;
- InsertNode(node);
- return node;
- }
- void RemoveNode(CEntryInfoNode *node){
- if(node == first)
- first = node->next;
- if(node->prev)
- node->prev->next = node->next;
- if(node->next)
- node->next->prev = node->prev;
- }
- void DeleteNode(CEntryInfoNode *node){
- RemoveNode(node);
- delete node;
- }
- void Flush(void){
- CEntryInfoNode *node, *next;
- for(node = first; node; node = next){
- next = node->next;
- DeleteNode(node);
- }
- }
-};