]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/boost/bind/bind_mf2_cc.hpp
import quincy beta 17.1.0
[ceph.git] / ceph / src / boost / boost / bind / bind_mf2_cc.hpp
CommitLineData
7c673cae
FG
1//
2// bind/bind_mf2_cc.hpp - member functions, type<> syntax
3//
4// Do not include this header directly.
5//
6// Copyright (c) 2001 Peter Dimov and Multi Media Ltd.
7// Copyright (c) 2008 Peter Dimov
8//
9// Distributed under the Boost Software License, Version 1.0.
10// See accompanying file LICENSE_1_0.txt or copy at
11// http://www.boost.org/LICENSE_1_0.txt
12//
13// See http://www.boost.org/libs/bind/bind.html for documentation.
14//
15
16// 0
17
18template<class Rt2, class R, class T,
19 class A1>
20 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf0)<R, T>, typename _bi::list_av_1<A1>::type>
20effc67 21 BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) () BOOST_BIND_MF_NOEXCEPT, A1 a1)
7c673cae
FG
22{
23 typedef _mfi::BOOST_BIND_MF_NAME(mf0)<R, T> F;
24 typedef typename _bi::list_av_1<A1>::type list_type;
25 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1));
26}
27
28template<class Rt2, class R, class T,
29 class A1>
30 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T>, typename _bi::list_av_1<A1>::type>
20effc67 31 BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) () const BOOST_BIND_MF_NOEXCEPT, A1 a1)
7c673cae
FG
32{
33 typedef _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T> F;
34 typedef typename _bi::list_av_1<A1>::type list_type;
35 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1));
36}
37
38// 1
39
40template<class Rt2, class R, class T,
41 class B1,
42 class A1, class A2>
43 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
20effc67 44 BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2)
7c673cae
FG
45{
46 typedef _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1> F;
47 typedef typename _bi::list_av_2<A1, A2>::type list_type;
48 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2));
49}
50
51template<class Rt2, class R, class T,
52 class B1,
53 class A1, class A2>
54 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
20effc67 55 BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2)
7c673cae
FG
56{
57 typedef _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1> F;
58 typedef typename _bi::list_av_2<A1, A2>::type list_type;
59 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2));
60}
61
62// 2
63
64template<class Rt2, class R, class T,
65 class B1, class B2,
66 class A1, class A2, class A3>
67 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
20effc67 68 BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3)
7c673cae
FG
69{
70 typedef _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2> F;
71 typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
72 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3));
73}
74
75template<class Rt2, class R, class T,
76 class B1, class B2,
77 class A1, class A2, class A3>
78 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
20effc67 79 BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3)
7c673cae
FG
80{
81 typedef _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2> F;
82 typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
83 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3));
84}
85
86// 3
87
88template<class Rt2, class R, class T,
89 class B1, class B2, class B3,
90 class A1, class A2, class A3, class A4>
91 _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>
20effc67 92 BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4)
7c673cae
FG
93{
94 typedef _mfi::BOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3> F;
95 typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
96 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4));
97}
98
99template<class Rt2, class R, class T,
100 class B1, class B2, class B3,
101 class A1, class A2, class A3, class A4>
102 _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>
20effc67 103 BOOST_BIND(boost::type<Rt2>, 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
104{
105 typedef _mfi::BOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3> F;
106 typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
107 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4));
108}
109
110// 4
111
112template<class Rt2, class R, class T,
113 class B1, class B2, class B3, class B4,
114 class A1, class A2, class A3, class A4, class A5>
115 _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>
20effc67 116 BOOST_BIND(boost::type<Rt2>, 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
117{
118 typedef _mfi::BOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4> F;
119 typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
120 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));
121}
122
123template<class Rt2, class R, class T,
124 class B1, class B2, class B3, class B4,
125 class A1, class A2, class A3, class A4, class A5>
126 _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>
20effc67 127 BOOST_BIND(boost::type<Rt2>, 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
128{
129 typedef _mfi::BOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4> F;
130 typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
131 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));
132}
133
134// 5
135
136template<class Rt2, class R, class T,
137 class B1, class B2, class B3, class B4, class B5,
138 class A1, class A2, class A3, class A4, class A5, class A6>
139 _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>
20effc67 140 BOOST_BIND(boost::type<Rt2>, 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
141{
142 typedef _mfi::BOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5> F;
143 typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
144 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));
145}
146
147template<class Rt2, class R, class T,
148 class B1, class B2, class B3, class B4, class B5,
149 class A1, class A2, class A3, class A4, class A5, class A6>
150 _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>
20effc67 151 BOOST_BIND(boost::type<Rt2>, 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
152{
153 typedef _mfi::BOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5> F;
154 typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
155 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));
156}
157
158// 6
159
160template<class Rt2, class R, class T,
161 class B1, class B2, class B3, class B4, class B5, class B6,
162 class A1, class A2, class A3, class A4, class A5, class A6, class A7>
163 _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>
20effc67 164 BOOST_BIND(boost::type<Rt2>, 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
165{
166 typedef _mfi::BOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6> F;
167 typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
168 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));
169}
170
171template<class Rt2, class R, class T,
172 class B1, class B2, class B3, class B4, class B5, class B6,
173 class A1, class A2, class A3, class A4, class A5, class A6, class A7>
174 _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>
20effc67 175 BOOST_BIND(boost::type<Rt2>, 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
176{
177 typedef _mfi::BOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6> F;
178 typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
179 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));
180}
181
182// 7
183
184template<class Rt2, class R, class T,
185 class B1, class B2, class B3, class B4, class B5, class B6, class B7,
186 class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
187 _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>
20effc67 188 BOOST_BIND(boost::type<Rt2>, 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
189{
190 typedef _mfi::BOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;
191 typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
192 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));
193}
194
195template<class Rt2, class R, class T,
196 class B1, class B2, class B3, class B4, class B5, class B6, class B7,
197 class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
198 _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>
20effc67 199 BOOST_BIND(boost::type<Rt2>, 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
200{
201 typedef _mfi::BOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;
202 typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
203 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));
204}
205
206// 8
207
208template<class Rt2, class R, class T,
209 class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,
210 class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
211 _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>
20effc67 212 BOOST_BIND(boost::type<Rt2>, 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
213{
214 typedef _mfi::BOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;
215 typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
216 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
217}
218
219template<class Rt2, class R, class T,
220 class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,
221 class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
222 _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>
20effc67 223 BOOST_BIND(boost::type<Rt2>, 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
224{
225 typedef _mfi::BOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;
226 typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
227 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
228}