
00001 #ifndef _NEIGHBORLBMSG_H_ 00002 #define _NEIGHBORLBMSG_H_ 00003 00004 class NLBStatsMsg; 00005 00006 // this actually is not a real Charm++ message and CLBStatsMsg is just 00007 // a regular class with pup defined. 00008 class CkMarshalledNLBStatsMessage { 00009 NLBStatsMsg *msg; 00010 //Don't use these: only pass by reference 00011 void operator=(const CkMarshalledNLBStatsMessage &); 00012 public: 00013 inline CkMarshalledNLBStatsMessage(void) {msg=NULL;} 00014 CkMarshalledNLBStatsMessage(NLBStatsMsg *m) {msg=m;} //Takes ownership of message 00015 CkMarshalledNLBStatsMessage(const CkMarshalledNLBStatsMessage &); 00016 ~CkMarshalledNLBStatsMessage(); 00017 NLBStatsMsg *getMessage(void) {void *ret=msg; msg=NULL; return (NLBStatsMsg*)ret;} 00018 void pup(PUP::er &p); 00019 }; 00020 PUPmarshall(CkMarshalledNLBStatsMessage) 00021 00022 #endif
1.5.5