00001 #if !defined(CKMESSAGE_H) 00002 #define CKMESSAGE_H 00003 00004 #include <pup.h> 00005 00013 class CkMessage { 00014 //Don't use these: use CkCopyMsg 00015 CkMessage(const CkMessage &); 00016 void operator=(const CkMessage &); 00017 public: 00018 CkMessage() {} 00019 void operator delete(void *ptr) { CkFreeMsg(ptr); } 00020 00021 /* This pup routine only packs the message itself, *not* the 00022 message header. Use CkPupMessage instead of calling this directly. */ 00023 void pup(PUP::er &p); 00024 00026 static void ckDebugPup(PUP::er &p,void *msg); 00027 }; 00028 class CMessage_CkMessage { 00029 public: 00030 static int __idx; 00031 }; 00032 00034 class CkArgMsg : public CkMessage { 00035 public: 00036 int argc; 00037 char **argv; 00038 }; 00039 00040 #endif