summaryrefslogtreecommitdiff
path: root/include/CList.h
blob: 1bc7fe2700faacabf69890d67bf0d50e22b3dee3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#ifndef __CLIST_H__
#define __CLIST_H__

#include <PTypes.h>

#ifdef __cplusplus

class CList {
      protected:
	CList * Left, *Right;
	Key_t Key;
	Datas_t Datas;
	  CList(CList * IPoint, Datas_t IDatas, Key_t IKey);

	friend class PLList;
	friend class SList;
	friend class BHeap;

      public:
	  CList(void);
	virtual ~CList(void);

	virtual Datas_t ReadDatas(Cell C);
	virtual Key_t ReadKey(Cell C);

	virtual Cell Insert(Key_t IKey, Datas_t const &IDatas);
	virtual Key_t Delete(Datas_t & Datas, Cell C);
	virtual Cell GetFirst(void);
	virtual Key_t Pop(Datas_t & Datas);
};

#else
#error This librairy will only compile with a C++ compiler.
#endif
#endif