#ifndef _DECL_Hello_H_ #define _DECL_Hello_H_ #include "charm++.h" /* DECLS: readonly CProxy_HelloMain mainProxy; */ /* DECLS: mainchare HelloMain: Chare{ HelloMain(CkArgMsg* impl_msg); void PrintDone(void); }; */ class HelloMain; class CkIndex_HelloMain; class CProxy_HelloMain; /* --------------- index object ------------------ */ class CkIndex_HelloMain:public CProxy_Chare{ public: typedef HelloMain local_t; typedef CkIndex_HelloMain index_t; typedef CProxy_HelloMain proxy_t; typedef CProxy_HelloMain element_t; static int __idx; static void __register(const char *s, size_t size); /* DECLS: HelloMain(CkArgMsg* impl_msg); */ static int __idx_HelloMain_CkArgMsg; static int ckNew(CkArgMsg* impl_msg) { return __idx_HelloMain_CkArgMsg; } static void _call_HelloMain_CkArgMsg(void* impl_msg,HelloMain* impl_obj); /* DECLS: void PrintDone(void); */ static int __idx_PrintDone_void; static int PrintDone(void) { return __idx_PrintDone_void; } static void _call_PrintDone_void(void* impl_msg,HelloMain* impl_obj); }; /* --------------- element proxy ------------------ */ class CProxy_HelloMain:public CProxy_Chare{ public: typedef HelloMain local_t; typedef CkIndex_HelloMain index_t; typedef CProxy_HelloMain proxy_t; typedef CProxy_HelloMain element_t; CProxy_HelloMain(void) {}; CProxy_HelloMain(CkChareID __cid) : CProxy_Chare(__cid){ } CProxy_HelloMain(const Chare *c) : CProxy_Chare(c){ } CK_DISAMBIG_CHARE(CProxy_Chare) void ckDelegate(CkDelegateMgr *dTo,CkDelegateData *dPtr=NULL) { CProxy_Chare::ckDelegate(dTo,dPtr); } void ckUndelegate(void) { CProxy_Chare::ckUndelegate(); } void pup(PUP::er &p) { CProxy_Chare::pup(p); } void ckSetChareID(const CkChareID &c) { CProxy_Chare::ckSetChareID(c); } HelloMain *ckLocal(void) const { return (HelloMain *)CkLocalChare(&ckGetChareID()); } /* DECLS: HelloMain(CkArgMsg* impl_msg); */ static CkChareID ckNew(CkArgMsg* impl_msg, int onPE=CK_PE_ANY); static void ckNew(CkArgMsg* impl_msg, CkChareID* pcid, int onPE=CK_PE_ANY); CProxy_HelloMain(CkArgMsg* impl_msg, int onPE=CK_PE_ANY); /* DECLS: void PrintDone(void); */ void PrintDone(void); }; PUPmarshall(CProxy_HelloMain) typedef CBaseT CBase_HelloMain; /* DECLS: group HelloGroup: IrrGroup{ HelloGroup(void); }; */ class HelloGroup; class CkIndex_HelloGroup; class CProxy_HelloGroup; class CProxyElement_HelloGroup; class CProxySection_HelloGroup; /* --------------- index object ------------------ */ class CkIndex_HelloGroup:public CProxyElement_IrrGroup{ public: typedef HelloGroup local_t; typedef CkIndex_HelloGroup index_t; typedef CProxy_HelloGroup proxy_t; typedef CProxyElement_HelloGroup element_t; typedef CProxySection_HelloGroup section_t; static int __idx; static void __register(const char *s, size_t size); /* DECLS: HelloGroup(void); */ static int __idx_HelloGroup_void; static int ckNew(void) { return __idx_HelloGroup_void; } static void _call_HelloGroup_void(void* impl_msg,HelloGroup* impl_obj); }; /* --------------- element proxy ------------------ */ class CProxyElement_HelloGroup: public CProxyElement_IrrGroup{ public: typedef HelloGroup local_t; typedef CkIndex_HelloGroup index_t; typedef CProxy_HelloGroup proxy_t; typedef CProxyElement_HelloGroup element_t; typedef CProxySection_HelloGroup section_t; CProxyElement_HelloGroup(void) {} CProxyElement_HelloGroup(const IrrGroup *g) : CProxyElement_IrrGroup(g){ } CProxyElement_HelloGroup(CkGroupID _gid,int _onPE,CK_DELCTOR_PARAM) : CProxyElement_IrrGroup(_gid,_onPE,CK_DELCTOR_ARGS){ } CProxyElement_HelloGroup(CkGroupID _gid,int _onPE) : CProxyElement_IrrGroup(_gid,_onPE){ } CK_DISAMBIG_GROUP_ELEMENT(CProxyElement_IrrGroup) void ckDelegate(CkDelegateMgr *dTo,CkDelegateData *dPtr=NULL) { CProxyElement_IrrGroup::ckDelegate(dTo,dPtr); } void ckUndelegate(void) { CProxyElement_IrrGroup::ckUndelegate(); } void pup(PUP::er &p) { CProxyElement_IrrGroup::pup(p); } void ckSetGroupID(CkGroupID g) { CProxyElement_IrrGroup::ckSetGroupID(g); } HelloGroup* ckLocalBranch(void) const { return ckLocalBranch(ckGetGroupID()); } static HelloGroup* ckLocalBranch(CkGroupID gID) { return (HelloGroup*)CkLocalBranch(gID); } /* DECLS: HelloGroup(void); */ }; PUPmarshall(CProxyElement_HelloGroup) /* ---------------- collective proxy -------------- */ class CProxy_HelloGroup: public CProxy_IrrGroup{ public: typedef HelloGroup local_t; typedef CkIndex_HelloGroup index_t; typedef CProxy_HelloGroup proxy_t; typedef CProxyElement_HelloGroup element_t; typedef CProxySection_HelloGroup section_t; CProxy_HelloGroup(void) {} CProxy_HelloGroup(const IrrGroup *g) : CProxy_IrrGroup(g){ } CProxy_HelloGroup(CkGroupID _gid,CK_DELCTOR_PARAM) : CProxy_IrrGroup(_gid,CK_DELCTOR_ARGS){ } CProxy_HelloGroup(CkGroupID _gid) : CProxy_IrrGroup(_gid){ } CProxyElement_HelloGroup operator[](int onPE) const {return CProxyElement_HelloGroup(ckGetGroupID(),onPE,CK_DELCTOR_CALL);} CK_DISAMBIG_GROUP(CProxy_IrrGroup) void ckDelegate(CkDelegateMgr *dTo,CkDelegateData *dPtr=NULL) { CProxy_IrrGroup::ckDelegate(dTo,dPtr); } void ckUndelegate(void) { CProxy_IrrGroup::ckUndelegate(); } void pup(PUP::er &p) { CProxy_IrrGroup::pup(p); } void ckSetGroupID(CkGroupID g) { CProxy_IrrGroup::ckSetGroupID(g); } HelloGroup* ckLocalBranch(void) const { return ckLocalBranch(ckGetGroupID()); } static HelloGroup* ckLocalBranch(CkGroupID gID) { return (HelloGroup*)CkLocalBranch(gID); } /* DECLS: HelloGroup(void); */ static CkGroupID ckNew(void); }; PUPmarshall(CProxy_HelloGroup) /* ---------------- section proxy -------------- */ class CProxySection_HelloGroup: public CProxySection_IrrGroup{ public: typedef HelloGroup local_t; typedef CkIndex_HelloGroup index_t; typedef CProxy_HelloGroup proxy_t; typedef CProxyElement_HelloGroup element_t; typedef CProxySection_HelloGroup section_t; CProxySection_HelloGroup(void) {} CProxySection_HelloGroup(const IrrGroup *g) : CProxySection_IrrGroup(g){ } CProxySection_HelloGroup(const CkGroupID &_gid,const int *_pelist,int _npes,CK_DELCTOR_PARAM) : CProxySection_IrrGroup(_gid,_pelist,_npes,CK_DELCTOR_ARGS){ } CProxySection_HelloGroup(const CkGroupID &_gid,const int *_pelist,int _npes) : CProxySection_IrrGroup(_gid,_pelist,_npes){ } CProxySection_HelloGroup(int n,const CkGroupID *_gid,const int **_pelist,const int *_npes) : CProxySection_IrrGroup(n,_gid,_pelist,_npes){ } CProxySection_HelloGroup(int n,const CkGroupID *_gid,const int **_pelist,const int *_npes,CK_DELCTOR_PARAM) : CProxySection_IrrGroup(n,_gid,_pelist,_npes,CK_DELCTOR_ARGS){ } CK_DISAMBIG_GROUP_SECTION(CProxySection_IrrGroup) void ckDelegate(CkDelegateMgr *dTo,CkDelegateData *dPtr=NULL) { CProxySection_IrrGroup::ckDelegate(dTo,dPtr); } void ckUndelegate(void) { CProxySection_IrrGroup::ckUndelegate(); } void pup(PUP::er &p) { CProxySection_IrrGroup::pup(p); } void ckSetGroupID(CkGroupID g) { CProxySection_IrrGroup::ckSetGroupID(g); } HelloGroup* ckLocalBranch(void) const { return ckLocalBranch(ckGetGroupID()); } static HelloGroup* ckLocalBranch(CkGroupID gID) { return (HelloGroup*)CkLocalBranch(gID); } /* DECLS: HelloGroup(void); */ }; PUPmarshall(CProxySection_HelloGroup) typedef CBaseT CBase_HelloGroup; extern void _registerHello(void); extern "C" void CkRegisterMainModule(void); #endif