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