bind_mf_cc.hpp
Go to the documentation of this file.
1 //
2 // bind/bind_mf_cc.hpp - support for different calling conventions
3 //
4 // Do not include this header directly.
5 //
6 // Copyright (c) 2001 Peter Dimov and Multi Media Ltd.
7 //
8 // Distributed under the Boost Software License, Version 1.0. (See
9 // accompanying file LICENSE_1_0.txt or copy at
10 // http://www.boost.org/LICENSE_1_0.txt)
11 //
12 // See http://www.boost.org/libs/bind/bind.html for documentation.
13 //
14 
15 // 0
16 
17 template<class R, class T,
18  class A1>
19  _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf0)<R, T>, typename _bi::list_av_1<A1>::type>
21 {
22  typedef _mfi::BOOST_BIND_MF_NAME(mf0)<R, T> F;
23  typedef typename _bi::list_av_1<A1>::type list_type;
24  return _bi::bind_t<R, F, list_type>(F(f), list_type(a1));
25 }
26 
27 template<class R, class T,
28  class A1>
29  _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T>, typename _bi::list_av_1<A1>::type>
30  BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) () const, A1 a1)
31 {
32  typedef _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T> F;
33  typedef typename _bi::list_av_1<A1>::type list_type;
34  return _bi::bind_t<R, F, list_type>(F(f), list_type(a1));
35 }
36 
37 template<class Rt2, class R, class T,
38  class A1>
40  _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf0)<R, T>, typename _bi::list_av_1<A1>::type>
41  >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (), A1 a1)
42 {
43  typedef _mfi::BOOST_BIND_MF_NAME(mf0)<R, T> F;
44  typedef typename _bi::list_av_1<A1>::type list_type;
45  return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1));
46 }
47 
48 template<class Rt2, class R, class T,
49  class A1>
51  _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T>, typename _bi::list_av_1<A1>::type>
52  >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) () const, A1 a1)
53 {
54  typedef _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T> F;
55  typedef typename _bi::list_av_1<A1>::type list_type;
56  return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1));
57 }
58 
59 // 1
60 
61 template<class R, class T,
62  class B1,
63  class A1, class A2>
64  _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
65  BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1), A1 a1, A2 a2)
66 {
67  typedef _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1> F;
68  typedef typename _bi::list_av_2<A1, A2>::type list_type;
69  return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2));
70 }
71 
72 template<class R, class T,
73  class B1,
74  class A1, class A2>
75  _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
76  BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1) const, A1 a1, A2 a2)
77 {
78  typedef _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1> F;
79  typedef typename _bi::list_av_2<A1, A2>::type list_type;
80  return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2));
81 }
82 
83 template<class Rt2, class R, class T,
84  class B1,
85  class A1, class A2>
87  _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
88  >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1), A1 a1, A2 a2)
89 {
90  typedef _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1> F;
91  typedef typename _bi::list_av_2<A1, A2>::type list_type;
92  return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2));
93 }
94 
95 template<class Rt2, class R, class T,
96  class B1,
97  class A1, class A2>
99  _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
100  >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1) const, A1 a1, A2 a2)
101 {
102  typedef _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1> F;
103  typedef typename _bi::list_av_2<A1, A2>::type list_type;
104  return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2));
105 }
106 
107 // 2
108 
109 template<class R, class T,
110  class B1, class B2,
111  class A1, class A2, class A3>
112  _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
113  BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2), A1 a1, A2 a2, A3 a3)
114 {
115  typedef _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2> F;
116  typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
117  return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3));
118 }
119 
120 template<class R, class T,
121  class B1, class B2,
122  class A1, class A2, class A3>
123  _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
124  BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2) const, A1 a1, A2 a2, A3 a3)
125 {
126  typedef _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2> F;
127  typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
128  return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3));
129 }
130 
131 template<class Rt2, class R, class T,
132  class B1, class B2,
133  class A1, class A2, class A3>
135  _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
136  >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2), A1 a1, A2 a2, A3 a3)
137 {
138  typedef _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2> F;
139  typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
140  return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3));
141 }
142 
143 template<class Rt2, class R, class T,
144  class B1, class B2,
145  class A1, class A2, class A3>
147  _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
148  >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2) const, A1 a1, A2 a2, A3 a3)
149 {
150  typedef _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2> F;
151  typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
152  return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3));
153 }
154 
155 // 3
156 
157 template<class R, class T,
158  class B1, class B2, class B3,
159  class A1, class A2, class A3, class A4>
160  _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>
161  BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3), A1 a1, A2 a2, A3 a3, A4 a4)
162 {
163  typedef _mfi::BOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3> F;
164  typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
165  return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4));
166 }
167 
168 template<class R, class T,
169  class B1, class B2, class B3,
170  class A1, class A2, class A3, class A4>
171  _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>
172  BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) const, A1 a1, A2 a2, A3 a3, A4 a4)
173 {
174  typedef _mfi::BOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3> F;
175  typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
176  return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4));
177 }
178 
179 template<class Rt2, class R, class T,
180  class B1, class B2, class B3,
181  class A1, class A2, class A3, class A4>
183  _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>
184  >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3), A1 a1, A2 a2, A3 a3, A4 a4)
185 {
186  typedef _mfi::BOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3> F;
187  typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
188  return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4));
189 }
190 
191 template<class Rt2, class R, class T,
192  class B1, class B2, class B3,
193  class A1, class A2, class A3, class A4>
195  _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>
196  >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) const, A1 a1, A2 a2, A3 a3, A4 a4)
197 {
198  typedef _mfi::BOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3> F;
199  typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
200  return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4));
201 }
202 
203 // 4
204 
205 template<class R, class T,
206  class B1, class B2, class B3, class B4,
207  class A1, class A2, class A3, class A4, class A5>
208  _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
209  BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
210 {
211  typedef _mfi::BOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4> F;
212  typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
213  return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));
214 }
215 
216 template<class R, class T,
217  class B1, class B2, class B3, class B4,
218  class A1, class A2, class A3, class A4, class A5>
219  _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
220  BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
221 {
222  typedef _mfi::BOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4> F;
223  typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
224  return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));
225 }
226 
227 template<class Rt2, class R, class T,
228  class B1, class B2, class B3, class B4,
229  class A1, class A2, class A3, class A4, class A5>
231  _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
232  >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
233 {
234  typedef _mfi::BOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4> F;
235  typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
236  return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));
237 }
238 
239 template<class Rt2, class R, class T,
240  class B1, class B2, class B3, class B4,
241  class A1, class A2, class A3, class A4, class A5>
243  _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
244  >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
245 {
246  typedef _mfi::BOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4> F;
247  typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
248  return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));
249 }
250 
251 // 5
252 
253 template<class R, class T,
254  class B1, class B2, class B3, class B4, class B5,
255  class A1, class A2, class A3, class A4, class A5, class A6>
256  _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
257  BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
258 {
259  typedef _mfi::BOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5> F;
260  typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
261  return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));
262 }
263 
264 template<class R, class T,
265  class B1, class B2, class B3, class B4, class B5,
266  class A1, class A2, class A3, class A4, class A5, class A6>
267  _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
268  BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
269 {
270  typedef _mfi::BOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5> F;
271  typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
272  return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));
273 }
274 
275 template<class Rt2, class R, class T,
276  class B1, class B2, class B3, class B4, class B5,
277  class A1, class A2, class A3, class A4, class A5, class A6>
279  _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
280  >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
281 {
282  typedef _mfi::BOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5> F;
283  typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
284  return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));
285 }
286 
287 template<class Rt2, class R, class T,
288  class B1, class B2, class B3, class B4, class B5,
289  class A1, class A2, class A3, class A4, class A5, class A6>
291  _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
292  >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
293 {
294  typedef _mfi::BOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5> F;
295  typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
296  return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));
297 }
298 
299 // 6
300 
301 template<class R, class T,
302  class B1, class B2, class B3, class B4, class B5, class B6,
303  class A1, class A2, class A3, class A4, class A5, class A6, class A7>
304  _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
305  BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
306 {
307  typedef _mfi::BOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6> F;
308  typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
309  return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));
310 }
311 
312 template<class R, class T,
313  class B1, class B2, class B3, class B4, class B5, class B6,
314  class A1, class A2, class A3, class A4, class A5, class A6, class A7>
315  _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
316  BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
317 {
318  typedef _mfi::BOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6> F;
319  typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
320  return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));
321 }
322 
323 template<class Rt2, class R, class T,
324  class B1, class B2, class B3, class B4, class B5, class B6,
325  class A1, class A2, class A3, class A4, class A5, class A6, class A7>
327  _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
328  >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
329 {
330  typedef _mfi::BOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6> F;
331  typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
332  return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));
333 }
334 
335 template<class Rt2, class R, class T,
336  class B1, class B2, class B3, class B4, class B5, class B6,
337  class A1, class A2, class A3, class A4, class A5, class A6, class A7>
339  _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
340  >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
341 {
342  typedef _mfi::BOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6> F;
343  typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
344  return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));
345 }
346 
347 // 7
348 
349 template<class R, class T,
350  class B1, class B2, class B3, class B4, class B5, class B6, class B7,
351  class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
352  _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
353  BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
354 {
355  typedef _mfi::BOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;
356  typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
357  return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));
358 }
359 
360 template<class R, class T,
361  class B1, class B2, class B3, class B4, class B5, class B6, class B7,
362  class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
363  _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
364  BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
365 {
366  typedef _mfi::BOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;
367  typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
368  return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));
369 }
370 
371 template<class Rt2, class R, class T,
372  class B1, class B2, class B3, class B4, class B5, class B6, class B7,
373  class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
375  _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
376  >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
377 {
378  typedef _mfi::BOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;
379  typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
380  return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));
381 }
382 
383 template<class Rt2, class R, class T,
384  class B1, class B2, class B3, class B4, class B5, class B6, class B7,
385  class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
387  _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
388  >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
389 {
390  typedef _mfi::BOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;
391  typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
392  return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));
393 }
394 
395 // 8
396 
397 template<class R, class T,
398  class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,
399  class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
400  _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
401  BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
402 {
403  typedef _mfi::BOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;
404  typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
405  return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
406 }
407 
408 template<class R, class T,
409  class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,
410  class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
411  _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
412  BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
413 {
414  typedef _mfi::BOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;
415  typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
416  return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
417 }
418 
419 template<class Rt2, class R, class T,
420  class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,
421  class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
423  _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
424  >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
425 {
426  typedef _mfi::BOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;
427  typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
428  return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
429 }
430 
431 template<class Rt2, class R, class T,
432  class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,
433  class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
435  _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
436  >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
437 {
438  typedef _mfi::BOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;
439  typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
440  return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
441 }
boost::enable_if_c
Definition: core/enable_if.hpp:33
BOOST_BIND_MF_NAME
#define BOOST_BIND_MF_NAME(X)
Definition: bind/bind.hpp:2169
R
#define R(x, n)
Definition: SHA256.cpp:50
T
T
Definition: mem_fn_cc.hpp:25
A1
A1
Definition: mem_fn_cc.hpp:35
BOOST_BIND
_bi::bind_t< R, _mfi::BOOST_BIND_MF_NAME(mf0)< R, T >, typename _bi::list_av_1< A1 >::type > BOOST_BIND(R(BOOST_BIND_MF_CC T::*f)(), A1 a1)
Definition: bind_mf_cc.hpp:20
A7
A7
Definition: mem_fn_cc.hpp:95
A3
A3
Definition: mem_fn_cc.hpp:55
f
f
BOOST_BIND_MF_CC
#define BOOST_BIND_MF_CC
Definition: bind/bind.hpp:2170
A5
A5
Definition: mem_fn_cc.hpp:75
A6
A6
Definition: mem_fn_cc.hpp:85
A4
A4
Definition: mem_fn_cc.hpp:65
A2
A2
Definition: mem_fn_cc.hpp:45


sick_visionary_ros
Author(s): SICK AG TechSupport 3D Snapshot
autogenerated on Thu Feb 8 2024 03:38:04