summaryrefslogtreecommitdiff
path: root/include/PLList.h
blob: 6e9af251d82913a29cc16e09d3dbbfa78f41d8fd (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
#ifndef __PLLIST_H__
#define __PLLIST_H__

#include <PCommon.h>
#include <SList.h>

#ifdef __cplusplus
class PLList:public PriorityList { private:
	SList Head;

      public:
	PLList(void);
	 ~PLList(void);

	virtual Key_t ReadKey(Cell C);
	virtual Datas_t ReadDatas(Cell C);
	virtual int rn(void);

	virtual void Dump(ostream & os);
	virtual bool IsEmpty(void);

	virtual Cell Min(void);
	virtual Cell Insert(Key_t IKey, Datas_t const &IDatas);
	virtual Key_t Extract_Min(Datas_t & Datas);
	virtual PriorityList *Union(PriorityList * P);
	virtual bool Lower_Key(Cell x, Key_t NKey);
	virtual Key_t Delete(Datas_t & Datas, Cell x);
};

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