00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 template<class R, class T,
00018 class A1>
00019 _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf0)<R, T>, typename _bi::list_av_1<A1>::type>
00020 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (), A1 a1)
00021 {
00022 typedef _mfi::BOOST_BIND_MF_NAME(mf0)<R, T> F;
00023 typedef typename _bi::list_av_1<A1>::type list_type;
00024 return _bi::bind_t<R, F, list_type>(F(f), list_type(a1));
00025 }
00026
00027 template<class R, class T,
00028 class A1>
00029 _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T>, typename _bi::list_av_1<A1>::type>
00030 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) () const, A1 a1)
00031 {
00032 typedef _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T> F;
00033 typedef typename _bi::list_av_1<A1>::type list_type;
00034 return _bi::bind_t<R, F, list_type>(F(f), list_type(a1));
00035 }
00036
00037
00038
00039 template<class R, class T,
00040 class B1,
00041 class A1, class A2>
00042 _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
00043 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1), A1 a1, A2 a2)
00044 {
00045 typedef _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1> F;
00046 typedef typename _bi::list_av_2<A1, A2>::type list_type;
00047 return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2));
00048 }
00049
00050 template<class R, class T,
00051 class B1,
00052 class A1, class A2>
00053 _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
00054 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1) const, A1 a1, A2 a2)
00055 {
00056 typedef _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1> F;
00057 typedef typename _bi::list_av_2<A1, A2>::type list_type;
00058 return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2));
00059 }
00060
00061
00062
00063 template<class R, class T,
00064 class B1, class B2,
00065 class A1, class A2, class A3>
00066 _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
00067 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2), A1 a1, A2 a2, A3 a3)
00068 {
00069 typedef _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2> F;
00070 typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
00071 return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3));
00072 }
00073
00074 template<class R, class T,
00075 class B1, class B2,
00076 class A1, class A2, class A3>
00077 _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
00078 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2) const, A1 a1, A2 a2, A3 a3)
00079 {
00080 typedef _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2> F;
00081 typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
00082 return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3));
00083 }
00084
00085
00086
00087 template<class R, class T,
00088 class B1, class B2, class B3,
00089 class A1, class A2, class A3, class A4>
00090 _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>
00091 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3), A1 a1, A2 a2, A3 a3, A4 a4)
00092 {
00093 typedef _mfi::BOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3> F;
00094 typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
00095 return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4));
00096 }
00097
00098 template<class R, class T,
00099 class B1, class B2, class B3,
00100 class A1, class A2, class A3, class A4>
00101 _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>
00102 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) const, A1 a1, A2 a2, A3 a3, A4 a4)
00103 {
00104 typedef _mfi::BOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3> F;
00105 typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
00106 return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4));
00107 }
00108
00109
00110
00111 template<class R, class T,
00112 class B1, class B2, class B3, class B4,
00113 class A1, class A2, class A3, class A4, class A5>
00114 _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>
00115 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
00116 {
00117 typedef _mfi::BOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4> F;
00118 typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
00119 return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));
00120 }
00121
00122 template<class R, class T,
00123 class B1, class B2, class B3, class B4,
00124 class A1, class A2, class A3, class A4, class A5>
00125 _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>
00126 BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
00127 {
00128 typedef _mfi::BOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4> F;
00129 typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
00130 return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));
00131 }
00132
00133
00134
00135 template<class R, class T,
00136 class B1, class B2, class B3, class B4, class B5,
00137 class A1, class A2, class A3, class A4, class A5, class A6>
00138 _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>
00139 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)
00140 {
00141 typedef _mfi::BOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5> F;
00142 typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
00143 return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));
00144 }
00145
00146 template<class R, class T,
00147 class B1, class B2, class B3, class B4, class B5,
00148 class A1, class A2, class A3, class A4, class A5, class A6>
00149 _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>
00150 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)
00151 {
00152 typedef _mfi::BOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5> F;
00153 typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
00154 return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));
00155 }
00156
00157
00158
00159 template<class R, class T,
00160 class B1, class B2, class B3, class B4, class B5, class B6,
00161 class A1, class A2, class A3, class A4, class A5, class A6, class A7>
00162 _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>
00163 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)
00164 {
00165 typedef _mfi::BOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6> F;
00166 typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
00167 return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));
00168 }
00169
00170 template<class R, class T,
00171 class B1, class B2, class B3, class B4, class B5, class B6,
00172 class A1, class A2, class A3, class A4, class A5, class A6, class A7>
00173 _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>
00174 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)
00175 {
00176 typedef _mfi::BOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6> F;
00177 typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
00178 return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));
00179 }
00180
00181
00182
00183 template<class R, class T,
00184 class B1, class B2, class B3, class B4, class B5, class B6, class B7,
00185 class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
00186 _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>
00187 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)
00188 {
00189 typedef _mfi::BOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;
00190 typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
00191 return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));
00192 }
00193
00194 template<class R, class T,
00195 class B1, class B2, class B3, class B4, class B5, class B6, class B7,
00196 class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
00197 _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>
00198 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)
00199 {
00200 typedef _mfi::BOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;
00201 typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
00202 return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));
00203 }
00204
00205
00206
00207 template<class R, class T,
00208 class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,
00209 class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
00210 _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>
00211 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)
00212 {
00213 typedef _mfi::BOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;
00214 typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
00215 return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
00216 }
00217
00218 template<class R, class T,
00219 class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,
00220 class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
00221 _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>
00222 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)
00223 {
00224 typedef _mfi::BOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;
00225 typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
00226 return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
00227 }