doc: Add serial to list of ci file reserved words
[charm.git] / src / ck-ldb / CentralLBMsg.h
1 #ifndef _CENTRALLBMSG_H_
2 #define _CENTRALLBMSG_H_
3
4 class CLBStatsMsg;
5
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();
23 };
24 PUPmarshall(CkMarshalledCLBStatsMessage)
25
26 #endif