dbllist.hh
//***********************************************************************
// MODULE : DblList - Class definition *
// AUTHOR : Ron Chernich *
// PURPOSE: Maintains Double linked Lists with pointer to data. *
// HISTORY: *
// 10-JAN-93 First (MSC/C++ 7.00) version *
//***********************************************************************
#include
#include
#include
#include "rcos.hh"
#ifndef DBLLIST
#define ASCENDING 1
#define DESCENDING -1
typedef struct dbltag {
struct dbltag *prev;
struct dbltag *next;
unsigned nBytes;
void *data;
} DBLT, *PDBLT;
class DblList {
INT16 order;
PDBLT pBase;
PDBLT pCrnt;
PDBLT pTemp;
PDBLT create (void*, UINT16);
public:
DblList (INT16 = ASCENDING);
~DblList (void);
void DblDelete (void); // dispose of data object
void DblDrop (void); // purge entire list contents
void *DblGetHead (void); // return ptr to first data object
void *DblGetTail (void); // return ptr to last data object
void *DblGetNext (void); // return ptr to next, or NULL
void *DblGetPrev (void); // return ptr to previous, or NULL
void *DblAppend (void*, UINT16); // add passed object at end
void *DblInsert (void*, UINT16); // add passed obj in priority order
};
#define DBLLIST
#endif
//--------------------------------- EOF ------------------------------------