doc: Add serial to list of ci file reserved words
[charm.git] / src / ck-ldb / CommLBHeap.h
1 /**
2  * \addtogroup CkLdb
3 */
4 /*@{*/
5
6 #ifndef __COMM_LB_HEAP
7 #define __COMM_LB_HEAP
8
9 class ObjectRecord {
10  public:
11   double val;   // value on which the heap is built
12   int pe;
13   int pos; 
14   int id; // should replace other Ids.
15 };
16
17 class hRecord {
18  public:
19   short deleted; // boolean
20   ObjectRecord *info;
21 };
22
23 class hIterator {
24  public:
25   int next;
26 };
27
28 class ObjectHeap {
29  private:
30   hRecord *h;
31   int count;
32   int size;
33
34   void swap(int i, int j) {
35     hRecord temp = h[i];
36     h[i] = h[j];
37     h[j] = temp;
38   }
39   
40  public:
41   ObjectHeap(int size);
42   ~ObjectHeap()  { delete [] h; }
43   int numElements();
44   int insert(ObjectRecord *);
45   ObjectRecord *deleteMax();
46   ObjectRecord *iterator(hIterator *);
47   ObjectRecord *next(hIterator *);
48 };
49
50 #endif
51
52 /*@}*/