Removing assert statement that caused strategies only to work with 1d chare arrays.
[charm.git] / src / ck-com / ComlibArrayListener.h
1
2 ///*@{*/
3 //
4 ///** @file */
5 //
6 //#ifndef COMMLIBARRAYLISTENER_H
7 //#define COMMLIBARRAYLISTENER_H
8 //
9 //#include "ComlibStrategy.h"
10 //
11 ///**
12 // * This class is used by the ComlibArrayInfo class to keep track of new objects
13 // * when the user specification is so. Namely, a ComlibArrayInfo can register
14 // * itself with this ArrayListener so that every element that for every element
15 // * that is created on this processor, the ComlibArrayInfo class is notified and
16 // * can take appropriate action.
17 // */
18 //class ComlibArrayListener : public CkArrayListener {
19 //  //int nElements;
20 //  int setupFinished;
21 //  CkArrayID thisArrayID;
22 //  /*
23 //  CkVec <StrategyTableEntry *> strategyList;
24 //  CkHashtableT<CkArrayIndexMax, CkArrayIndexMax*> *ht;
25 //    
26 //  int isRegistered(ArrayElement *elt, CharmStrategy *astrat);
27 //  void addElement(ArrayElement *elt, CmiBool mogration_flag);
28 //  void deleteElement(ArrayElement *elt, CmiBool migration_flag);
29 //  */
30 //  CkVec<ComlibArrayInfo*> users;
31 //  CkVec<int> userIDs;
32 //
33 // public:
34 //  ComlibArrayListener(CkArrayID &id);
35 //  ComlibArrayListener(CkMigrateMessage *);
36 //
37 //  inline bool operator==(CkArrayID &a) {
38 //    return (thisArrayID == a);
39 //  }
40 //
41 //  inline bool operator==(ComlibArrayListener &l) {
42 //    return operator==(l.thisArrayID);
43 //  }
44 //
45 //  inline void registerUser(ComlibArrayInfo *ai, int stratid=0) {
46 //    users.push_back(ai);
47 //    userIDs.push_back(stratid);
48 //  }
49 //
50 //  void ckEndInserting();
51 //
52 //  void ckElementCreating(ArrayElement *elt);
53 //  //void ckElementDied(ArrayElement *elt);
54 //    
55 //  //void ckElementLeaving(ArrayElement *elt);
56 //  //CmiBool ckElementArriving(ArrayElement *elt);
57 //    
58 //  //Add strategy to listening list, strategy will get an the number
59 //  //of array elements lying on that processor
60 //  //void registerStrategy(StrategyTableEntry *);
61 //
62 //  //remove strategy from table, and now it will not get updates
63 //  //about this array
64 //  /*
65 //  void unregisterStrategy(StrategyTableEntry *entry) {
66 //    for(int count = 0; count < strategyList.size(); count++)
67 //      if(strategyList[count] == entry)
68 //      strategyList.remove(count);
69 //  }
70 //
71 //  void getLocalIndices(CkVec<CkArrayIndexMax> &vec);
72 //  */
73 //
74 //  void pup(PUP::er &p);
75 //  PUPable_decl(ComlibArrayListener);
76 //};
77 //
78 //#endif
79 //
80 ///*@}*/