0e294878dafc3e48c36401641e34ae0d126bc775
[charm.git] / src / ck-core / debug-object.h
1 #ifndef _OBJECTDATA_H
2 #define _OBJECTDATA_H
3
4 #include "charm++.h"
5
6 #if CMK_DEBUG_MODE
7
8 #define PRIME 17  // prime number for hash table
9
10 extern char* getObjectList(void);
11 extern char* getObjectContents(void);
12
13 extern "C" void  CpdInitializeObjectTable(void);
14
15 typedef struct HashTableElement {
16   Chare* charePtr;
17   int chareIndex;
18   struct HashTableElement *next;
19 };
20
21 class HashTable{
22  public:
23   HashTable();
24   ~HashTable();
25   void putObject(Chare* charePtr);
26   void removeObject(Chare* charePtr);
27   char* getObjectList(void);
28   char* getObjectContents(int chareIndex);
29  private:
30   HashTableElement *array[PRIME];
31 };
32
33 #endif
34 #endif