Cleanup #48: Move SdagConstruct::numberNodes into each subclass
[charm.git] / src / ck-ldb / CentralLBMsg.h
blobefc640b284c89978a8a0a61b5865e80709bae0cd
1 #ifndef _CENTRALLBMSG_H_
2 #define _CENTRALLBMSG_H_
4 class CLBStatsMsg;
6 // this actually is not a real Charm++ message and CLBStatsMsg is just
7 // a regular class with pup defined.
8 class CkMarshalledCLBStatsMessage {
9 CkVec<CLBStatsMsg *> msgs;
10 //Don't use these: only pass by reference
11 void operator=(const CkMarshalledCLBStatsMessage &);
12 public:
13 CkMarshalledCLBStatsMessage(void) {}
14 CkMarshalledCLBStatsMessage(CLBStatsMsg *m) { add(m); } //Takes ownership of message
15 CkMarshalledCLBStatsMessage(const CkMarshalledCLBStatsMessage &);
16 ~CkMarshalledCLBStatsMessage() { free(); }
17 void add(CLBStatsMsg *m) { if (m!=NULL) msgs.push_back(m); }
18 void add(CkMarshalledCLBStatsMessage &msg); // add multiple messages
19 CLBStatsMsg *getMessage(int c=0) {CLBStatsMsg *ret=msgs[c]; msgs[c]=NULL; return ret;}
20 int getCount() { return msgs.size(); }
21 void pup(PUP::er &p);
22 void free();
24 PUPmarshall(CkMarshalledCLBStatsMessage)
26 #endif