]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/boost/bind/bind_mf_cc.hpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / boost / bind / bind_mf_cc.hpp
CommitLineData
7c673cae
FG
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
17template<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>
b32b8144 20 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) () BOOST_BIND_MF_NOEXCEPT, A1 a1)
7c673cae
FG
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
27template<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>
b32b8144 30 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) () const BOOST_BIND_MF_NOEXCEPT, A1 a1)
7c673cae
FG
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
37template<class Rt2, class R, class T,
38 class A1>
39 typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
40 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf0)<R, T>, typename _bi::list_av_1<A1>::type>
b32b8144 41 >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) () BOOST_BIND_MF_NOEXCEPT, A1 a1)
7c673cae
FG
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
48template<class Rt2, class R, class T,
49 class A1>
50 typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
51 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T>, typename _bi::list_av_1<A1>::type>
b32b8144 52 >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) () const BOOST_BIND_MF_NOEXCEPT, A1 a1)
7c673cae
FG
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
61template<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>
b32b8144 65 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2)
7c673cae
FG
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
72template<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>
b32b8144 76 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2)
7c673cae
FG
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
83template<class Rt2, class R, class T,
84 class B1,
85 class A1, class A2>
86 typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
87 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
b32b8144 88 >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2)
7c673cae
FG
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
95template<class Rt2, class R, class T,
96 class B1,
97 class A1, class A2>
98 typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
99 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
b32b8144 100 >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2)
7c673cae
FG
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
109template<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>
b32b8144 113 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3)
7c673cae
FG
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
120template<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>
b32b8144 124 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3)
7c673cae
FG
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
131template<class Rt2, class R, class T,
132 class B1, class B2,
133 class A1, class A2, class A3>
134 typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
135 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
b32b8144 136 >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3)
7c673cae
FG
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
143template<class Rt2, class R, class T,
144 class B1, class B2,
145 class A1, class A2, class A3>
146 typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
147 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
b32b8144 148 >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3)
7c673cae
FG
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
157template<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>
b32b8144 161 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4)
7c673cae
FG
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
168template<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>
b32b8144 172 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4)
7c673cae
FG
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
179template<class Rt2, class R, class T,
180 class B1, class B2, class B3,
181 class A1, class A2, class A3, class A4>
182 typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
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>
b32b8144 184 >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4)
7c673cae
FG
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
191template<class Rt2, class R, class T,
192 class B1, class B2, class B3,
193 class A1, class A2, class A3, class A4>
194 typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
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>
b32b8144 196 >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4)
7c673cae
FG
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
205template<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>
b32b8144 209 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
7c673cae
FG
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
216template<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>
b32b8144 220 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
7c673cae
FG
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
227template<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>
230 typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
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>
b32b8144 232 >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
7c673cae
FG
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
239template<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>
242 typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
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>
b32b8144 244 >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
7c673cae
FG
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
253template<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>
b32b8144 257 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
7c673cae
FG
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
264template<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>
b32b8144 268 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
7c673cae
FG
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
275template<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>
278 typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
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>
b32b8144 280 >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
7c673cae
FG
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
287template<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>
290 typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
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>
b32b8144 292 >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
7c673cae
FG
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
301template<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>
b32b8144 305 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
7c673cae
FG
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
312template<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>
b32b8144 316 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
7c673cae
FG
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
323template<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>
326 typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
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>
b32b8144 328 >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
7c673cae
FG
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
335template<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>
338 typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
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>
b32b8144 340 >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
7c673cae
FG
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
349template<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>
b32b8144 353 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
7c673cae
FG
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
360template<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>
b32b8144 364 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
7c673cae
FG
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
371template<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>
374 typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
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>
b32b8144 376 >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
7c673cae
FG
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
383template<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>
386 typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
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>
b32b8144 388 >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
7c673cae
FG
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
397template<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>
b32b8144 401 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
7c673cae
FG
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
408template<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>
b32b8144 412 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
7c673cae
FG
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
419template<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>
422 typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
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>
b32b8144 424 >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
7c673cae
FG
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
431template<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>
434 typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
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>
b32b8144 436 >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
7c673cae
FG
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}