home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
CLASS.ZIP
/
CHAIN.H
< prev
next >
Wrap
Text File
|
1993-01-30
|
1KB
|
46 lines
#ifndef CHAIN_H
#define CHAIN_H
#include "object.h"
#define idForeachChainElementDelete 0
#define idForeachChainElementSearch 1 // Needs function chaiElement::isEqual to be overloaded
#define idForeachChainElementLast 1
class chainElement;
class chain : virtual public object // container class
{ public:
chainElement *pFirst, *pLast;
unsigned int iNumberOfElements;
chain(void);
virtual ~chain(void);
int foreach(unsigned int iMsg, void *pDummy); // calls for each chainElement
virtual void bubbleSort(void);
};
class chainElement : virtual public object // double linked list
{ public:
chain *pParent; // container
chainElement *pPrev, *pSucc;
chainElement(chain *pParentNew);
chainElement(void);
virtual ~chainElement(void);
virtual int toBeCalledForeachElement(unsigned int iMsg, void *pDummy);
virtual void insertSorted(chain *pParentNew);
virtual Boolean laterThenThis(chainElement *pElement);
virtual void exchange(chainElement *pElement);
virtual Boolean isEqual(void *pDummy);
#ifdef DEBUG
void checkConsistence(void);
#endif /* DEBUG */
};
#endif /* !CHAIN_H */