1 #if !defined(CKMESSAGE_H)
7 * CkMessage is the superclass of all Charm++ messages.
8 * Typically, a message foo inherits from CMessage_foo, which
9 * inherits from CkMessage. In the internals of Charm++,
10 * messages are often represented by bare "void *"s, which is
11 * silly and dangerous.
14 //Don't use these: use CkCopyMsg
15 CkMessage(const CkMessage
&);
16 void operator=(const CkMessage
&);
19 void operator delete(void *ptr
) { CkFreeMsg(ptr
); }
21 /* This pup routine only packs the message itself, *not* the
22 message header. Use CkPupMessage instead of calling this directly. */
25 /// This is used to display message contents in the debugger.
26 static void ckDebugPup(PUP::er
&p
,void *msg
);
28 class CMessage_CkMessage
{
33 /// CkArgMsg is passed to the mainchare's constructor.
34 class CkArgMsg
: public CkMessage
{