configure: remove obsolete test for C++ namespace support
[charm.git] / src / ck-core / middle-conv.h
1 #ifndef _MIDDLE_CONV_H_
2 #define _MIDDLE_CONV_H_
3
4 #include "converse.h"
5
6 #define CkpvDeclare     CpvDeclare
7 #define CkpvExtern      CpvExtern
8 #define CkpvStaticDeclare  CpvStaticDeclare
9 #define CkpvInitialize  CpvInitialize
10 #define CkpvInitialized CpvInitialized
11 #define CkpvAccess      CpvAccess
12 #define CkpvAccessOther CpvAccessOther
13
14 #define CksvDeclare        CsvDeclare
15 #define CksvExtern         CsvExtern
16 #define CksvStaticDeclare  CsvStaticDeclare
17 #define CksvInitialize     CsvInitialize
18 #define CksvAccess         CsvAccess
19
20 #define CkReduce    CmiReduce
21
22 #undef CkMyPe
23 #undef CkNumPes
24
25 #define CkRegisterHandler(x)          CmiRegisterHandler(x)
26 #define CkNumberHandler(n, x)         CmiNumberHandler(n, x)
27 #define CkNumberHandlerEx(n, x, p)    CmiNumberHandlerEx(n, x, p)
28
29 #undef CmiSyncSend
30 #undef CmiSyncSendAndFree
31 #undef CmiSyncBroadcast
32 #undef CmiSyncBroadcastAndFree
33 #undef CmiSyncBroadcastAll
34 #undef CmiSyncBroadcastAllAndFree
35 #undef CmiSyncListSend
36 #undef CmiSyncListSendAndFree
37 #undef CmiSyncMulticast
38 #undef CmiSyncMulticastAndFree
39
40 #define CksdScheduler                   CsdScheduler
41 #define CksdExitScheduler               CsdExitScheduler
42 #define CkDeliverMsgs                   CmiDeliverMsgs
43
44 #define CkVTimer(x)           0
45 #define CkElapse(x)   
46
47 #if CMK_CHARMDEBUG
48 extern "C" int ConverseDeliver(int pe);
49 #else
50 #define ConverseDeliver(pe)   1
51 #endif
52
53 namespace Converse {
54
55 static inline int CkMyPe() { return CmiMyPe(); }
56 static inline int CkNumPes() { return CmiNumPes(); }
57
58 static inline void CmiSyncSend(int x, int y, char *z) 
59 {
60   if (ConverseDeliver(x)) CmiSyncSendFn(x, y, z);
61 }
62 static inline void CmiSyncSendAndFree(int x, int y, char *z)
63 {
64   if (ConverseDeliver(x)) CmiFreeSendFn(x, y, z);
65 }
66 static inline void CmiSyncBroadcast(int x, char *y)
67 {
68   if (ConverseDeliver(x)) CmiSyncBroadcastFn(x, y);
69 }
70 static inline void CmiSyncBroadcastAndFree(int x, char *y)
71 {
72   if (ConverseDeliver(x)) CmiFreeBroadcastFn(x, y);
73 }
74 static inline void CmiSyncBroadcastAll(int x, char *y)
75 {
76   if (ConverseDeliver(x)) CmiSyncBroadcastAllFn(x, y);
77 }
78 static inline void CmiSyncBroadcastAllAndFree(int x, char *y)
79 {
80   if (ConverseDeliver(x)) CmiFreeBroadcastAllFn(x, y);
81 }
82 static inline void CmiSyncListSend(int x, int *y, int w, char *z)
83 {
84   if (ConverseDeliver(-1)) CmiSyncListSendFn(x, y, w, z);
85 }
86 static inline void CmiSyncListSendAndFree(int x, int *y, int w, char *z)
87 {
88   if (ConverseDeliver(-1)) CmiFreeListSendFn(x, y, w, z);
89 }
90 static inline void CmiSyncMulticast(CmiGroup x, int y, char *z)
91 {
92   if (ConverseDeliver(-1)) CmiSyncMulticastFn(x, y, z);
93 }
94 static inline void CmiSyncMulticastAndFree(CmiGroup x, int y, char *z)
95 {
96   if (ConverseDeliver(-1)) CmiFreeMulticastFn(x, y, z);
97 }
98
99 #if 0
100 template <class d>
101 class Cpv {
102 public:
103 #if CMK_SHARED_VARS_UNAVAILABLE
104   d data;
105 #else
106   d *data;
107 #endif
108 public:
109   void init(void) {
110   }
111   d& operator = (d& val) {data = val.data;}
112 };
113 #endif
114
115 }
116
117
118 /*
119 #define CpvDeclare(t, v) Cpv<t> v
120 #define CpvExtern(t,v)   extern Cpv<t> v
121 #define CpvStaticDeclare(t,v)  static Cpv<t> v
122 #define CpvInitialize(t,v)     v.init()
123 #define CpvAccess(v)  v.data
124 */
125
126
127
128 #endif