annotate DEPENDENCIES/generic/include/boost/bind/bind_mf_cc.hpp @ 133:4acb5d8d80b6 tip

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