Remote Call Framework 3.0
Idl.hpp
1 
2 //******************************************************************************
3 // RCF - Remote Call Framework
4 //
5 // Copyright (c) 2005 - 2018, Delta V Software. All rights reserved.
6 // http://www.deltavsoft.com
7 //
8 // RCF is distributed under dual licenses - closed source or GPL.
9 // Consult your particular license for conditions of use.
10 //
11 // If you have not purchased a commercial license, you are using RCF
12 // under GPL terms.
13 //
14 // Version: 3.0
15 // Contact: support <at> deltavsoft.com
16 //
17 //******************************************************************************
18 
19 #ifndef INCLUDE_RCF_IDL_HPP
20 #define INCLUDE_RCF_IDL_HPP
21 
22 #include <memory>
23 #include <type_traits>
24 
25 #include <RCF/Config.hpp>
26 #include <RCF/Exception.hpp>
27 #include <RCF/Future.hpp>
28 #include <RCF/RcfClient.hpp>
29 #include <RCF/ServerStub.hpp>
30 
31 namespace RCF
32 {
33  class ClientStub;
34  typedef std::shared_ptr<ClientStub> ClientStubPtr;
35 }
36 
37 #define RCF_BEGIN(InterfaceT, Name) \
38  \
39  template<typename T> \
40  class RcfClient; \
41  \
42  class InterfaceT \
43  { \
44  public: \
45  typedef RcfClient<InterfaceT> RcfClientT; \
46  static std::string getInterfaceName() \
47  { \
48  std::string interfaceName(Name); \
49  if (interfaceName.empty()) \
50  { \
51  interfaceName = #InterfaceT; \
52  } \
53  return interfaceName; \
54  } \
55  }; \
56  \
57  template<> \
58  class RcfClient< InterfaceT > : \
59  public ::RCF::I_RcfClient \
60  { \
61  public: \
62  \
63  RcfClient() : \
64  I_RcfClient( ::RCF::getInterfaceName( (InterfaceT *) NULL) ) \
65  { \
66  } \
67  \
68  template<typename RefWrapperT> \
69  RcfClient( \
70  ::RCF::ServerBindingPtr serverStubPtr, \
71  RefWrapperT refWrapper, \
72  RCF::TrueType *) : \
73  I_RcfClient( \
74  ::RCF::getInterfaceName( (InterfaceT *) NULL), \
75  serverStubPtr) \
76  { \
77  getServerStub().addServerMethods(*this, refWrapper); \
78  } \
79  \
80  RcfClient( \
81  const ::RCF::Endpoint & endpoint, \
82  const std::string & targetName = "") : \
83  I_RcfClient( \
84  ::RCF::getInterfaceName( (InterfaceT *) NULL), \
85  endpoint, \
86  targetName) \
87  { \
88  } \
89  \
90  RcfClient( \
91  ::RCF::ClientTransportUniquePtr clientTransportUniquePtr, \
92  const std::string & targetName = "") : \
93  I_RcfClient( \
94  ::RCF::getInterfaceName( (InterfaceT *) NULL), \
95  std::move(clientTransportUniquePtr), \
96  targetName) \
97  { \
98  } \
99  \
100  RcfClient( \
101  const ::RCF::ClientStub & clientStub, \
102  const std::string & targetName = "") : \
103  I_RcfClient( \
104  ::RCF::getInterfaceName( (InterfaceT *) NULL), \
105  clientStub, \
106  targetName) \
107  { \
108  } \
109  \
110  RcfClient( \
111  const ::RCF::I_RcfClient & rhs) : \
112  I_RcfClient( \
113  ::RCF::getInterfaceName( (InterfaceT *) NULL), \
114  rhs) \
115  { \
116  } \
117  \
118  ~RcfClient() \
119  { \
120  } \
121  \
122  private: \
123  \
124  template<typename N, typename T> \
125  void callMethod( \
126  const N &, \
127  ::RCF::RcfSession &, \
128  const T &) \
129  { \
130  ::RCF::Exception e(RCF::RcfError_FnId, N::value); \
131  RCF_THROW(e); \
132  } \
133  \
134  const char * getFunctionName(...) \
135  { \
136  RCF_ASSERT_ALWAYS("getFunctionName() - invalid function id"); \
137  return ""; \
138  } \
139  \
140  const char * getArity(...) \
141  { \
142  return ""; \
143  } \
144  \
145  typedef RcfClient< InterfaceT > ThisT; \
146  typedef ::RCF::Dummy<ThisT> DummyThisT; \
147  \
148  friend class ::RCF::StubAccess; \
149  friend class ::RCF::ServerBinding; \
150  \
151  friend ::RCF::default_ RCF_make_next_dispatch_id_func( \
152  DummyThisT *, \
153  ThisT *, \
154  ...); \
155  public: \
156  typedef InterfaceT Interface;
157 
158 
159 
160 #define RCF_END( InterfaceT ) \
161  };
162 
163 #define RCF_METHOD_PLACEHOLDER() \
164  RCF_METHOD_PLACEHOLDER_(RCF_MAKE_UNIQUE_ID(PlaceHolder, V0))
165 
166 #define RCF_METHOD_PLACEHOLDER_(id) \
167  public: \
168  RCF_MAKE_NEXT_DISPATCH_ID(id) \
169  private:
170 
171 // Generated file with all the RCF_METHOD macros.
172 #include "RcfMethodGen.hpp"
173 
174 // Macro machinery for compile-time method ID's.
175 
176 // RCF_MAKE_UNIQUE_ID
177 
178 static_assert( sizeof(RCF::defined_) != sizeof(RCF::default_), "Internal data structure mismatch.");
179 
180 #define RCF_PP_CAT_I(a,b) a##b
181 #define RCF_PP_CAT(a,b) RCF_PP_CAT_I(a,b)
182 #define RCF_PP_CAT_4(arg1, arg2, arg3, arg4) RCF_PP_CAT( arg1, RCF_PP_CAT( arg2, RCF_PP_CAT(arg3, arg4) ) )
183 
184 #define RCF_MAKE_UNIQUE_ID(func, sig) RCF_PP_CAT_4(rcf_unique_id_, func, sig, __LINE__)
185 
186 #define RCF_MAKE_NEXT_DISPATCH_ID(next_dispatch_id) \
187  RCF_ADVANCE_STATIC_ID(next_dispatch_id, RCF_make_next_dispatch_id_func, DummyThisT, ThisT, friend)
188 
189 #if RCF_MAX_METHOD_COUNT <= 35
190 
191 #define RCF_ADVANCE_STATIC_ID(next_static_id, helper_func, T1, T2, friend_or_not) \
192  typedef \
193  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 0> *) 0)) == sizeof(RCF::defined_)) >, \
194  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 1> *) 0)) == sizeof(RCF::defined_)) >, \
195  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 2> *) 0)) == sizeof(RCF::defined_)) >, \
196  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 3> *) 0)) == sizeof(RCF::defined_)) >, \
197  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 4> *) 0)) == sizeof(RCF::defined_)) >, \
198  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 5> *) 0)) == sizeof(RCF::defined_)) >, \
199  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 6> *) 0)) == sizeof(RCF::defined_)) >, \
200  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 7> *) 0)) == sizeof(RCF::defined_)) >, \
201  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 8> *) 0)) == sizeof(RCF::defined_)) >, \
202  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 9> *) 0)) == sizeof(RCF::defined_)) >, \
203  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<10> *) 0)) == sizeof(RCF::defined_)) >, \
204  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<11> *) 0)) == sizeof(RCF::defined_)) >, \
205  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<12> *) 0)) == sizeof(RCF::defined_)) >, \
206  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<13> *) 0)) == sizeof(RCF::defined_)) >, \
207  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<14> *) 0)) == sizeof(RCF::defined_)) >, \
208  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<15> *) 0)) == sizeof(RCF::defined_)) >, \
209  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<16> *) 0)) == sizeof(RCF::defined_)) >, \
210  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<17> *) 0)) == sizeof(RCF::defined_)) >, \
211  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<18> *) 0)) == sizeof(RCF::defined_)) >, \
212  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<19> *) 0)) == sizeof(RCF::defined_)) >, \
213  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<20> *) 0)) == sizeof(RCF::defined_)) >, \
214  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<21> *) 0)) == sizeof(RCF::defined_)) >, \
215  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<22> *) 0)) == sizeof(RCF::defined_)) >, \
216  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<23> *) 0)) == sizeof(RCF::defined_)) >, \
217  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<24> *) 0)) == sizeof(RCF::defined_)) >, \
218  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<25> *) 0)) == sizeof(RCF::defined_)) >, \
219  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<26> *) 0)) == sizeof(RCF::defined_)) >, \
220  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<27> *) 0)) == sizeof(RCF::defined_)) >, \
221  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<28> *) 0)) == sizeof(RCF::defined_)) >, \
222  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<29> *) 0)) == sizeof(RCF::defined_)) >, \
223  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<30> *) 0)) == sizeof(RCF::defined_)) >, \
224  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<31> *) 0)) == sizeof(RCF::defined_)) >, \
225  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<32> *) 0)) == sizeof(RCF::defined_)) >, \
226  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<33> *) 0)) == sizeof(RCF::defined_)) >, \
227  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<34> *) 0)) == sizeof(RCF::defined_)) >, \
228  RCF::Int<35>, \
229  RCF::Int<34> >::type, \
230  RCF::Int<33> >::type, \
231  RCF::Int<32> >::type, \
232  RCF::Int<31> >::type, \
233  RCF::Int<30> >::type, \
234  RCF::Int<29> >::type, \
235  RCF::Int<28> >::type, \
236  RCF::Int<27> >::type, \
237  RCF::Int<26> >::type, \
238  RCF::Int<25> >::type, \
239  RCF::Int<24> >::type, \
240  RCF::Int<23> >::type, \
241  RCF::Int<22> >::type, \
242  RCF::Int<21> >::type, \
243  RCF::Int<20> >::type, \
244  RCF::Int<19> >::type, \
245  RCF::Int<18> >::type, \
246  RCF::Int<17> >::type, \
247  RCF::Int<16> >::type, \
248  RCF::Int<15> >::type, \
249  RCF::Int<14> >::type, \
250  RCF::Int<13> >::type, \
251  RCF::Int<12> >::type, \
252  RCF::Int<11> >::type, \
253  RCF::Int<10> >::type, \
254  RCF::Int< 9> >::type, \
255  RCF::Int< 8> >::type, \
256  RCF::Int< 7> >::type, \
257  RCF::Int< 6> >::type, \
258  RCF::Int< 5> >::type, \
259  RCF::Int< 4> >::type, \
260  RCF::Int< 3> >::type, \
261  RCF::Int< 2> >::type, \
262  RCF::Int< 1> >::type, \
263  RCF::Int< 0> >::type next_static_id; \
264  friend_or_not RCF::defined_ helper_func(T1 *, T2 *, next_static_id *);
265 
266 
267 #define RCF_CURRENT_STATIC_ID(current_static_id, helper_func, T1, T2) \
268  typedef \
269  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 0> *) 0)) == sizeof(RCF::defined_)) >, \
270  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 1> *) 0)) == sizeof(RCF::defined_)) >, \
271  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 2> *) 0)) == sizeof(RCF::defined_)) >, \
272  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 3> *) 0)) == sizeof(RCF::defined_)) >, \
273  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 4> *) 0)) == sizeof(RCF::defined_)) >, \
274  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 5> *) 0)) == sizeof(RCF::defined_)) >, \
275  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 6> *) 0)) == sizeof(RCF::defined_)) >, \
276  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 7> *) 0)) == sizeof(RCF::defined_)) >, \
277  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 8> *) 0)) == sizeof(RCF::defined_)) >, \
278  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 9> *) 0)) == sizeof(RCF::defined_)) >, \
279  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<10> *) 0)) == sizeof(RCF::defined_)) >, \
280  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<11> *) 0)) == sizeof(RCF::defined_)) >, \
281  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<12> *) 0)) == sizeof(RCF::defined_)) >, \
282  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<13> *) 0)) == sizeof(RCF::defined_)) >, \
283  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<14> *) 0)) == sizeof(RCF::defined_)) >, \
284  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<15> *) 0)) == sizeof(RCF::defined_)) >, \
285  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<16> *) 0)) == sizeof(RCF::defined_)) >, \
286  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<17> *) 0)) == sizeof(RCF::defined_)) >, \
287  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<18> *) 0)) == sizeof(RCF::defined_)) >, \
288  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<19> *) 0)) == sizeof(RCF::defined_)) >, \
289  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<20> *) 0)) == sizeof(RCF::defined_)) >, \
290  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<21> *) 0)) == sizeof(RCF::defined_)) >, \
291  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<22> *) 0)) == sizeof(RCF::defined_)) >, \
292  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<23> *) 0)) == sizeof(RCF::defined_)) >, \
293  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<24> *) 0)) == sizeof(RCF::defined_)) >, \
294  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<25> *) 0)) == sizeof(RCF::defined_)) >, \
295  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<26> *) 0)) == sizeof(RCF::defined_)) >, \
296  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<27> *) 0)) == sizeof(RCF::defined_)) >, \
297  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<28> *) 0)) == sizeof(RCF::defined_)) >, \
298  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<29> *) 0)) == sizeof(RCF::defined_)) >, \
299  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<30> *) 0)) == sizeof(RCF::defined_)) >, \
300  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<31> *) 0)) == sizeof(RCF::defined_)) >, \
301  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<32> *) 0)) == sizeof(RCF::defined_)) >, \
302  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<33> *) 0)) == sizeof(RCF::defined_)) >, \
303  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<34> *) 0)) == sizeof(RCF::defined_)) >, \
304  RCF::Int<34>, \
305  RCF::Int<33> >::type, \
306  RCF::Int<32> >::type, \
307  RCF::Int<31> >::type, \
308  RCF::Int<30> >::type, \
309  RCF::Int<29> >::type, \
310  RCF::Int<28> >::type, \
311  RCF::Int<27> >::type, \
312  RCF::Int<26> >::type, \
313  RCF::Int<25> >::type, \
314  RCF::Int<24> >::type, \
315  RCF::Int<23> >::type, \
316  RCF::Int<22> >::type, \
317  RCF::Int<21> >::type, \
318  RCF::Int<20> >::type, \
319  RCF::Int<19> >::type, \
320  RCF::Int<18> >::type, \
321  RCF::Int<17> >::type, \
322  RCF::Int<16> >::type, \
323  RCF::Int<15> >::type, \
324  RCF::Int<14> >::type, \
325  RCF::Int<13> >::type, \
326  RCF::Int<12> >::type, \
327  RCF::Int<11> >::type, \
328  RCF::Int<10> >::type, \
329  RCF::Int< 9> >::type, \
330  RCF::Int< 8> >::type, \
331  RCF::Int< 7> >::type, \
332  RCF::Int< 6> >::type, \
333  RCF::Int< 5> >::type, \
334  RCF::Int< 4> >::type, \
335  RCF::Int< 3> >::type, \
336  RCF::Int< 2> >::type, \
337  RCF::Int< 1> >::type, \
338  RCF::Int< 0> >::type, \
339  RCF::Int<-1> >::type current_static_id;
340 
341 
342 #elif RCF_MAX_METHOD_COUNT <= 100
343 
344 #define RCF_ADVANCE_STATIC_ID(next_static_id, helper_func, T1, T2, friend_or_not) \
345  typedef \
346  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 0> *) 0)) == sizeof(RCF::defined_)) >, \
347  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 1> *) 0)) == sizeof(RCF::defined_)) >, \
348  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 2> *) 0)) == sizeof(RCF::defined_)) >, \
349  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 3> *) 0)) == sizeof(RCF::defined_)) >, \
350  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 4> *) 0)) == sizeof(RCF::defined_)) >, \
351  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 5> *) 0)) == sizeof(RCF::defined_)) >, \
352  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 6> *) 0)) == sizeof(RCF::defined_)) >, \
353  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 7> *) 0)) == sizeof(RCF::defined_)) >, \
354  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 8> *) 0)) == sizeof(RCF::defined_)) >, \
355  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 9> *) 0)) == sizeof(RCF::defined_)) >, \
356  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<10> *) 0)) == sizeof(RCF::defined_)) >, \
357  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<11> *) 0)) == sizeof(RCF::defined_)) >, \
358  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<12> *) 0)) == sizeof(RCF::defined_)) >, \
359  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<13> *) 0)) == sizeof(RCF::defined_)) >, \
360  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<14> *) 0)) == sizeof(RCF::defined_)) >, \
361  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<15> *) 0)) == sizeof(RCF::defined_)) >, \
362  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<16> *) 0)) == sizeof(RCF::defined_)) >, \
363  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<17> *) 0)) == sizeof(RCF::defined_)) >, \
364  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<18> *) 0)) == sizeof(RCF::defined_)) >, \
365  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<19> *) 0)) == sizeof(RCF::defined_)) >, \
366  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<20> *) 0)) == sizeof(RCF::defined_)) >, \
367  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<21> *) 0)) == sizeof(RCF::defined_)) >, \
368  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<22> *) 0)) == sizeof(RCF::defined_)) >, \
369  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<23> *) 0)) == sizeof(RCF::defined_)) >, \
370  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<24> *) 0)) == sizeof(RCF::defined_)) >, \
371  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<25> *) 0)) == sizeof(RCF::defined_)) >, \
372  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<26> *) 0)) == sizeof(RCF::defined_)) >, \
373  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<27> *) 0)) == sizeof(RCF::defined_)) >, \
374  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<28> *) 0)) == sizeof(RCF::defined_)) >, \
375  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<29> *) 0)) == sizeof(RCF::defined_)) >, \
376  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<30> *) 0)) == sizeof(RCF::defined_)) >, \
377  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<31> *) 0)) == sizeof(RCF::defined_)) >, \
378  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<32> *) 0)) == sizeof(RCF::defined_)) >, \
379  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<33> *) 0)) == sizeof(RCF::defined_)) >, \
380  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<34> *) 0)) == sizeof(RCF::defined_)) >, \
381  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<35> *) 0)) == sizeof(RCF::defined_)) >, \
382  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<36> *) 0)) == sizeof(RCF::defined_)) >, \
383  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<37> *) 0)) == sizeof(RCF::defined_)) >, \
384  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<38> *) 0)) == sizeof(RCF::defined_)) >, \
385  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<39> *) 0)) == sizeof(RCF::defined_)) >, \
386  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<40> *) 0)) == sizeof(RCF::defined_)) >, \
387  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<41> *) 0)) == sizeof(RCF::defined_)) >, \
388  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<42> *) 0)) == sizeof(RCF::defined_)) >, \
389  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<43> *) 0)) == sizeof(RCF::defined_)) >, \
390  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<44> *) 0)) == sizeof(RCF::defined_)) >, \
391  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<45> *) 0)) == sizeof(RCF::defined_)) >, \
392  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<46> *) 0)) == sizeof(RCF::defined_)) >, \
393  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<47> *) 0)) == sizeof(RCF::defined_)) >, \
394  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<48> *) 0)) == sizeof(RCF::defined_)) >, \
395  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<49> *) 0)) == sizeof(RCF::defined_)) >, \
396  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<50> *) 0)) == sizeof(RCF::defined_)) >, \
397  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<51> *) 0)) == sizeof(RCF::defined_)) >, \
398  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<52> *) 0)) == sizeof(RCF::defined_)) >, \
399  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<53> *) 0)) == sizeof(RCF::defined_)) >, \
400  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<54> *) 0)) == sizeof(RCF::defined_)) >, \
401  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<55> *) 0)) == sizeof(RCF::defined_)) >, \
402  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<56> *) 0)) == sizeof(RCF::defined_)) >, \
403  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<57> *) 0)) == sizeof(RCF::defined_)) >, \
404  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<58> *) 0)) == sizeof(RCF::defined_)) >, \
405  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<59> *) 0)) == sizeof(RCF::defined_)) >, \
406  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<60> *) 0)) == sizeof(RCF::defined_)) >, \
407  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<61> *) 0)) == sizeof(RCF::defined_)) >, \
408  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<62> *) 0)) == sizeof(RCF::defined_)) >, \
409  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<63> *) 0)) == sizeof(RCF::defined_)) >, \
410  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<64> *) 0)) == sizeof(RCF::defined_)) >, \
411  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<65> *) 0)) == sizeof(RCF::defined_)) >, \
412  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<66> *) 0)) == sizeof(RCF::defined_)) >, \
413  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<67> *) 0)) == sizeof(RCF::defined_)) >, \
414  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<68> *) 0)) == sizeof(RCF::defined_)) >, \
415  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<69> *) 0)) == sizeof(RCF::defined_)) >, \
416  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<70> *) 0)) == sizeof(RCF::defined_)) >, \
417  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<71> *) 0)) == sizeof(RCF::defined_)) >, \
418  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<72> *) 0)) == sizeof(RCF::defined_)) >, \
419  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<73> *) 0)) == sizeof(RCF::defined_)) >, \
420  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<74> *) 0)) == sizeof(RCF::defined_)) >, \
421  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<75> *) 0)) == sizeof(RCF::defined_)) >, \
422  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<76> *) 0)) == sizeof(RCF::defined_)) >, \
423  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<77> *) 0)) == sizeof(RCF::defined_)) >, \
424  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<78> *) 0)) == sizeof(RCF::defined_)) >, \
425  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<79> *) 0)) == sizeof(RCF::defined_)) >, \
426  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<80> *) 0)) == sizeof(RCF::defined_)) >, \
427  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<81> *) 0)) == sizeof(RCF::defined_)) >, \
428  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<82> *) 0)) == sizeof(RCF::defined_)) >, \
429  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<83> *) 0)) == sizeof(RCF::defined_)) >, \
430  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<84> *) 0)) == sizeof(RCF::defined_)) >, \
431  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<85> *) 0)) == sizeof(RCF::defined_)) >, \
432  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<86> *) 0)) == sizeof(RCF::defined_)) >, \
433  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<87> *) 0)) == sizeof(RCF::defined_)) >, \
434  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<88> *) 0)) == sizeof(RCF::defined_)) >, \
435  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<89> *) 0)) == sizeof(RCF::defined_)) >, \
436  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<90> *) 0)) == sizeof(RCF::defined_)) >, \
437  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<91> *) 0)) == sizeof(RCF::defined_)) >, \
438  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<92> *) 0)) == sizeof(RCF::defined_)) >, \
439  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<93> *) 0)) == sizeof(RCF::defined_)) >, \
440  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<94> *) 0)) == sizeof(RCF::defined_)) >, \
441  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<95> *) 0)) == sizeof(RCF::defined_)) >, \
442  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<96> *) 0)) == sizeof(RCF::defined_)) >, \
443  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<97> *) 0)) == sizeof(RCF::defined_)) >, \
444  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<98> *) 0)) == sizeof(RCF::defined_)) >, \
445  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<99> *) 0)) == sizeof(RCF::defined_)) >, \
446  RCF::Int<100>, \
447  RCF::Int<99> >::type, \
448  RCF::Int<98> >::type, \
449  RCF::Int<97> >::type, \
450  RCF::Int<96> >::type, \
451  RCF::Int<95> >::type, \
452  RCF::Int<94> >::type, \
453  RCF::Int<93> >::type, \
454  RCF::Int<92> >::type, \
455  RCF::Int<91> >::type, \
456  RCF::Int<90> >::type, \
457  RCF::Int<89> >::type, \
458  RCF::Int<88> >::type, \
459  RCF::Int<87> >::type, \
460  RCF::Int<86> >::type, \
461  RCF::Int<85> >::type, \
462  RCF::Int<84> >::type, \
463  RCF::Int<83> >::type, \
464  RCF::Int<82> >::type, \
465  RCF::Int<81> >::type, \
466  RCF::Int<80> >::type, \
467  RCF::Int<79> >::type, \
468  RCF::Int<78> >::type, \
469  RCF::Int<77> >::type, \
470  RCF::Int<76> >::type, \
471  RCF::Int<75> >::type, \
472  RCF::Int<74> >::type, \
473  RCF::Int<73> >::type, \
474  RCF::Int<72> >::type, \
475  RCF::Int<71> >::type, \
476  RCF::Int<70> >::type, \
477  RCF::Int<69> >::type, \
478  RCF::Int<68> >::type, \
479  RCF::Int<67> >::type, \
480  RCF::Int<66> >::type, \
481  RCF::Int<65> >::type, \
482  RCF::Int<64> >::type, \
483  RCF::Int<63> >::type, \
484  RCF::Int<62> >::type, \
485  RCF::Int<61> >::type, \
486  RCF::Int<60> >::type, \
487  RCF::Int<59> >::type, \
488  RCF::Int<58> >::type, \
489  RCF::Int<57> >::type, \
490  RCF::Int<56> >::type, \
491  RCF::Int<55> >::type, \
492  RCF::Int<54> >::type, \
493  RCF::Int<53> >::type, \
494  RCF::Int<52> >::type, \
495  RCF::Int<51> >::type, \
496  RCF::Int<50> >::type, \
497  RCF::Int<49> >::type, \
498  RCF::Int<48> >::type, \
499  RCF::Int<47> >::type, \
500  RCF::Int<46> >::type, \
501  RCF::Int<45> >::type, \
502  RCF::Int<44> >::type, \
503  RCF::Int<43> >::type, \
504  RCF::Int<42> >::type, \
505  RCF::Int<41> >::type, \
506  RCF::Int<40> >::type, \
507  RCF::Int<39> >::type, \
508  RCF::Int<38> >::type, \
509  RCF::Int<37> >::type, \
510  RCF::Int<36> >::type, \
511  RCF::Int<35> >::type, \
512  RCF::Int<34> >::type, \
513  RCF::Int<33> >::type, \
514  RCF::Int<32> >::type, \
515  RCF::Int<31> >::type, \
516  RCF::Int<30> >::type, \
517  RCF::Int<29> >::type, \
518  RCF::Int<28> >::type, \
519  RCF::Int<27> >::type, \
520  RCF::Int<26> >::type, \
521  RCF::Int<25> >::type, \
522  RCF::Int<24> >::type, \
523  RCF::Int<23> >::type, \
524  RCF::Int<22> >::type, \
525  RCF::Int<21> >::type, \
526  RCF::Int<20> >::type, \
527  RCF::Int<19> >::type, \
528  RCF::Int<18> >::type, \
529  RCF::Int<17> >::type, \
530  RCF::Int<16> >::type, \
531  RCF::Int<15> >::type, \
532  RCF::Int<14> >::type, \
533  RCF::Int<13> >::type, \
534  RCF::Int<12> >::type, \
535  RCF::Int<11> >::type, \
536  RCF::Int<10> >::type, \
537  RCF::Int< 9> >::type, \
538  RCF::Int< 8> >::type, \
539  RCF::Int< 7> >::type, \
540  RCF::Int< 6> >::type, \
541  RCF::Int< 5> >::type, \
542  RCF::Int< 4> >::type, \
543  RCF::Int< 3> >::type, \
544  RCF::Int< 2> >::type, \
545  RCF::Int< 1> >::type, \
546  RCF::Int< 0> >::type next_static_id; \
547  friend_or_not RCF::defined_ helper_func(T1 *, T2 *, next_static_id *);
548 
549 
550 #define RCF_CURRENT_STATIC_ID(current_static_id, helper_func, T1, T2) \
551  typedef \
552  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 0> *) 0)) == sizeof(RCF::defined_)) >, \
553  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 1> *) 0)) == sizeof(RCF::defined_)) >, \
554  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 2> *) 0)) == sizeof(RCF::defined_)) >, \
555  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 3> *) 0)) == sizeof(RCF::defined_)) >, \
556  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 4> *) 0)) == sizeof(RCF::defined_)) >, \
557  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 5> *) 0)) == sizeof(RCF::defined_)) >, \
558  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 6> *) 0)) == sizeof(RCF::defined_)) >, \
559  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 7> *) 0)) == sizeof(RCF::defined_)) >, \
560  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 8> *) 0)) == sizeof(RCF::defined_)) >, \
561  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 9> *) 0)) == sizeof(RCF::defined_)) >, \
562  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<10> *) 0)) == sizeof(RCF::defined_)) >, \
563  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<11> *) 0)) == sizeof(RCF::defined_)) >, \
564  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<12> *) 0)) == sizeof(RCF::defined_)) >, \
565  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<13> *) 0)) == sizeof(RCF::defined_)) >, \
566  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<14> *) 0)) == sizeof(RCF::defined_)) >, \
567  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<15> *) 0)) == sizeof(RCF::defined_)) >, \
568  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<16> *) 0)) == sizeof(RCF::defined_)) >, \
569  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<17> *) 0)) == sizeof(RCF::defined_)) >, \
570  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<18> *) 0)) == sizeof(RCF::defined_)) >, \
571  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<19> *) 0)) == sizeof(RCF::defined_)) >, \
572  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<20> *) 0)) == sizeof(RCF::defined_)) >, \
573  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<21> *) 0)) == sizeof(RCF::defined_)) >, \
574  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<22> *) 0)) == sizeof(RCF::defined_)) >, \
575  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<23> *) 0)) == sizeof(RCF::defined_)) >, \
576  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<24> *) 0)) == sizeof(RCF::defined_)) >, \
577  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<25> *) 0)) == sizeof(RCF::defined_)) >, \
578  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<26> *) 0)) == sizeof(RCF::defined_)) >, \
579  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<27> *) 0)) == sizeof(RCF::defined_)) >, \
580  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<28> *) 0)) == sizeof(RCF::defined_)) >, \
581  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<29> *) 0)) == sizeof(RCF::defined_)) >, \
582  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<30> *) 0)) == sizeof(RCF::defined_)) >, \
583  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<31> *) 0)) == sizeof(RCF::defined_)) >, \
584  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<32> *) 0)) == sizeof(RCF::defined_)) >, \
585  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<33> *) 0)) == sizeof(RCF::defined_)) >, \
586  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<34> *) 0)) == sizeof(RCF::defined_)) >, \
587  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<35> *) 0)) == sizeof(RCF::defined_)) >, \
588  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<36> *) 0)) == sizeof(RCF::defined_)) >, \
589  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<37> *) 0)) == sizeof(RCF::defined_)) >, \
590  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<38> *) 0)) == sizeof(RCF::defined_)) >, \
591  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<39> *) 0)) == sizeof(RCF::defined_)) >, \
592  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<40> *) 0)) == sizeof(RCF::defined_)) >, \
593  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<41> *) 0)) == sizeof(RCF::defined_)) >, \
594  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<42> *) 0)) == sizeof(RCF::defined_)) >, \
595  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<43> *) 0)) == sizeof(RCF::defined_)) >, \
596  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<44> *) 0)) == sizeof(RCF::defined_)) >, \
597  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<45> *) 0)) == sizeof(RCF::defined_)) >, \
598  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<46> *) 0)) == sizeof(RCF::defined_)) >, \
599  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<47> *) 0)) == sizeof(RCF::defined_)) >, \
600  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<48> *) 0)) == sizeof(RCF::defined_)) >, \
601  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<49> *) 0)) == sizeof(RCF::defined_)) >, \
602  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<50> *) 0)) == sizeof(RCF::defined_)) >, \
603  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<51> *) 0)) == sizeof(RCF::defined_)) >, \
604  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<52> *) 0)) == sizeof(RCF::defined_)) >, \
605  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<53> *) 0)) == sizeof(RCF::defined_)) >, \
606  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<54> *) 0)) == sizeof(RCF::defined_)) >, \
607  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<55> *) 0)) == sizeof(RCF::defined_)) >, \
608  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<56> *) 0)) == sizeof(RCF::defined_)) >, \
609  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<57> *) 0)) == sizeof(RCF::defined_)) >, \
610  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<58> *) 0)) == sizeof(RCF::defined_)) >, \
611  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<59> *) 0)) == sizeof(RCF::defined_)) >, \
612  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<60> *) 0)) == sizeof(RCF::defined_)) >, \
613  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<61> *) 0)) == sizeof(RCF::defined_)) >, \
614  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<62> *) 0)) == sizeof(RCF::defined_)) >, \
615  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<63> *) 0)) == sizeof(RCF::defined_)) >, \
616  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<64> *) 0)) == sizeof(RCF::defined_)) >, \
617  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<65> *) 0)) == sizeof(RCF::defined_)) >, \
618  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<66> *) 0)) == sizeof(RCF::defined_)) >, \
619  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<67> *) 0)) == sizeof(RCF::defined_)) >, \
620  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<68> *) 0)) == sizeof(RCF::defined_)) >, \
621  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<69> *) 0)) == sizeof(RCF::defined_)) >, \
622  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<70> *) 0)) == sizeof(RCF::defined_)) >, \
623  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<71> *) 0)) == sizeof(RCF::defined_)) >, \
624  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<72> *) 0)) == sizeof(RCF::defined_)) >, \
625  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<73> *) 0)) == sizeof(RCF::defined_)) >, \
626  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<74> *) 0)) == sizeof(RCF::defined_)) >, \
627  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<75> *) 0)) == sizeof(RCF::defined_)) >, \
628  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<76> *) 0)) == sizeof(RCF::defined_)) >, \
629  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<77> *) 0)) == sizeof(RCF::defined_)) >, \
630  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<78> *) 0)) == sizeof(RCF::defined_)) >, \
631  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<79> *) 0)) == sizeof(RCF::defined_)) >, \
632  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<80> *) 0)) == sizeof(RCF::defined_)) >, \
633  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<81> *) 0)) == sizeof(RCF::defined_)) >, \
634  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<82> *) 0)) == sizeof(RCF::defined_)) >, \
635  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<83> *) 0)) == sizeof(RCF::defined_)) >, \
636  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<84> *) 0)) == sizeof(RCF::defined_)) >, \
637  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<85> *) 0)) == sizeof(RCF::defined_)) >, \
638  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<86> *) 0)) == sizeof(RCF::defined_)) >, \
639  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<87> *) 0)) == sizeof(RCF::defined_)) >, \
640  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<88> *) 0)) == sizeof(RCF::defined_)) >, \
641  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<89> *) 0)) == sizeof(RCF::defined_)) >, \
642  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<90> *) 0)) == sizeof(RCF::defined_)) >, \
643  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<91> *) 0)) == sizeof(RCF::defined_)) >, \
644  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<92> *) 0)) == sizeof(RCF::defined_)) >, \
645  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<93> *) 0)) == sizeof(RCF::defined_)) >, \
646  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<94> *) 0)) == sizeof(RCF::defined_)) >, \
647  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<95> *) 0)) == sizeof(RCF::defined_)) >, \
648  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<96> *) 0)) == sizeof(RCF::defined_)) >, \
649  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<97> *) 0)) == sizeof(RCF::defined_)) >, \
650  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<98> *) 0)) == sizeof(RCF::defined_)) >, \
651  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<99> *) 0)) == sizeof(RCF::defined_)) >, \
652  RCF::Int<99>, \
653  RCF::Int<98> >::type, \
654  RCF::Int<97> >::type, \
655  RCF::Int<96> >::type, \
656  RCF::Int<95> >::type, \
657  RCF::Int<94> >::type, \
658  RCF::Int<93> >::type, \
659  RCF::Int<92> >::type, \
660  RCF::Int<91> >::type, \
661  RCF::Int<90> >::type, \
662  RCF::Int<89> >::type, \
663  RCF::Int<88> >::type, \
664  RCF::Int<87> >::type, \
665  RCF::Int<86> >::type, \
666  RCF::Int<85> >::type, \
667  RCF::Int<84> >::type, \
668  RCF::Int<83> >::type, \
669  RCF::Int<82> >::type, \
670  RCF::Int<81> >::type, \
671  RCF::Int<80> >::type, \
672  RCF::Int<79> >::type, \
673  RCF::Int<78> >::type, \
674  RCF::Int<77> >::type, \
675  RCF::Int<76> >::type, \
676  RCF::Int<75> >::type, \
677  RCF::Int<74> >::type, \
678  RCF::Int<73> >::type, \
679  RCF::Int<72> >::type, \
680  RCF::Int<71> >::type, \
681  RCF::Int<70> >::type, \
682  RCF::Int<69> >::type, \
683  RCF::Int<68> >::type, \
684  RCF::Int<67> >::type, \
685  RCF::Int<66> >::type, \
686  RCF::Int<65> >::type, \
687  RCF::Int<64> >::type, \
688  RCF::Int<63> >::type, \
689  RCF::Int<62> >::type, \
690  RCF::Int<61> >::type, \
691  RCF::Int<60> >::type, \
692  RCF::Int<59> >::type, \
693  RCF::Int<58> >::type, \
694  RCF::Int<57> >::type, \
695  RCF::Int<56> >::type, \
696  RCF::Int<55> >::type, \
697  RCF::Int<54> >::type, \
698  RCF::Int<53> >::type, \
699  RCF::Int<52> >::type, \
700  RCF::Int<51> >::type, \
701  RCF::Int<50> >::type, \
702  RCF::Int<49> >::type, \
703  RCF::Int<48> >::type, \
704  RCF::Int<47> >::type, \
705  RCF::Int<46> >::type, \
706  RCF::Int<45> >::type, \
707  RCF::Int<44> >::type, \
708  RCF::Int<43> >::type, \
709  RCF::Int<42> >::type, \
710  RCF::Int<41> >::type, \
711  RCF::Int<40> >::type, \
712  RCF::Int<39> >::type, \
713  RCF::Int<38> >::type, \
714  RCF::Int<37> >::type, \
715  RCF::Int<36> >::type, \
716  RCF::Int<35> >::type, \
717  RCF::Int<34> >::type, \
718  RCF::Int<33> >::type, \
719  RCF::Int<32> >::type, \
720  RCF::Int<31> >::type, \
721  RCF::Int<30> >::type, \
722  RCF::Int<29> >::type, \
723  RCF::Int<28> >::type, \
724  RCF::Int<27> >::type, \
725  RCF::Int<26> >::type, \
726  RCF::Int<25> >::type, \
727  RCF::Int<24> >::type, \
728  RCF::Int<23> >::type, \
729  RCF::Int<22> >::type, \
730  RCF::Int<21> >::type, \
731  RCF::Int<20> >::type, \
732  RCF::Int<19> >::type, \
733  RCF::Int<18> >::type, \
734  RCF::Int<17> >::type, \
735  RCF::Int<16> >::type, \
736  RCF::Int<15> >::type, \
737  RCF::Int<14> >::type, \
738  RCF::Int<13> >::type, \
739  RCF::Int<12> >::type, \
740  RCF::Int<11> >::type, \
741  RCF::Int<10> >::type, \
742  RCF::Int< 9> >::type, \
743  RCF::Int< 8> >::type, \
744  RCF::Int< 7> >::type, \
745  RCF::Int< 6> >::type, \
746  RCF::Int< 5> >::type, \
747  RCF::Int< 4> >::type, \
748  RCF::Int< 3> >::type, \
749  RCF::Int< 2> >::type, \
750  RCF::Int< 1> >::type, \
751  RCF::Int< 0> >::type, \
752  RCF::Int<-1> >::type current_static_id;
753 
754 #elif RCF_MAX_METHOD_COUNT <= 200
755 
756 #define RCF_ADVANCE_STATIC_ID(next_static_id, helper_func, T1, T2, friend_or_not) \
757  typedef \
758  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 0> *) 0)) == sizeof(RCF::defined_)) >, \
759  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 1> *) 0)) == sizeof(RCF::defined_)) >, \
760  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 2> *) 0)) == sizeof(RCF::defined_)) >, \
761  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 3> *) 0)) == sizeof(RCF::defined_)) >, \
762  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 4> *) 0)) == sizeof(RCF::defined_)) >, \
763  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 5> *) 0)) == sizeof(RCF::defined_)) >, \
764  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 6> *) 0)) == sizeof(RCF::defined_)) >, \
765  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 7> *) 0)) == sizeof(RCF::defined_)) >, \
766  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 8> *) 0)) == sizeof(RCF::defined_)) >, \
767  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 9> *) 0)) == sizeof(RCF::defined_)) >, \
768  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 10> *) 0)) == sizeof(RCF::defined_)) >, \
769  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 11> *) 0)) == sizeof(RCF::defined_)) >, \
770  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 12> *) 0)) == sizeof(RCF::defined_)) >, \
771  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 13> *) 0)) == sizeof(RCF::defined_)) >, \
772  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 14> *) 0)) == sizeof(RCF::defined_)) >, \
773  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 15> *) 0)) == sizeof(RCF::defined_)) >, \
774  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 16> *) 0)) == sizeof(RCF::defined_)) >, \
775  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 17> *) 0)) == sizeof(RCF::defined_)) >, \
776  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 18> *) 0)) == sizeof(RCF::defined_)) >, \
777  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 19> *) 0)) == sizeof(RCF::defined_)) >, \
778  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 20> *) 0)) == sizeof(RCF::defined_)) >, \
779  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 21> *) 0)) == sizeof(RCF::defined_)) >, \
780  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 22> *) 0)) == sizeof(RCF::defined_)) >, \
781  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 23> *) 0)) == sizeof(RCF::defined_)) >, \
782  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 24> *) 0)) == sizeof(RCF::defined_)) >, \
783  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 25> *) 0)) == sizeof(RCF::defined_)) >, \
784  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 26> *) 0)) == sizeof(RCF::defined_)) >, \
785  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 27> *) 0)) == sizeof(RCF::defined_)) >, \
786  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 28> *) 0)) == sizeof(RCF::defined_)) >, \
787  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 29> *) 0)) == sizeof(RCF::defined_)) >, \
788  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 30> *) 0)) == sizeof(RCF::defined_)) >, \
789  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 31> *) 0)) == sizeof(RCF::defined_)) >, \
790  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 32> *) 0)) == sizeof(RCF::defined_)) >, \
791  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 33> *) 0)) == sizeof(RCF::defined_)) >, \
792  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 34> *) 0)) == sizeof(RCF::defined_)) >, \
793  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 35> *) 0)) == sizeof(RCF::defined_)) >, \
794  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 36> *) 0)) == sizeof(RCF::defined_)) >, \
795  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 37> *) 0)) == sizeof(RCF::defined_)) >, \
796  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 38> *) 0)) == sizeof(RCF::defined_)) >, \
797  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 39> *) 0)) == sizeof(RCF::defined_)) >, \
798  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 40> *) 0)) == sizeof(RCF::defined_)) >, \
799  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 41> *) 0)) == sizeof(RCF::defined_)) >, \
800  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 42> *) 0)) == sizeof(RCF::defined_)) >, \
801  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 43> *) 0)) == sizeof(RCF::defined_)) >, \
802  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 44> *) 0)) == sizeof(RCF::defined_)) >, \
803  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 45> *) 0)) == sizeof(RCF::defined_)) >, \
804  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 46> *) 0)) == sizeof(RCF::defined_)) >, \
805  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 47> *) 0)) == sizeof(RCF::defined_)) >, \
806  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 48> *) 0)) == sizeof(RCF::defined_)) >, \
807  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 49> *) 0)) == sizeof(RCF::defined_)) >, \
808  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 50> *) 0)) == sizeof(RCF::defined_)) >, \
809  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 51> *) 0)) == sizeof(RCF::defined_)) >, \
810  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 52> *) 0)) == sizeof(RCF::defined_)) >, \
811  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 53> *) 0)) == sizeof(RCF::defined_)) >, \
812  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 54> *) 0)) == sizeof(RCF::defined_)) >, \
813  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 55> *) 0)) == sizeof(RCF::defined_)) >, \
814  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 56> *) 0)) == sizeof(RCF::defined_)) >, \
815  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 57> *) 0)) == sizeof(RCF::defined_)) >, \
816  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 58> *) 0)) == sizeof(RCF::defined_)) >, \
817  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 59> *) 0)) == sizeof(RCF::defined_)) >, \
818  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 60> *) 0)) == sizeof(RCF::defined_)) >, \
819  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 61> *) 0)) == sizeof(RCF::defined_)) >, \
820  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 62> *) 0)) == sizeof(RCF::defined_)) >, \
821  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 63> *) 0)) == sizeof(RCF::defined_)) >, \
822  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 64> *) 0)) == sizeof(RCF::defined_)) >, \
823  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 65> *) 0)) == sizeof(RCF::defined_)) >, \
824  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 66> *) 0)) == sizeof(RCF::defined_)) >, \
825  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 67> *) 0)) == sizeof(RCF::defined_)) >, \
826  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 68> *) 0)) == sizeof(RCF::defined_)) >, \
827  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 69> *) 0)) == sizeof(RCF::defined_)) >, \
828  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 70> *) 0)) == sizeof(RCF::defined_)) >, \
829  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 71> *) 0)) == sizeof(RCF::defined_)) >, \
830  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 72> *) 0)) == sizeof(RCF::defined_)) >, \
831  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 73> *) 0)) == sizeof(RCF::defined_)) >, \
832  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 74> *) 0)) == sizeof(RCF::defined_)) >, \
833  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 75> *) 0)) == sizeof(RCF::defined_)) >, \
834  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 76> *) 0)) == sizeof(RCF::defined_)) >, \
835  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 77> *) 0)) == sizeof(RCF::defined_)) >, \
836  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 78> *) 0)) == sizeof(RCF::defined_)) >, \
837  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 79> *) 0)) == sizeof(RCF::defined_)) >, \
838  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 80> *) 0)) == sizeof(RCF::defined_)) >, \
839  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 81> *) 0)) == sizeof(RCF::defined_)) >, \
840  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 82> *) 0)) == sizeof(RCF::defined_)) >, \
841  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 83> *) 0)) == sizeof(RCF::defined_)) >, \
842  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 84> *) 0)) == sizeof(RCF::defined_)) >, \
843  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 85> *) 0)) == sizeof(RCF::defined_)) >, \
844  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 86> *) 0)) == sizeof(RCF::defined_)) >, \
845  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 87> *) 0)) == sizeof(RCF::defined_)) >, \
846  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 88> *) 0)) == sizeof(RCF::defined_)) >, \
847  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 89> *) 0)) == sizeof(RCF::defined_)) >, \
848  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 90> *) 0)) == sizeof(RCF::defined_)) >, \
849  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 91> *) 0)) == sizeof(RCF::defined_)) >, \
850  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 92> *) 0)) == sizeof(RCF::defined_)) >, \
851  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 93> *) 0)) == sizeof(RCF::defined_)) >, \
852  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 94> *) 0)) == sizeof(RCF::defined_)) >, \
853  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 95> *) 0)) == sizeof(RCF::defined_)) >, \
854  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 96> *) 0)) == sizeof(RCF::defined_)) >, \
855  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 97> *) 0)) == sizeof(RCF::defined_)) >, \
856  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 98> *) 0)) == sizeof(RCF::defined_)) >, \
857  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 99> *) 0)) == sizeof(RCF::defined_)) >, \
858  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<100>*) 0)) == sizeof(RCF::defined_)) >, \
859  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<101> *) 0)) == sizeof(RCF::defined_)) >, \
860  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<102> *) 0)) == sizeof(RCF::defined_)) >, \
861  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<103> *) 0)) == sizeof(RCF::defined_)) >, \
862  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<104> *) 0)) == sizeof(RCF::defined_)) >, \
863  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<105> *) 0)) == sizeof(RCF::defined_)) >, \
864  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<106> *) 0)) == sizeof(RCF::defined_)) >, \
865  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<107> *) 0)) == sizeof(RCF::defined_)) >, \
866  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<108> *) 0)) == sizeof(RCF::defined_)) >, \
867  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<109> *) 0)) == sizeof(RCF::defined_)) >, \
868  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<110> *) 0)) == sizeof(RCF::defined_)) >, \
869  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<111> *) 0)) == sizeof(RCF::defined_)) >, \
870  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<112> *) 0)) == sizeof(RCF::defined_)) >, \
871  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<113> *) 0)) == sizeof(RCF::defined_)) >, \
872  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<114> *) 0)) == sizeof(RCF::defined_)) >, \
873  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<115> *) 0)) == sizeof(RCF::defined_)) >, \
874  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<116> *) 0)) == sizeof(RCF::defined_)) >, \
875  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<117> *) 0)) == sizeof(RCF::defined_)) >, \
876  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<118> *) 0)) == sizeof(RCF::defined_)) >, \
877  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<119> *) 0)) == sizeof(RCF::defined_)) >, \
878  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<120> *) 0)) == sizeof(RCF::defined_)) >, \
879  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<121> *) 0)) == sizeof(RCF::defined_)) >, \
880  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<122> *) 0)) == sizeof(RCF::defined_)) >, \
881  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<123> *) 0)) == sizeof(RCF::defined_)) >, \
882  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<124> *) 0)) == sizeof(RCF::defined_)) >, \
883  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<125> *) 0)) == sizeof(RCF::defined_)) >, \
884  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<126> *) 0)) == sizeof(RCF::defined_)) >, \
885  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<127> *) 0)) == sizeof(RCF::defined_)) >, \
886  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<128> *) 0)) == sizeof(RCF::defined_)) >, \
887  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<129> *) 0)) == sizeof(RCF::defined_)) >, \
888  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<130> *) 0)) == sizeof(RCF::defined_)) >, \
889  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<131> *) 0)) == sizeof(RCF::defined_)) >, \
890  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<132> *) 0)) == sizeof(RCF::defined_)) >, \
891  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<133> *) 0)) == sizeof(RCF::defined_)) >, \
892  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<134> *) 0)) == sizeof(RCF::defined_)) >, \
893  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<135> *) 0)) == sizeof(RCF::defined_)) >, \
894  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<136> *) 0)) == sizeof(RCF::defined_)) >, \
895  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<137> *) 0)) == sizeof(RCF::defined_)) >, \
896  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<138> *) 0)) == sizeof(RCF::defined_)) >, \
897  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<139> *) 0)) == sizeof(RCF::defined_)) >, \
898  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<140> *) 0)) == sizeof(RCF::defined_)) >, \
899  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<141> *) 0)) == sizeof(RCF::defined_)) >, \
900  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<142> *) 0)) == sizeof(RCF::defined_)) >, \
901  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<143> *) 0)) == sizeof(RCF::defined_)) >, \
902  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<144> *) 0)) == sizeof(RCF::defined_)) >, \
903  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<145> *) 0)) == sizeof(RCF::defined_)) >, \
904  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<146> *) 0)) == sizeof(RCF::defined_)) >, \
905  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<147> *) 0)) == sizeof(RCF::defined_)) >, \
906  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<148> *) 0)) == sizeof(RCF::defined_)) >, \
907  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<149> *) 0)) == sizeof(RCF::defined_)) >, \
908  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<150> *) 0)) == sizeof(RCF::defined_)) >, \
909  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<151> *) 0)) == sizeof(RCF::defined_)) >, \
910  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<152> *) 0)) == sizeof(RCF::defined_)) >, \
911  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<153> *) 0)) == sizeof(RCF::defined_)) >, \
912  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<154> *) 0)) == sizeof(RCF::defined_)) >, \
913  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<155> *) 0)) == sizeof(RCF::defined_)) >, \
914  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<156> *) 0)) == sizeof(RCF::defined_)) >, \
915  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<157> *) 0)) == sizeof(RCF::defined_)) >, \
916  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<158> *) 0)) == sizeof(RCF::defined_)) >, \
917  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<159> *) 0)) == sizeof(RCF::defined_)) >, \
918  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<160> *) 0)) == sizeof(RCF::defined_)) >, \
919  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<161> *) 0)) == sizeof(RCF::defined_)) >, \
920  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<162> *) 0)) == sizeof(RCF::defined_)) >, \
921  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<163> *) 0)) == sizeof(RCF::defined_)) >, \
922  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<164> *) 0)) == sizeof(RCF::defined_)) >, \
923  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<165> *) 0)) == sizeof(RCF::defined_)) >, \
924  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<166> *) 0)) == sizeof(RCF::defined_)) >, \
925  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<167> *) 0)) == sizeof(RCF::defined_)) >, \
926  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<168> *) 0)) == sizeof(RCF::defined_)) >, \
927  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<169> *) 0)) == sizeof(RCF::defined_)) >, \
928  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<170> *) 0)) == sizeof(RCF::defined_)) >, \
929  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<171> *) 0)) == sizeof(RCF::defined_)) >, \
930  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<172> *) 0)) == sizeof(RCF::defined_)) >, \
931  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<173> *) 0)) == sizeof(RCF::defined_)) >, \
932  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<174> *) 0)) == sizeof(RCF::defined_)) >, \
933  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<175> *) 0)) == sizeof(RCF::defined_)) >, \
934  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<176> *) 0)) == sizeof(RCF::defined_)) >, \
935  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<177> *) 0)) == sizeof(RCF::defined_)) >, \
936  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<178> *) 0)) == sizeof(RCF::defined_)) >, \
937  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<179> *) 0)) == sizeof(RCF::defined_)) >, \
938  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<180> *) 0)) == sizeof(RCF::defined_)) >, \
939  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<181> *) 0)) == sizeof(RCF::defined_)) >, \
940  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<182> *) 0)) == sizeof(RCF::defined_)) >, \
941  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<183> *) 0)) == sizeof(RCF::defined_)) >, \
942  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<184> *) 0)) == sizeof(RCF::defined_)) >, \
943  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<185> *) 0)) == sizeof(RCF::defined_)) >, \
944  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<186> *) 0)) == sizeof(RCF::defined_)) >, \
945  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<187> *) 0)) == sizeof(RCF::defined_)) >, \
946  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<188> *) 0)) == sizeof(RCF::defined_)) >, \
947  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<189> *) 0)) == sizeof(RCF::defined_)) >, \
948  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<190> *) 0)) == sizeof(RCF::defined_)) >, \
949  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<191> *) 0)) == sizeof(RCF::defined_)) >, \
950  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<192> *) 0)) == sizeof(RCF::defined_)) >, \
951  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<193> *) 0)) == sizeof(RCF::defined_)) >, \
952  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<194> *) 0)) == sizeof(RCF::defined_)) >, \
953  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<195> *) 0)) == sizeof(RCF::defined_)) >, \
954  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<196> *) 0)) == sizeof(RCF::defined_)) >, \
955  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<197> *) 0)) == sizeof(RCF::defined_)) >, \
956  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<198> *) 0)) == sizeof(RCF::defined_)) >, \
957  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<199> *) 0)) == sizeof(RCF::defined_)) >, \
958  RCF::Int<200>, \
959  RCF::Int<199> >::type, \
960  RCF::Int<198> >::type, \
961  RCF::Int<197> >::type, \
962  RCF::Int<196> >::type, \
963  RCF::Int<195> >::type, \
964  RCF::Int<194> >::type, \
965  RCF::Int<193> >::type, \
966  RCF::Int<192> >::type, \
967  RCF::Int<191> >::type, \
968  RCF::Int<190> >::type, \
969  RCF::Int<189> >::type, \
970  RCF::Int<188> >::type, \
971  RCF::Int<187> >::type, \
972  RCF::Int<186> >::type, \
973  RCF::Int<185> >::type, \
974  RCF::Int<184> >::type, \
975  RCF::Int<183> >::type, \
976  RCF::Int<182> >::type, \
977  RCF::Int<181> >::type, \
978  RCF::Int<180> >::type, \
979  RCF::Int<179> >::type, \
980  RCF::Int<178> >::type, \
981  RCF::Int<177> >::type, \
982  RCF::Int<176> >::type, \
983  RCF::Int<175> >::type, \
984  RCF::Int<174> >::type, \
985  RCF::Int<173> >::type, \
986  RCF::Int<172> >::type, \
987  RCF::Int<171> >::type, \
988  RCF::Int<170> >::type, \
989  RCF::Int<169> >::type, \
990  RCF::Int<168> >::type, \
991  RCF::Int<167> >::type, \
992  RCF::Int<166> >::type, \
993  RCF::Int<165> >::type, \
994  RCF::Int<164> >::type, \
995  RCF::Int<163> >::type, \
996  RCF::Int<162> >::type, \
997  RCF::Int<161> >::type, \
998  RCF::Int<160> >::type, \
999  RCF::Int<159> >::type, \
1000  RCF::Int<158> >::type, \
1001  RCF::Int<157> >::type, \
1002  RCF::Int<156> >::type, \
1003  RCF::Int<155> >::type, \
1004  RCF::Int<154> >::type, \
1005  RCF::Int<153> >::type, \
1006  RCF::Int<152> >::type, \
1007  RCF::Int<151> >::type, \
1008  RCF::Int<150> >::type, \
1009  RCF::Int<149> >::type, \
1010  RCF::Int<148> >::type, \
1011  RCF::Int<147> >::type, \
1012  RCF::Int<146> >::type, \
1013  RCF::Int<145> >::type, \
1014  RCF::Int<144> >::type, \
1015  RCF::Int<143> >::type, \
1016  RCF::Int<142> >::type, \
1017  RCF::Int<141> >::type, \
1018  RCF::Int<140> >::type, \
1019  RCF::Int<139> >::type, \
1020  RCF::Int<138> >::type, \
1021  RCF::Int<137> >::type, \
1022  RCF::Int<136> >::type, \
1023  RCF::Int<135> >::type, \
1024  RCF::Int<134> >::type, \
1025  RCF::Int<133> >::type, \
1026  RCF::Int<132> >::type, \
1027  RCF::Int<131> >::type, \
1028  RCF::Int<130> >::type, \
1029  RCF::Int<129> >::type, \
1030  RCF::Int<128> >::type, \
1031  RCF::Int<127> >::type, \
1032  RCF::Int<126> >::type, \
1033  RCF::Int<125> >::type, \
1034  RCF::Int<124> >::type, \
1035  RCF::Int<123> >::type, \
1036  RCF::Int<122> >::type, \
1037  RCF::Int<121> >::type, \
1038  RCF::Int<120> >::type, \
1039  RCF::Int<119> >::type, \
1040  RCF::Int<118> >::type, \
1041  RCF::Int<117> >::type, \
1042  RCF::Int<116> >::type, \
1043  RCF::Int<115> >::type, \
1044  RCF::Int<114> >::type, \
1045  RCF::Int<113> >::type, \
1046  RCF::Int<112> >::type, \
1047  RCF::Int<111> >::type, \
1048  RCF::Int<110> >::type, \
1049  RCF::Int<109> >::type, \
1050  RCF::Int<108> >::type, \
1051  RCF::Int<107> >::type, \
1052  RCF::Int<106> >::type, \
1053  RCF::Int<105> >::type, \
1054  RCF::Int<104> >::type, \
1055  RCF::Int<103> >::type, \
1056  RCF::Int<102> >::type, \
1057  RCF::Int<101> >::type, \
1058  RCF::Int<100> >::type, \
1059  RCF::Int< 99> >::type, \
1060  RCF::Int< 98> >::type, \
1061  RCF::Int< 97> >::type, \
1062  RCF::Int< 96> >::type, \
1063  RCF::Int< 95> >::type, \
1064  RCF::Int< 94> >::type, \
1065  RCF::Int< 93> >::type, \
1066  RCF::Int< 92> >::type, \
1067  RCF::Int< 91> >::type, \
1068  RCF::Int< 90> >::type, \
1069  RCF::Int< 89> >::type, \
1070  RCF::Int< 88> >::type, \
1071  RCF::Int< 87> >::type, \
1072  RCF::Int< 86> >::type, \
1073  RCF::Int< 85> >::type, \
1074  RCF::Int< 84> >::type, \
1075  RCF::Int< 83> >::type, \
1076  RCF::Int< 82> >::type, \
1077  RCF::Int< 81> >::type, \
1078  RCF::Int< 80> >::type, \
1079  RCF::Int< 79> >::type, \
1080  RCF::Int< 78> >::type, \
1081  RCF::Int< 77> >::type, \
1082  RCF::Int< 76> >::type, \
1083  RCF::Int< 75> >::type, \
1084  RCF::Int< 74> >::type, \
1085  RCF::Int< 73> >::type, \
1086  RCF::Int< 72> >::type, \
1087  RCF::Int< 71> >::type, \
1088  RCF::Int< 70> >::type, \
1089  RCF::Int< 69> >::type, \
1090  RCF::Int< 68> >::type, \
1091  RCF::Int< 67> >::type, \
1092  RCF::Int< 66> >::type, \
1093  RCF::Int< 65> >::type, \
1094  RCF::Int< 64> >::type, \
1095  RCF::Int< 63> >::type, \
1096  RCF::Int< 62> >::type, \
1097  RCF::Int< 61> >::type, \
1098  RCF::Int< 60> >::type, \
1099  RCF::Int< 59> >::type, \
1100  RCF::Int< 58> >::type, \
1101  RCF::Int< 57> >::type, \
1102  RCF::Int< 56> >::type, \
1103  RCF::Int< 55> >::type, \
1104  RCF::Int< 54> >::type, \
1105  RCF::Int< 53> >::type, \
1106  RCF::Int< 52> >::type, \
1107  RCF::Int< 51> >::type, \
1108  RCF::Int< 50> >::type, \
1109  RCF::Int< 49> >::type, \
1110  RCF::Int< 48> >::type, \
1111  RCF::Int< 47> >::type, \
1112  RCF::Int< 46> >::type, \
1113  RCF::Int< 45> >::type, \
1114  RCF::Int< 44> >::type, \
1115  RCF::Int< 43> >::type, \
1116  RCF::Int< 42> >::type, \
1117  RCF::Int< 41> >::type, \
1118  RCF::Int< 40> >::type, \
1119  RCF::Int< 39> >::type, \
1120  RCF::Int< 38> >::type, \
1121  RCF::Int< 37> >::type, \
1122  RCF::Int< 36> >::type, \
1123  RCF::Int< 35> >::type, \
1124  RCF::Int< 34> >::type, \
1125  RCF::Int< 33> >::type, \
1126  RCF::Int< 32> >::type, \
1127  RCF::Int< 31> >::type, \
1128  RCF::Int< 30> >::type, \
1129  RCF::Int< 29> >::type, \
1130  RCF::Int< 28> >::type, \
1131  RCF::Int< 27> >::type, \
1132  RCF::Int< 26> >::type, \
1133  RCF::Int< 25> >::type, \
1134  RCF::Int< 24> >::type, \
1135  RCF::Int< 23> >::type, \
1136  RCF::Int< 22> >::type, \
1137  RCF::Int< 21> >::type, \
1138  RCF::Int< 20> >::type, \
1139  RCF::Int< 19> >::type, \
1140  RCF::Int< 18> >::type, \
1141  RCF::Int< 17> >::type, \
1142  RCF::Int< 16> >::type, \
1143  RCF::Int< 15> >::type, \
1144  RCF::Int< 14> >::type, \
1145  RCF::Int< 13> >::type, \
1146  RCF::Int< 12> >::type, \
1147  RCF::Int< 11> >::type, \
1148  RCF::Int< 10> >::type, \
1149  RCF::Int< 9> >::type, \
1150  RCF::Int< 8> >::type, \
1151  RCF::Int< 7> >::type, \
1152  RCF::Int< 6> >::type, \
1153  RCF::Int< 5> >::type, \
1154  RCF::Int< 4> >::type, \
1155  RCF::Int< 3> >::type, \
1156  RCF::Int< 2> >::type, \
1157  RCF::Int< 1> >::type, \
1158  RCF::Int< 0> >::type next_static_id; \
1159  friend_or_not RCF::defined_ helper_func(T1 *, T2 *, next_static_id *);
1160 
1161 
1162 #define RCF_CURRENT_STATIC_ID(current_static_id, helper_func, T1, T2) \
1163  typedef \
1164  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 0> *) 0)) == sizeof(RCF::defined_)) >, \
1165  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 1> *) 0)) == sizeof(RCF::defined_)) >, \
1166  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 2> *) 0)) == sizeof(RCF::defined_)) >, \
1167  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 3> *) 0)) == sizeof(RCF::defined_)) >, \
1168  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 4> *) 0)) == sizeof(RCF::defined_)) >, \
1169  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 5> *) 0)) == sizeof(RCF::defined_)) >, \
1170  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 6> *) 0)) == sizeof(RCF::defined_)) >, \
1171  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 7> *) 0)) == sizeof(RCF::defined_)) >, \
1172  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 8> *) 0)) == sizeof(RCF::defined_)) >, \
1173  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 9> *) 0)) == sizeof(RCF::defined_)) >, \
1174  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 10> *) 0)) == sizeof(RCF::defined_)) >, \
1175  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 11> *) 0)) == sizeof(RCF::defined_)) >, \
1176  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 12> *) 0)) == sizeof(RCF::defined_)) >, \
1177  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 13> *) 0)) == sizeof(RCF::defined_)) >, \
1178  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 14> *) 0)) == sizeof(RCF::defined_)) >, \
1179  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 15> *) 0)) == sizeof(RCF::defined_)) >, \
1180  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 16> *) 0)) == sizeof(RCF::defined_)) >, \
1181  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 17> *) 0)) == sizeof(RCF::defined_)) >, \
1182  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 18> *) 0)) == sizeof(RCF::defined_)) >, \
1183  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 19> *) 0)) == sizeof(RCF::defined_)) >, \
1184  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 20> *) 0)) == sizeof(RCF::defined_)) >, \
1185  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 21> *) 0)) == sizeof(RCF::defined_)) >, \
1186  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 22> *) 0)) == sizeof(RCF::defined_)) >, \
1187  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 23> *) 0)) == sizeof(RCF::defined_)) >, \
1188  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 24> *) 0)) == sizeof(RCF::defined_)) >, \
1189  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 25> *) 0)) == sizeof(RCF::defined_)) >, \
1190  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 26> *) 0)) == sizeof(RCF::defined_)) >, \
1191  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 27> *) 0)) == sizeof(RCF::defined_)) >, \
1192  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 28> *) 0)) == sizeof(RCF::defined_)) >, \
1193  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 29> *) 0)) == sizeof(RCF::defined_)) >, \
1194  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 30> *) 0)) == sizeof(RCF::defined_)) >, \
1195  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 31> *) 0)) == sizeof(RCF::defined_)) >, \
1196  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 32> *) 0)) == sizeof(RCF::defined_)) >, \
1197  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 33> *) 0)) == sizeof(RCF::defined_)) >, \
1198  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 34> *) 0)) == sizeof(RCF::defined_)) >, \
1199  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 35> *) 0)) == sizeof(RCF::defined_)) >, \
1200  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 36> *) 0)) == sizeof(RCF::defined_)) >, \
1201  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 37> *) 0)) == sizeof(RCF::defined_)) >, \
1202  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 38> *) 0)) == sizeof(RCF::defined_)) >, \
1203  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 39> *) 0)) == sizeof(RCF::defined_)) >, \
1204  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 40> *) 0)) == sizeof(RCF::defined_)) >, \
1205  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 41> *) 0)) == sizeof(RCF::defined_)) >, \
1206  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 42> *) 0)) == sizeof(RCF::defined_)) >, \
1207  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 43> *) 0)) == sizeof(RCF::defined_)) >, \
1208  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 44> *) 0)) == sizeof(RCF::defined_)) >, \
1209  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 45> *) 0)) == sizeof(RCF::defined_)) >, \
1210  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 46> *) 0)) == sizeof(RCF::defined_)) >, \
1211  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 47> *) 0)) == sizeof(RCF::defined_)) >, \
1212  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 48> *) 0)) == sizeof(RCF::defined_)) >, \
1213  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 49> *) 0)) == sizeof(RCF::defined_)) >, \
1214  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 50> *) 0)) == sizeof(RCF::defined_)) >, \
1215  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 51> *) 0)) == sizeof(RCF::defined_)) >, \
1216  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 52> *) 0)) == sizeof(RCF::defined_)) >, \
1217  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 53> *) 0)) == sizeof(RCF::defined_)) >, \
1218  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 54> *) 0)) == sizeof(RCF::defined_)) >, \
1219  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 55> *) 0)) == sizeof(RCF::defined_)) >, \
1220  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 56> *) 0)) == sizeof(RCF::defined_)) >, \
1221  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 57> *) 0)) == sizeof(RCF::defined_)) >, \
1222  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 58> *) 0)) == sizeof(RCF::defined_)) >, \
1223  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 59> *) 0)) == sizeof(RCF::defined_)) >, \
1224  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 60> *) 0)) == sizeof(RCF::defined_)) >, \
1225  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 61> *) 0)) == sizeof(RCF::defined_)) >, \
1226  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 62> *) 0)) == sizeof(RCF::defined_)) >, \
1227  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 63> *) 0)) == sizeof(RCF::defined_)) >, \
1228  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 64> *) 0)) == sizeof(RCF::defined_)) >, \
1229  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 65> *) 0)) == sizeof(RCF::defined_)) >, \
1230  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 66> *) 0)) == sizeof(RCF::defined_)) >, \
1231  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 67> *) 0)) == sizeof(RCF::defined_)) >, \
1232  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 68> *) 0)) == sizeof(RCF::defined_)) >, \
1233  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 69> *) 0)) == sizeof(RCF::defined_)) >, \
1234  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 70> *) 0)) == sizeof(RCF::defined_)) >, \
1235  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 71> *) 0)) == sizeof(RCF::defined_)) >, \
1236  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 72> *) 0)) == sizeof(RCF::defined_)) >, \
1237  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 73> *) 0)) == sizeof(RCF::defined_)) >, \
1238  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 74> *) 0)) == sizeof(RCF::defined_)) >, \
1239  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 75> *) 0)) == sizeof(RCF::defined_)) >, \
1240  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 76> *) 0)) == sizeof(RCF::defined_)) >, \
1241  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 77> *) 0)) == sizeof(RCF::defined_)) >, \
1242  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 78> *) 0)) == sizeof(RCF::defined_)) >, \
1243  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 79> *) 0)) == sizeof(RCF::defined_)) >, \
1244  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 80> *) 0)) == sizeof(RCF::defined_)) >, \
1245  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 81> *) 0)) == sizeof(RCF::defined_)) >, \
1246  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 82> *) 0)) == sizeof(RCF::defined_)) >, \
1247  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 83> *) 0)) == sizeof(RCF::defined_)) >, \
1248  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 84> *) 0)) == sizeof(RCF::defined_)) >, \
1249  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 85> *) 0)) == sizeof(RCF::defined_)) >, \
1250  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 86> *) 0)) == sizeof(RCF::defined_)) >, \
1251  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 87> *) 0)) == sizeof(RCF::defined_)) >, \
1252  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 88> *) 0)) == sizeof(RCF::defined_)) >, \
1253  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 89> *) 0)) == sizeof(RCF::defined_)) >, \
1254  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 90> *) 0)) == sizeof(RCF::defined_)) >, \
1255  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 91> *) 0)) == sizeof(RCF::defined_)) >, \
1256  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 92> *) 0)) == sizeof(RCF::defined_)) >, \
1257  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 93> *) 0)) == sizeof(RCF::defined_)) >, \
1258  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 94> *) 0)) == sizeof(RCF::defined_)) >, \
1259  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 95> *) 0)) == sizeof(RCF::defined_)) >, \
1260  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 96> *) 0)) == sizeof(RCF::defined_)) >, \
1261  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 97> *) 0)) == sizeof(RCF::defined_)) >, \
1262  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 98> *) 0)) == sizeof(RCF::defined_)) >, \
1263  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int< 99> *) 0)) == sizeof(RCF::defined_)) >, \
1264  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<100> *) 0)) == sizeof(RCF::defined_)) >, \
1265  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<101> *) 0)) == sizeof(RCF::defined_)) >, \
1266  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<102> *) 0)) == sizeof(RCF::defined_)) >, \
1267  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<103> *) 0)) == sizeof(RCF::defined_)) >, \
1268  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<104> *) 0)) == sizeof(RCF::defined_)) >, \
1269  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<105> *) 0)) == sizeof(RCF::defined_)) >, \
1270  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<106> *) 0)) == sizeof(RCF::defined_)) >, \
1271  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<107> *) 0)) == sizeof(RCF::defined_)) >, \
1272  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<108> *) 0)) == sizeof(RCF::defined_)) >, \
1273  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<109> *) 0)) == sizeof(RCF::defined_)) >, \
1274  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<110> *) 0)) == sizeof(RCF::defined_)) >, \
1275  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<111> *) 0)) == sizeof(RCF::defined_)) >, \
1276  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<112> *) 0)) == sizeof(RCF::defined_)) >, \
1277  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<113> *) 0)) == sizeof(RCF::defined_)) >, \
1278  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<114> *) 0)) == sizeof(RCF::defined_)) >, \
1279  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<115> *) 0)) == sizeof(RCF::defined_)) >, \
1280  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<116> *) 0)) == sizeof(RCF::defined_)) >, \
1281  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<117> *) 0)) == sizeof(RCF::defined_)) >, \
1282  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<118> *) 0)) == sizeof(RCF::defined_)) >, \
1283  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<119> *) 0)) == sizeof(RCF::defined_)) >, \
1284  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<120> *) 0)) == sizeof(RCF::defined_)) >, \
1285  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<121> *) 0)) == sizeof(RCF::defined_)) >, \
1286  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<122> *) 0)) == sizeof(RCF::defined_)) >, \
1287  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<123> *) 0)) == sizeof(RCF::defined_)) >, \
1288  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<124> *) 0)) == sizeof(RCF::defined_)) >, \
1289  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<125> *) 0)) == sizeof(RCF::defined_)) >, \
1290  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<126> *) 0)) == sizeof(RCF::defined_)) >, \
1291  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<127> *) 0)) == sizeof(RCF::defined_)) >, \
1292  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<128> *) 0)) == sizeof(RCF::defined_)) >, \
1293  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<129> *) 0)) == sizeof(RCF::defined_)) >, \
1294  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<130> *) 0)) == sizeof(RCF::defined_)) >, \
1295  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<131> *) 0)) == sizeof(RCF::defined_)) >, \
1296  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<132> *) 0)) == sizeof(RCF::defined_)) >, \
1297  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<133> *) 0)) == sizeof(RCF::defined_)) >, \
1298  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<134> *) 0)) == sizeof(RCF::defined_)) >, \
1299  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<135> *) 0)) == sizeof(RCF::defined_)) >, \
1300  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<136> *) 0)) == sizeof(RCF::defined_)) >, \
1301  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<137> *) 0)) == sizeof(RCF::defined_)) >, \
1302  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<138> *) 0)) == sizeof(RCF::defined_)) >, \
1303  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<139> *) 0)) == sizeof(RCF::defined_)) >, \
1304  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<140> *) 0)) == sizeof(RCF::defined_)) >, \
1305  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<141> *) 0)) == sizeof(RCF::defined_)) >, \
1306  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<142> *) 0)) == sizeof(RCF::defined_)) >, \
1307  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<143> *) 0)) == sizeof(RCF::defined_)) >, \
1308  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<144> *) 0)) == sizeof(RCF::defined_)) >, \
1309  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<145> *) 0)) == sizeof(RCF::defined_)) >, \
1310  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<146> *) 0)) == sizeof(RCF::defined_)) >, \
1311  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<147> *) 0)) == sizeof(RCF::defined_)) >, \
1312  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<148> *) 0)) == sizeof(RCF::defined_)) >, \
1313  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<149> *) 0)) == sizeof(RCF::defined_)) >, \
1314  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<150> *) 0)) == sizeof(RCF::defined_)) >, \
1315  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<151> *) 0)) == sizeof(RCF::defined_)) >, \
1316  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<152> *) 0)) == sizeof(RCF::defined_)) >, \
1317  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<153> *) 0)) == sizeof(RCF::defined_)) >, \
1318  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<154> *) 0)) == sizeof(RCF::defined_)) >, \
1319  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<155> *) 0)) == sizeof(RCF::defined_)) >, \
1320  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<156> *) 0)) == sizeof(RCF::defined_)) >, \
1321  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<157> *) 0)) == sizeof(RCF::defined_)) >, \
1322  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<158> *) 0)) == sizeof(RCF::defined_)) >, \
1323  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<159> *) 0)) == sizeof(RCF::defined_)) >, \
1324  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<160> *) 0)) == sizeof(RCF::defined_)) >, \
1325  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<161> *) 0)) == sizeof(RCF::defined_)) >, \
1326  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<162> *) 0)) == sizeof(RCF::defined_)) >, \
1327  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<163> *) 0)) == sizeof(RCF::defined_)) >, \
1328  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<164> *) 0)) == sizeof(RCF::defined_)) >, \
1329  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<165> *) 0)) == sizeof(RCF::defined_)) >, \
1330  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<166> *) 0)) == sizeof(RCF::defined_)) >, \
1331  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<167> *) 0)) == sizeof(RCF::defined_)) >, \
1332  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<168> *) 0)) == sizeof(RCF::defined_)) >, \
1333  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<169> *) 0)) == sizeof(RCF::defined_)) >, \
1334  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<170> *) 0)) == sizeof(RCF::defined_)) >, \
1335  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<171> *) 0)) == sizeof(RCF::defined_)) >, \
1336  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<172> *) 0)) == sizeof(RCF::defined_)) >, \
1337  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<173> *) 0)) == sizeof(RCF::defined_)) >, \
1338  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<174> *) 0)) == sizeof(RCF::defined_)) >, \
1339  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<175> *) 0)) == sizeof(RCF::defined_)) >, \
1340  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<176> *) 0)) == sizeof(RCF::defined_)) >, \
1341  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<177> *) 0)) == sizeof(RCF::defined_)) >, \
1342  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<178> *) 0)) == sizeof(RCF::defined_)) >, \
1343  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<179> *) 0)) == sizeof(RCF::defined_)) >, \
1344  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<180> *) 0)) == sizeof(RCF::defined_)) >, \
1345  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<181> *) 0)) == sizeof(RCF::defined_)) >, \
1346  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<182> *) 0)) == sizeof(RCF::defined_)) >, \
1347  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<183> *) 0)) == sizeof(RCF::defined_)) >, \
1348  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<184> *) 0)) == sizeof(RCF::defined_)) >, \
1349  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<185> *) 0)) == sizeof(RCF::defined_)) >, \
1350  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<186> *) 0)) == sizeof(RCF::defined_)) >, \
1351  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<187> *) 0)) == sizeof(RCF::defined_)) >, \
1352  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<188> *) 0)) == sizeof(RCF::defined_)) >, \
1353  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<189> *) 0)) == sizeof(RCF::defined_)) >, \
1354  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<190> *) 0)) == sizeof(RCF::defined_)) >, \
1355  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<191> *) 0)) == sizeof(RCF::defined_)) >, \
1356  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<192> *) 0)) == sizeof(RCF::defined_)) >, \
1357  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<193> *) 0)) == sizeof(RCF::defined_)) >, \
1358  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<194> *) 0)) == sizeof(RCF::defined_)) >, \
1359  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<195> *) 0)) == sizeof(RCF::defined_)) >, \
1360  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<196> *) 0)) == sizeof(RCF::defined_)) >, \
1361  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<197> *) 0)) == sizeof(RCF::defined_)) >, \
1362  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<198> *) 0)) == sizeof(RCF::defined_)) >, \
1363  RCF::If< RCF::Bool< (sizeof(helper_func((T1 *) 0, (T2 *) 0, (RCF::Int<199> *) 0)) == sizeof(RCF::defined_)) >, \
1364  RCF::Int<199>, \
1365  RCF::Int<198> >::type, \
1366  RCF::Int<197> >::type, \
1367  RCF::Int<196> >::type, \
1368  RCF::Int<195> >::type, \
1369  RCF::Int<194> >::type, \
1370  RCF::Int<193> >::type, \
1371  RCF::Int<192> >::type, \
1372  RCF::Int<191> >::type, \
1373  RCF::Int<190> >::type, \
1374  RCF::Int<189> >::type, \
1375  RCF::Int<188> >::type, \
1376  RCF::Int<187> >::type, \
1377  RCF::Int<186> >::type, \
1378  RCF::Int<185> >::type, \
1379  RCF::Int<184> >::type, \
1380  RCF::Int<183> >::type, \
1381  RCF::Int<182> >::type, \
1382  RCF::Int<181> >::type, \
1383  RCF::Int<180> >::type, \
1384  RCF::Int<179> >::type, \
1385  RCF::Int<178> >::type, \
1386  RCF::Int<177> >::type, \
1387  RCF::Int<176> >::type, \
1388  RCF::Int<175> >::type, \
1389  RCF::Int<174> >::type, \
1390  RCF::Int<173> >::type, \
1391  RCF::Int<172> >::type, \
1392  RCF::Int<171> >::type, \
1393  RCF::Int<170> >::type, \
1394  RCF::Int<169> >::type, \
1395  RCF::Int<168> >::type, \
1396  RCF::Int<167> >::type, \
1397  RCF::Int<166> >::type, \
1398  RCF::Int<165> >::type, \
1399  RCF::Int<164> >::type, \
1400  RCF::Int<163> >::type, \
1401  RCF::Int<162> >::type, \
1402  RCF::Int<161> >::type, \
1403  RCF::Int<160> >::type, \
1404  RCF::Int<159> >::type, \
1405  RCF::Int<158> >::type, \
1406  RCF::Int<157> >::type, \
1407  RCF::Int<156> >::type, \
1408  RCF::Int<155> >::type, \
1409  RCF::Int<154> >::type, \
1410  RCF::Int<153> >::type, \
1411  RCF::Int<152> >::type, \
1412  RCF::Int<151> >::type, \
1413  RCF::Int<150> >::type, \
1414  RCF::Int<149> >::type, \
1415  RCF::Int<148> >::type, \
1416  RCF::Int<147> >::type, \
1417  RCF::Int<146> >::type, \
1418  RCF::Int<145> >::type, \
1419  RCF::Int<144> >::type, \
1420  RCF::Int<143> >::type, \
1421  RCF::Int<142> >::type, \
1422  RCF::Int<141> >::type, \
1423  RCF::Int<140> >::type, \
1424  RCF::Int<139> >::type, \
1425  RCF::Int<138> >::type, \
1426  RCF::Int<137> >::type, \
1427  RCF::Int<136> >::type, \
1428  RCF::Int<135> >::type, \
1429  RCF::Int<134> >::type, \
1430  RCF::Int<133> >::type, \
1431  RCF::Int<132> >::type, \
1432  RCF::Int<131> >::type, \
1433  RCF::Int<130> >::type, \
1434  RCF::Int<129> >::type, \
1435  RCF::Int<128> >::type, \
1436  RCF::Int<127> >::type, \
1437  RCF::Int<126> >::type, \
1438  RCF::Int<125> >::type, \
1439  RCF::Int<124> >::type, \
1440  RCF::Int<123> >::type, \
1441  RCF::Int<122> >::type, \
1442  RCF::Int<121> >::type, \
1443  RCF::Int<120> >::type, \
1444  RCF::Int<119> >::type, \
1445  RCF::Int<118> >::type, \
1446  RCF::Int<117> >::type, \
1447  RCF::Int<116> >::type, \
1448  RCF::Int<115> >::type, \
1449  RCF::Int<114> >::type, \
1450  RCF::Int<113> >::type, \
1451  RCF::Int<112> >::type, \
1452  RCF::Int<111> >::type, \
1453  RCF::Int<110> >::type, \
1454  RCF::Int<109> >::type, \
1455  RCF::Int<108> >::type, \
1456  RCF::Int<107> >::type, \
1457  RCF::Int<106> >::type, \
1458  RCF::Int<105> >::type, \
1459  RCF::Int<104> >::type, \
1460  RCF::Int<103> >::type, \
1461  RCF::Int<102> >::type, \
1462  RCF::Int<101> >::type, \
1463  RCF::Int<100> >::type, \
1464  RCF::Int< 99> >::type, \
1465  RCF::Int< 98> >::type, \
1466  RCF::Int< 97> >::type, \
1467  RCF::Int< 96> >::type, \
1468  RCF::Int< 95> >::type, \
1469  RCF::Int< 94> >::type, \
1470  RCF::Int< 93> >::type, \
1471  RCF::Int< 92> >::type, \
1472  RCF::Int< 91> >::type, \
1473  RCF::Int< 90> >::type, \
1474  RCF::Int< 89> >::type, \
1475  RCF::Int< 88> >::type, \
1476  RCF::Int< 87> >::type, \
1477  RCF::Int< 86> >::type, \
1478  RCF::Int< 85> >::type, \
1479  RCF::Int< 84> >::type, \
1480  RCF::Int< 83> >::type, \
1481  RCF::Int< 82> >::type, \
1482  RCF::Int< 81> >::type, \
1483  RCF::Int< 80> >::type, \
1484  RCF::Int< 79> >::type, \
1485  RCF::Int< 78> >::type, \
1486  RCF::Int< 77> >::type, \
1487  RCF::Int< 76> >::type, \
1488  RCF::Int< 75> >::type, \
1489  RCF::Int< 74> >::type, \
1490  RCF::Int< 73> >::type, \
1491  RCF::Int< 72> >::type, \
1492  RCF::Int< 71> >::type, \
1493  RCF::Int< 70> >::type, \
1494  RCF::Int< 69> >::type, \
1495  RCF::Int< 68> >::type, \
1496  RCF::Int< 67> >::type, \
1497  RCF::Int< 66> >::type, \
1498  RCF::Int< 65> >::type, \
1499  RCF::Int< 64> >::type, \
1500  RCF::Int< 63> >::type, \
1501  RCF::Int< 62> >::type, \
1502  RCF::Int< 61> >::type, \
1503  RCF::Int< 60> >::type, \
1504  RCF::Int< 59> >::type, \
1505  RCF::Int< 58> >::type, \
1506  RCF::Int< 57> >::type, \
1507  RCF::Int< 56> >::type, \
1508  RCF::Int< 55> >::type, \
1509  RCF::Int< 54> >::type, \
1510  RCF::Int< 53> >::type, \
1511  RCF::Int< 52> >::type, \
1512  RCF::Int< 51> >::type, \
1513  RCF::Int< 50> >::type, \
1514  RCF::Int< 49> >::type, \
1515  RCF::Int< 48> >::type, \
1516  RCF::Int< 47> >::type, \
1517  RCF::Int< 46> >::type, \
1518  RCF::Int< 45> >::type, \
1519  RCF::Int< 44> >::type, \
1520  RCF::Int< 43> >::type, \
1521  RCF::Int< 42> >::type, \
1522  RCF::Int< 41> >::type, \
1523  RCF::Int< 40> >::type, \
1524  RCF::Int< 39> >::type, \
1525  RCF::Int< 38> >::type, \
1526  RCF::Int< 37> >::type, \
1527  RCF::Int< 36> >::type, \
1528  RCF::Int< 35> >::type, \
1529  RCF::Int< 34> >::type, \
1530  RCF::Int< 33> >::type, \
1531  RCF::Int< 32> >::type, \
1532  RCF::Int< 31> >::type, \
1533  RCF::Int< 30> >::type, \
1534  RCF::Int< 29> >::type, \
1535  RCF::Int< 28> >::type, \
1536  RCF::Int< 27> >::type, \
1537  RCF::Int< 26> >::type, \
1538  RCF::Int< 25> >::type, \
1539  RCF::Int< 24> >::type, \
1540  RCF::Int< 23> >::type, \
1541  RCF::Int< 22> >::type, \
1542  RCF::Int< 21> >::type, \
1543  RCF::Int< 20> >::type, \
1544  RCF::Int< 19> >::type, \
1545  RCF::Int< 18> >::type, \
1546  RCF::Int< 17> >::type, \
1547  RCF::Int< 16> >::type, \
1548  RCF::Int< 15> >::type, \
1549  RCF::Int< 14> >::type, \
1550  RCF::Int< 13> >::type, \
1551  RCF::Int< 12> >::type, \
1552  RCF::Int< 11> >::type, \
1553  RCF::Int< 10> >::type, \
1554  RCF::Int< 9> >::type, \
1555  RCF::Int< 8> >::type, \
1556  RCF::Int< 7> >::type, \
1557  RCF::Int< 6> >::type, \
1558  RCF::Int< 5> >::type, \
1559  RCF::Int< 4> >::type, \
1560  RCF::Int< 3> >::type, \
1561  RCF::Int< 2> >::type, \
1562  RCF::Int< 1> >::type, \
1563  RCF::Int< 0> >::type, \
1564  RCF::Int< -1> >::type current_static_id;
1565 
1566 
1567 #else
1568 
1569 #error RCF_MAX_METHOD_COUNT > 200 is currently not implemented.
1570 
1571 #endif // RCF_MAX_METHOD_COUNT
1572 
1573 #endif // ! INCLUDE_RCF_IDL_HPP
Definition: AmiIoHandler.hpp:24