annotate DEPENDENCIES/generic/include/boost/lambda/detail/bind_functions.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 2665513ce2d3
children
rev   line source
Chris@16 1 // -- bind_functions.hpp -- Boost Lambda Library
Chris@16 2 //
Chris@16 3 // Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi)
Chris@16 4 //
Chris@16 5 // Distributed under the Boost Software License, Version 1.0. (See
Chris@16 6 // accompanying file LICENSE_1_0.txt or copy at
Chris@16 7 // http://www.boost.org/LICENSE_1_0.txt)
Chris@16 8 //
Chris@16 9 // For more information, see http://www.boost.org
Chris@16 10
Chris@16 11 // ----------------------------------------------------------------
Chris@16 12
Chris@16 13 #ifndef BOOST_LAMBDA_BIND_FUNCTIONS_HPP
Chris@16 14 #define BOOST_LAMBDA_BIND_FUNCTIONS_HPP
Chris@16 15
Chris@16 16
Chris@16 17 namespace boost {
Chris@16 18 namespace lambda {
Chris@16 19
Chris@16 20 #ifdef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
Chris@16 21
Chris@16 22 // gcc 2.96 instantiates bind functions it does not even call.
Chris@16 23 // These instantiations lead to incorrect types in the return type,
Chris@16 24 // and a compilation error results.
Chris@16 25 // This tweaking is to prevent the formation of the erroneous type.
Chris@16 26 namespace detail {
Chris@16 27
Chris@16 28 template<class T> struct constify_non_funcs {
Chris@16 29 typedef typename
Chris@16 30 detail::IF_type<boost::is_function<T>::value,
Chris@16 31 boost::add_reference<T>,
Chris@16 32 boost::add_const<T>
Chris@16 33 >::type type;
Chris@16 34 };
Chris@16 35
Chris@16 36 }
Chris@16 37 #endif
Chris@16 38 // 1-argument bind functions --------------------------
Chris@16 39 #ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
Chris@16 40 template <class Result>
Chris@16 41 inline const
Chris@16 42 lambda_functor<
Chris@16 43 lambda_functor_base<
Chris@16 44 action<1, function_action<1, Result> >,
Chris@16 45 typename detail::bind_tuple_mapper<Result(&)()>::type
Chris@16 46 >
Chris@16 47 >
Chris@16 48
Chris@16 49 bind(Result(& a1)()) {
Chris@16 50 return
Chris@16 51 lambda_functor_base<
Chris@16 52 action<1, function_action<1, Result> >,
Chris@16 53 typename detail::bind_tuple_mapper<Result(&)()>::type
Chris@16 54 >
Chris@16 55 ( typename detail::bind_tuple_mapper<Result(&)()>::type
Chris@16 56 (a1)
Chris@16 57 );
Chris@16 58 }
Chris@16 59 #endif
Chris@16 60
Chris@16 61 #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
Chris@16 62 template <class Arg1>
Chris@16 63 inline const
Chris@16 64 lambda_functor<
Chris@16 65 lambda_functor_base<
Chris@16 66 action<1, function_action<1> >,
Chris@16 67 typename detail::bind_tuple_mapper<const Arg1>::type
Chris@16 68 >
Chris@16 69 >
Chris@16 70
Chris@16 71 bind(const Arg1& a1) {
Chris@16 72 return
Chris@16 73 lambda_functor_base<
Chris@16 74 action<1, function_action<1> >,
Chris@16 75 typename detail::bind_tuple_mapper<const Arg1>::type
Chris@16 76 >
Chris@16 77 ( typename detail::bind_tuple_mapper<const Arg1>::type
Chris@16 78 (a1)
Chris@16 79 );
Chris@16 80 }
Chris@16 81
Chris@16 82 template <class Result, class Arg1>
Chris@16 83 inline const
Chris@16 84 lambda_functor<
Chris@16 85 lambda_functor_base<
Chris@16 86 action<1, function_action<1, Result> >,
Chris@16 87 typename detail::bind_tuple_mapper<const Arg1>::type
Chris@16 88 >
Chris@16 89 >
Chris@16 90
Chris@16 91 bind(const Arg1& a1) {
Chris@16 92 return
Chris@16 93 lambda_functor_base<
Chris@16 94 action<1, function_action<1, Result> >,
Chris@16 95 typename detail::bind_tuple_mapper<const Arg1>::type
Chris@16 96 >
Chris@16 97 ( typename detail::bind_tuple_mapper<const Arg1>::type
Chris@16 98 (a1)
Chris@16 99 );
Chris@16 100 }
Chris@16 101
Chris@16 102
Chris@16 103 #else
Chris@16 104 template <class Arg1>
Chris@16 105 inline const
Chris@16 106 lambda_functor<
Chris@16 107 lambda_functor_base<
Chris@16 108 action<1, function_action<1> >,
Chris@16 109 typename detail::bind_tuple_mapper<
Chris@16 110 typename detail::constify_non_funcs<Arg1>::type
Chris@16 111 >::type
Chris@16 112 >
Chris@16 113 >
Chris@16 114
Chris@16 115 bind(const Arg1& a1) {
Chris@16 116 return
Chris@16 117 lambda_functor_base<
Chris@16 118 action<1, function_action<1> >,
Chris@16 119 typename detail::bind_tuple_mapper<
Chris@16 120 typename detail::constify_non_funcs<Arg1>::type
Chris@16 121 >::type
Chris@16 122 >
Chris@16 123 ( typename detail::bind_tuple_mapper<
Chris@16 124 typename detail::constify_non_funcs<Arg1>::type
Chris@16 125 >::type
Chris@16 126 (a1)
Chris@16 127 );
Chris@16 128 }
Chris@16 129
Chris@16 130 template <class Result, class Arg1>
Chris@16 131 inline const
Chris@16 132 lambda_functor<
Chris@16 133 lambda_functor_base<
Chris@16 134 action<1, function_action<1, Result> >,
Chris@16 135 typename detail::bind_tuple_mapper<
Chris@16 136 typename detail::constify_non_funcs<Arg1>::type
Chris@16 137 >::type
Chris@16 138 >
Chris@16 139 >
Chris@16 140
Chris@16 141 bind(const Arg1& a1) {
Chris@16 142 return
Chris@16 143 lambda_functor_base<
Chris@16 144 action<1, function_action<1, Result> >,
Chris@16 145 typename detail::bind_tuple_mapper<
Chris@16 146 typename detail::constify_non_funcs<Arg1>::type
Chris@16 147 >::type
Chris@16 148 >
Chris@16 149 ( typename detail::bind_tuple_mapper<
Chris@16 150 typename detail::constify_non_funcs<Arg1>::type
Chris@16 151 >::type
Chris@16 152 (a1)
Chris@16 153 );
Chris@16 154 }
Chris@16 155
Chris@16 156 template <class Result>
Chris@16 157 inline const
Chris@16 158 lambda_functor<
Chris@16 159 lambda_functor_base<
Chris@16 160 action<1, function_action<1, Result> >,
Chris@16 161 typename detail::bind_tuple_mapper<Result(*)()>::type
Chris@16 162 >
Chris@16 163 >
Chris@16 164
Chris@16 165 bind(Result(* const & a1)()) {
Chris@16 166 return
Chris@16 167 lambda_functor_base<
Chris@16 168 action<1, function_action<1, Result> >,
Chris@16 169 typename detail::bind_tuple_mapper<Result(*)()>::type
Chris@16 170 >
Chris@16 171 ( typename detail::bind_tuple_mapper<Result(*)()>::type
Chris@16 172 (a1)
Chris@16 173 );
Chris@16 174 }
Chris@16 175
Chris@16 176
Chris@16 177 #endif
Chris@16 178
Chris@16 179 // 2-argument bind functions --------------------------
Chris@16 180 #ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
Chris@16 181 template <class Result, class Par1, class Arg2>
Chris@16 182 inline const
Chris@16 183 lambda_functor<
Chris@16 184 lambda_functor_base<
Chris@16 185 action<2, function_action<2, Result> >,
Chris@16 186 typename detail::bind_tuple_mapper<Result(&)(Par1), const Arg2>::type
Chris@16 187 >
Chris@16 188 >
Chris@16 189
Chris@16 190 bind(Result(&a1)(Par1), const Arg2& a2) {
Chris@16 191 return
Chris@16 192 lambda_functor_base<
Chris@16 193 action<2, function_action<2, Result> >,
Chris@16 194 typename detail::bind_tuple_mapper<Result(&)(Par1), const Arg2>::type
Chris@16 195 >
Chris@16 196 ( typename detail::bind_tuple_mapper<Result(&)(Par1), const Arg2>::type
Chris@16 197 (a1, a2)
Chris@16 198 );
Chris@16 199 }
Chris@16 200 #endif
Chris@16 201
Chris@16 202 #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
Chris@16 203 template <class Arg1, class Arg2>
Chris@16 204 inline const
Chris@16 205 lambda_functor<
Chris@16 206 lambda_functor_base<
Chris@16 207 action<2, function_action<2> >,
Chris@16 208 typename detail::bind_tuple_mapper<const Arg1, const Arg2>::type
Chris@16 209 >
Chris@16 210 >
Chris@16 211
Chris@16 212 bind(const Arg1& a1, const Arg2& a2) {
Chris@16 213 return
Chris@16 214 lambda_functor_base<
Chris@16 215 action<2, function_action<2> >,
Chris@16 216 typename detail::bind_tuple_mapper<const Arg1, const Arg2>::type
Chris@16 217 >
Chris@16 218 ( typename detail::bind_tuple_mapper<const Arg1, const Arg2>::type
Chris@16 219 (a1, a2)
Chris@16 220 );
Chris@16 221 }
Chris@16 222
Chris@16 223 template <class Result, class Arg1, class Arg2>
Chris@16 224 inline const
Chris@16 225 lambda_functor<
Chris@16 226 lambda_functor_base<
Chris@16 227 action<2, function_action<2, Result> >,
Chris@16 228 typename detail::bind_tuple_mapper<const Arg1, const Arg2>::type
Chris@16 229 >
Chris@16 230 >
Chris@16 231
Chris@16 232 bind(const Arg1& a1, const Arg2& a2) {
Chris@16 233 return
Chris@16 234 lambda_functor_base<
Chris@16 235 action<2, function_action<2, Result> >,
Chris@16 236 typename detail::bind_tuple_mapper<const Arg1, const Arg2>::type
Chris@16 237 >
Chris@16 238 ( typename detail::bind_tuple_mapper<const Arg1, const Arg2>::type
Chris@16 239 (a1, a2)
Chris@16 240 );
Chris@16 241 }
Chris@16 242
Chris@16 243
Chris@16 244 #else
Chris@16 245 template <class Arg1, class Arg2>
Chris@16 246 inline const
Chris@16 247 lambda_functor<
Chris@16 248 lambda_functor_base<
Chris@16 249 action<2, function_action<2> >,
Chris@16 250 typename detail::bind_tuple_mapper<
Chris@16 251 typename detail::constify_non_funcs<Arg1>::type, const Arg2
Chris@16 252 >::type
Chris@16 253 >
Chris@16 254 >
Chris@16 255
Chris@16 256 bind(const Arg1& a1, const Arg2& a2) {
Chris@16 257 return
Chris@16 258 lambda_functor_base<
Chris@16 259 action<2, function_action<2> >,
Chris@16 260 typename detail::bind_tuple_mapper<
Chris@16 261 typename detail::constify_non_funcs<Arg1>::type, const Arg2
Chris@16 262 >::type
Chris@16 263 >
Chris@16 264 ( typename detail::bind_tuple_mapper<
Chris@16 265 typename detail::constify_non_funcs<Arg1>::type, const Arg2
Chris@16 266 >::type
Chris@16 267 (a1, a2)
Chris@16 268 );
Chris@16 269 }
Chris@16 270
Chris@16 271 template <class Result, class Arg1, class Arg2>
Chris@16 272 inline const
Chris@16 273 lambda_functor<
Chris@16 274 lambda_functor_base<
Chris@16 275 action<2, function_action<2, Result> >,
Chris@16 276 typename detail::bind_tuple_mapper<
Chris@16 277 typename detail::constify_non_funcs<Arg1>::type, const Arg2
Chris@16 278 >::type
Chris@16 279 >
Chris@16 280 >
Chris@16 281
Chris@16 282 bind(const Arg1& a1, const Arg2& a2) {
Chris@16 283 return
Chris@16 284 lambda_functor_base<
Chris@16 285 action<2, function_action<2, Result> >,
Chris@16 286 typename detail::bind_tuple_mapper<
Chris@16 287 typename detail::constify_non_funcs<Arg1>::type, const Arg2
Chris@16 288 >::type
Chris@16 289 >
Chris@16 290 ( typename detail::bind_tuple_mapper<
Chris@16 291 typename detail::constify_non_funcs<Arg1>::type, const Arg2
Chris@16 292 >::type
Chris@16 293 (a1, a2)
Chris@16 294 );
Chris@16 295 }
Chris@16 296
Chris@16 297 template <class Result, class Par1, class Arg2>
Chris@16 298 inline const
Chris@16 299 lambda_functor<
Chris@16 300 lambda_functor_base<
Chris@16 301 action<2, function_action<2, Result> >,
Chris@16 302 typename detail::bind_tuple_mapper<Result(*)(Par1), const Arg2>::type
Chris@16 303 >
Chris@16 304 >
Chris@16 305
Chris@16 306 bind(Result(* const & a1)(Par1), const Arg2& a2) {
Chris@16 307 return
Chris@16 308 lambda_functor_base<
Chris@16 309 action<2, function_action<2, Result> >,
Chris@16 310 typename detail::bind_tuple_mapper<Result(*)(Par1), const Arg2>::type
Chris@16 311 >
Chris@16 312 ( typename detail::bind_tuple_mapper<Result(*)(Par1), const Arg2>::type
Chris@16 313 (a1, a2)
Chris@16 314 );
Chris@16 315 }
Chris@16 316
Chris@16 317
Chris@16 318 #endif
Chris@16 319
Chris@16 320 // 3-argument bind functions --------------------------
Chris@16 321 #ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
Chris@16 322 template <class Result, class Par1, class Par2, class Arg2, class Arg3>
Chris@16 323 inline const
Chris@16 324 lambda_functor<
Chris@16 325 lambda_functor_base<
Chris@16 326 action<3, function_action<3, Result> >,
Chris@16 327 typename detail::bind_tuple_mapper<
Chris@16 328 Result(&)(Par1, Par2), const Arg2, const Arg3
Chris@16 329 >::type
Chris@16 330 >
Chris@16 331 >
Chris@16 332
Chris@16 333 bind(Result(&a1)(Par1, Par2), const Arg2& a2, const Arg3& a3) {
Chris@16 334 return
Chris@16 335 lambda_functor_base<
Chris@16 336 action<3, function_action<3, Result> >,
Chris@16 337 typename detail::bind_tuple_mapper<
Chris@16 338 Result(&)(Par1, Par2), const Arg2, const Arg3
Chris@16 339 >::type
Chris@16 340 >
Chris@16 341 ( typename detail::bind_tuple_mapper<
Chris@16 342 Result(&)(Par1, Par2), const Arg2, const Arg3
Chris@16 343 >::type
Chris@16 344 (a1, a2, a3)
Chris@16 345 );
Chris@16 346 }
Chris@16 347 #endif
Chris@16 348
Chris@16 349 #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
Chris@16 350 template <class Arg1, class Arg2, class Arg3>
Chris@16 351 inline const
Chris@16 352 lambda_functor<
Chris@16 353 lambda_functor_base<
Chris@16 354 action<3, function_action<3> >,
Chris@16 355 typename detail::bind_tuple_mapper<
Chris@16 356 const Arg1, const Arg2, const Arg3
Chris@16 357 >::type
Chris@16 358 >
Chris@16 359 >
Chris@16 360
Chris@16 361 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3) {
Chris@16 362 return
Chris@16 363 lambda_functor_base<
Chris@16 364 action<3, function_action<3> >,
Chris@16 365 typename detail::bind_tuple_mapper<
Chris@16 366 const Arg1, const Arg2, const Arg3
Chris@16 367 >::type
Chris@16 368 >
Chris@16 369 ( typename detail::bind_tuple_mapper<
Chris@16 370 const Arg1, const Arg2, const Arg3
Chris@16 371 >::type
Chris@16 372 (a1, a2, a3)
Chris@16 373 );
Chris@16 374 }
Chris@16 375
Chris@16 376 template <class Result, class Arg1, class Arg2, class Arg3>
Chris@16 377 inline const
Chris@16 378 lambda_functor<
Chris@16 379 lambda_functor_base<
Chris@16 380 action<3, function_action<3, Result> >,
Chris@16 381 typename detail::bind_tuple_mapper<
Chris@16 382 const Arg1, const Arg2, const Arg3
Chris@16 383 >::type
Chris@16 384 >
Chris@16 385 >
Chris@16 386
Chris@16 387 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3) {
Chris@16 388 return
Chris@16 389 lambda_functor_base<
Chris@16 390 action<3, function_action<3, Result> >,
Chris@16 391 typename detail::bind_tuple_mapper<
Chris@16 392 const Arg1, const Arg2, const Arg3
Chris@16 393 >::type
Chris@16 394 >
Chris@16 395 ( typename detail::bind_tuple_mapper<
Chris@16 396 const Arg1, const Arg2, const Arg3
Chris@16 397 >::type
Chris@16 398 (a1, a2, a3)
Chris@16 399 );
Chris@16 400 }
Chris@16 401
Chris@16 402
Chris@16 403 #else
Chris@16 404 template <class Arg1, class Arg2, class Arg3>
Chris@16 405 inline const
Chris@16 406 lambda_functor<
Chris@16 407 lambda_functor_base<
Chris@16 408 action<3, function_action<3> >,
Chris@16 409 typename detail::bind_tuple_mapper<
Chris@16 410 typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3
Chris@16 411 >::type
Chris@16 412 >
Chris@16 413 >
Chris@16 414
Chris@16 415 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3) {
Chris@16 416 return
Chris@16 417 lambda_functor_base<
Chris@16 418 action<3, function_action<3> >,
Chris@16 419 typename detail::bind_tuple_mapper<
Chris@16 420 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 421 const Arg3
Chris@16 422 >::type
Chris@16 423 >
Chris@16 424 ( typename detail::bind_tuple_mapper<
Chris@16 425 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 426 const Arg3
Chris@16 427 >::type
Chris@16 428 (a1, a2, a3)
Chris@16 429 );
Chris@16 430 }
Chris@16 431
Chris@16 432 template <class Result, class Arg1, class Arg2, class Arg3>
Chris@16 433 inline const
Chris@16 434 lambda_functor<
Chris@16 435 lambda_functor_base<
Chris@16 436 action<3, function_action<3, Result> >,
Chris@16 437 typename detail::bind_tuple_mapper<
Chris@16 438 typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3
Chris@16 439 >::type
Chris@16 440 >
Chris@16 441 >
Chris@16 442
Chris@16 443 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3) {
Chris@16 444 return
Chris@16 445 lambda_functor_base<
Chris@16 446 action<3, function_action<3, Result> >,
Chris@16 447 typename detail::bind_tuple_mapper<
Chris@16 448 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 449 const Arg3
Chris@16 450 >::type
Chris@16 451 >
Chris@16 452 ( typename detail::bind_tuple_mapper<
Chris@16 453 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 454 const Arg3
Chris@16 455 >::type
Chris@16 456 (a1, a2, a3)
Chris@16 457 );
Chris@16 458 }
Chris@16 459
Chris@16 460 template <class Result, class Par1, class Par2, class Arg2, class Arg3>
Chris@16 461 inline const
Chris@16 462 lambda_functor<
Chris@16 463 lambda_functor_base<
Chris@16 464 action<3, function_action<3, Result> >,
Chris@16 465 typename detail::bind_tuple_mapper<
Chris@16 466 Result(*)(Par1, Par2), const Arg2, const Arg3
Chris@16 467 >::type
Chris@16 468 >
Chris@16 469 >
Chris@16 470
Chris@16 471 bind(Result(* const & a1)(Par1, Par2), const Arg2& a2, const Arg3& a3) {
Chris@16 472 return
Chris@16 473 lambda_functor_base<
Chris@16 474 action<3, function_action<3, Result> >,
Chris@16 475 typename detail::bind_tuple_mapper<
Chris@16 476 Result(*)(Par1, Par2), const Arg2, const Arg3
Chris@16 477 >::type
Chris@16 478 >
Chris@16 479 ( typename detail::bind_tuple_mapper<
Chris@16 480 Result(*)(Par1, Par2), const Arg2, const Arg3
Chris@16 481 >::type
Chris@16 482 (a1, a2, a3)
Chris@16 483 );
Chris@16 484 }
Chris@16 485
Chris@16 486
Chris@16 487 #endif
Chris@16 488
Chris@16 489 // 4-argument bind functions --------------------------
Chris@16 490 #ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
Chris@16 491 template <class Result, class Par1, class Par2, class Par3, class Arg2,
Chris@16 492 class Arg3, class Arg4>
Chris@16 493 inline const
Chris@16 494 lambda_functor<
Chris@16 495 lambda_functor_base<
Chris@16 496 action<4, function_action<4, Result> >,
Chris@16 497 typename detail::bind_tuple_mapper<
Chris@16 498 Result(&)(Par1, Par2, Par3), const Arg2, const Arg3, const Arg4
Chris@16 499 >::type
Chris@16 500 >
Chris@16 501 >
Chris@16 502
Chris@16 503 bind(Result(&a1)(Par1, Par2, Par3), const Arg2& a2, const Arg3& a3,
Chris@16 504 const Arg4& a4) {
Chris@16 505 return
Chris@16 506 lambda_functor_base<
Chris@16 507 action<4, function_action<4, Result> >,
Chris@16 508 typename detail::bind_tuple_mapper<
Chris@16 509 Result(&)(Par1, Par2, Par3), const Arg2, const Arg3, const Arg4
Chris@16 510 >::type
Chris@16 511 >
Chris@16 512 ( typename detail::bind_tuple_mapper<
Chris@16 513 Result(&)(Par1, Par2, Par3), const Arg2, const Arg3, const Arg4
Chris@16 514 >::type
Chris@16 515 (a1, a2, a3, a4)
Chris@16 516 );
Chris@16 517 }
Chris@16 518 #endif
Chris@16 519
Chris@16 520 #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
Chris@16 521 template <class Arg1, class Arg2, class Arg3, class Arg4>
Chris@16 522 inline const
Chris@16 523 lambda_functor<
Chris@16 524 lambda_functor_base<
Chris@16 525 action<4, function_action<4> >,
Chris@16 526 typename detail::bind_tuple_mapper<
Chris@16 527 const Arg1, const Arg2, const Arg3, const Arg4
Chris@16 528 >::type
Chris@16 529 >
Chris@16 530 >
Chris@16 531
Chris@16 532 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4) {
Chris@16 533 return
Chris@16 534 lambda_functor_base<
Chris@16 535 action<4, function_action<4> >,
Chris@16 536 typename detail::bind_tuple_mapper<
Chris@16 537 const Arg1, const Arg2, const Arg3, const Arg4
Chris@16 538 >::type
Chris@16 539 >
Chris@16 540 ( typename detail::bind_tuple_mapper<
Chris@16 541 const Arg1, const Arg2, const Arg3, const Arg4
Chris@16 542 >::type
Chris@16 543 (a1, a2, a3, a4)
Chris@16 544 );
Chris@16 545 }
Chris@16 546
Chris@16 547 template <class Result, class Arg1, class Arg2, class Arg3, class Arg4>
Chris@16 548 inline const
Chris@16 549 lambda_functor<
Chris@16 550 lambda_functor_base<
Chris@16 551 action<4, function_action<4, Result> >,
Chris@16 552 typename detail::bind_tuple_mapper<
Chris@16 553 const Arg1, const Arg2, const Arg3, const Arg4
Chris@16 554 >::type
Chris@16 555 >
Chris@16 556 >
Chris@16 557
Chris@16 558 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4) {
Chris@16 559 return
Chris@16 560 lambda_functor_base<
Chris@16 561 action<4, function_action<4, Result> >,
Chris@16 562 typename detail::bind_tuple_mapper<
Chris@16 563 const Arg1, const Arg2, const Arg3, const Arg4
Chris@16 564 >::type
Chris@16 565 >
Chris@16 566 ( typename detail::bind_tuple_mapper<
Chris@16 567 const Arg1, const Arg2, const Arg3, const Arg4
Chris@16 568 >::type
Chris@16 569 (a1, a2, a3, a4)
Chris@16 570 );
Chris@16 571 }
Chris@16 572
Chris@16 573
Chris@16 574 #else
Chris@16 575 template <class Arg1, class Arg2, class Arg3, class Arg4>
Chris@16 576 inline const
Chris@16 577 lambda_functor<
Chris@16 578 lambda_functor_base<
Chris@16 579 action<4, function_action<4> >,
Chris@16 580 typename detail::bind_tuple_mapper<
Chris@16 581 typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
Chris@16 582 const Arg4
Chris@16 583 >::type
Chris@16 584 >
Chris@16 585 >
Chris@16 586
Chris@16 587 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4) {
Chris@16 588 return
Chris@16 589 lambda_functor_base<
Chris@16 590 action<4, function_action<4> >,
Chris@16 591 typename detail::bind_tuple_mapper<
Chris@16 592 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 593 const Arg3, const Arg4
Chris@16 594 >::type
Chris@16 595 >
Chris@16 596 ( typename detail::bind_tuple_mapper<
Chris@16 597 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 598 const Arg3, const Arg4
Chris@16 599 >::type
Chris@16 600 (a1, a2, a3, a4)
Chris@16 601 );
Chris@16 602 }
Chris@16 603
Chris@16 604 template <class Result, class Arg1, class Arg2, class Arg3, class Arg4>
Chris@16 605 inline const
Chris@16 606 lambda_functor<
Chris@16 607 lambda_functor_base<
Chris@16 608 action<4, function_action<4, Result> >,
Chris@16 609 typename detail::bind_tuple_mapper<
Chris@16 610 typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
Chris@16 611 const Arg4
Chris@16 612 >::type
Chris@16 613 >
Chris@16 614 >
Chris@16 615
Chris@16 616 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4) {
Chris@16 617 return
Chris@16 618 lambda_functor_base<
Chris@16 619 action<4, function_action<4, Result> >,
Chris@16 620 typename detail::bind_tuple_mapper<
Chris@16 621 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 622 const Arg3, const Arg4
Chris@16 623 >::type
Chris@16 624 >
Chris@16 625 ( typename detail::bind_tuple_mapper<
Chris@16 626 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 627 const Arg3, const Arg4
Chris@16 628 >::type
Chris@16 629 (a1, a2, a3, a4)
Chris@16 630 );
Chris@16 631 }
Chris@16 632
Chris@16 633 template <class Result, class Par1, class Par2, class Par3, class Arg2,
Chris@16 634 class Arg3, class Arg4>
Chris@16 635 inline const
Chris@16 636 lambda_functor<
Chris@16 637 lambda_functor_base<
Chris@16 638 action<4, function_action<4, Result> >,
Chris@16 639 typename detail::bind_tuple_mapper<
Chris@16 640 Result(*)(Par1, Par2, Par3), const Arg2, const Arg3, const Arg4
Chris@16 641 >::type
Chris@16 642 >
Chris@16 643 >
Chris@16 644
Chris@16 645 bind(Result(* const & a1)(Par1, Par2, Par3), const Arg2& a2,
Chris@16 646 const Arg3& a3, const Arg4& a4) {
Chris@16 647 return
Chris@16 648 lambda_functor_base<
Chris@16 649 action<4, function_action<4, Result> >,
Chris@16 650 typename detail::bind_tuple_mapper<
Chris@16 651 Result(*)(Par1, Par2, Par3), const Arg2, const Arg3, const Arg4
Chris@16 652 >::type
Chris@16 653 >
Chris@16 654 ( typename detail::bind_tuple_mapper<
Chris@16 655 Result(*)(Par1, Par2, Par3), const Arg2, const Arg3, const Arg4
Chris@16 656 >::type
Chris@16 657 (a1, a2, a3, a4)
Chris@16 658 );
Chris@16 659 }
Chris@16 660
Chris@16 661
Chris@16 662 #endif
Chris@16 663
Chris@16 664 // 5-argument bind functions --------------------------
Chris@16 665 #ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
Chris@16 666 template <class Result, class Par1, class Par2, class Par3, class Par4,
Chris@16 667 class Arg2, class Arg3, class Arg4, class Arg5>
Chris@16 668 inline const
Chris@16 669 lambda_functor<
Chris@16 670 lambda_functor_base<
Chris@16 671 action<5, function_action<5, Result> >,
Chris@16 672 typename detail::bind_tuple_mapper<
Chris@16 673 Result(&)(Par1, Par2, Par3, Par4), const Arg2, const Arg3, const Arg4,
Chris@16 674 const Arg5
Chris@16 675 >::type
Chris@16 676 >
Chris@16 677 >
Chris@16 678
Chris@16 679 bind(Result(&a1)(Par1, Par2, Par3, Par4), const Arg2& a2, const Arg3& a3,
Chris@16 680 const Arg4& a4, const Arg5& a5) {
Chris@16 681 return
Chris@16 682 lambda_functor_base<
Chris@16 683 action<5, function_action<5, Result> >,
Chris@16 684 typename detail::bind_tuple_mapper<
Chris@16 685 Result(&)(Par1, Par2, Par3, Par4), const Arg2, const Arg3, const Arg4,
Chris@16 686 const Arg5
Chris@16 687 >::type
Chris@16 688 >
Chris@16 689 ( typename detail::bind_tuple_mapper<
Chris@16 690 Result(&)(Par1, Par2, Par3, Par4), const Arg2, const Arg3, const Arg4,
Chris@16 691 const Arg5
Chris@16 692 >::type
Chris@16 693 (a1, a2, a3, a4, a5)
Chris@16 694 );
Chris@16 695 }
Chris@16 696 #endif
Chris@16 697
Chris@16 698 #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
Chris@16 699 template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5>
Chris@16 700 inline const
Chris@16 701 lambda_functor<
Chris@16 702 lambda_functor_base<
Chris@16 703 action<5, function_action<5> >,
Chris@16 704 typename detail::bind_tuple_mapper<
Chris@16 705 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5
Chris@16 706 >::type
Chris@16 707 >
Chris@16 708 >
Chris@16 709
Chris@16 710 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
Chris@16 711 const Arg5& a5) {
Chris@16 712 return
Chris@16 713 lambda_functor_base<
Chris@16 714 action<5, function_action<5> >,
Chris@16 715 typename detail::bind_tuple_mapper<
Chris@16 716 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5
Chris@16 717 >::type
Chris@16 718 >
Chris@16 719 ( typename detail::bind_tuple_mapper<
Chris@16 720 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5
Chris@16 721 >::type
Chris@16 722 (a1, a2, a3, a4, a5)
Chris@16 723 );
Chris@16 724 }
Chris@16 725
Chris@16 726 template <class Result, class Arg1, class Arg2, class Arg3, class Arg4,
Chris@16 727 class Arg5>
Chris@16 728 inline const
Chris@16 729 lambda_functor<
Chris@16 730 lambda_functor_base<
Chris@16 731 action<5, function_action<5, Result> >,
Chris@16 732 typename detail::bind_tuple_mapper<
Chris@16 733 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5
Chris@16 734 >::type
Chris@16 735 >
Chris@16 736 >
Chris@16 737
Chris@16 738 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
Chris@16 739 const Arg5& a5) {
Chris@16 740 return
Chris@16 741 lambda_functor_base<
Chris@16 742 action<5, function_action<5, Result> >,
Chris@16 743 typename detail::bind_tuple_mapper<
Chris@16 744 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5
Chris@16 745 >::type
Chris@16 746 >
Chris@16 747 ( typename detail::bind_tuple_mapper<
Chris@16 748 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5
Chris@16 749 >::type
Chris@16 750 (a1, a2, a3, a4, a5)
Chris@16 751 );
Chris@16 752 }
Chris@16 753
Chris@16 754
Chris@16 755 #else
Chris@16 756 template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5>
Chris@16 757 inline const
Chris@16 758 lambda_functor<
Chris@16 759 lambda_functor_base<
Chris@16 760 action<5, function_action<5> >,
Chris@16 761 typename detail::bind_tuple_mapper<
Chris@16 762 typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
Chris@16 763 const Arg4, const Arg5
Chris@16 764 >::type
Chris@16 765 >
Chris@16 766 >
Chris@16 767
Chris@16 768 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
Chris@16 769 const Arg5& a5) {
Chris@16 770 return
Chris@16 771 lambda_functor_base<
Chris@16 772 action<5, function_action<5> >,
Chris@16 773 typename detail::bind_tuple_mapper<
Chris@16 774 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 775 const Arg3, const Arg4, const Arg5
Chris@16 776 >::type
Chris@16 777 >
Chris@16 778 ( typename detail::bind_tuple_mapper<
Chris@16 779 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 780 const Arg3, const Arg4, const Arg5
Chris@16 781 >::type
Chris@16 782 (a1, a2, a3, a4, a5)
Chris@16 783 );
Chris@16 784 }
Chris@16 785
Chris@16 786 template <class Result, class Arg1, class Arg2, class Arg3, class Arg4,
Chris@16 787 class Arg5>
Chris@16 788 inline const
Chris@16 789 lambda_functor<
Chris@16 790 lambda_functor_base<
Chris@16 791 action<5, function_action<5, Result> >,
Chris@16 792 typename detail::bind_tuple_mapper<
Chris@16 793 typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
Chris@16 794 const Arg4, const Arg5
Chris@16 795 >::type
Chris@16 796 >
Chris@16 797 >
Chris@16 798
Chris@16 799 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
Chris@16 800 const Arg5& a5) {
Chris@16 801 return
Chris@16 802 lambda_functor_base<
Chris@16 803 action<5, function_action<5, Result> >,
Chris@16 804 typename detail::bind_tuple_mapper<
Chris@16 805 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 806 const Arg3, const Arg4, const Arg5
Chris@16 807 >::type
Chris@16 808 >
Chris@16 809 ( typename detail::bind_tuple_mapper<
Chris@16 810 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 811 const Arg3, const Arg4, const Arg5
Chris@16 812 >::type
Chris@16 813 (a1, a2, a3, a4, a5)
Chris@16 814 );
Chris@16 815 }
Chris@16 816
Chris@16 817 template <class Result, class Par1, class Par2, class Par3, class Par4,
Chris@16 818 class Arg2, class Arg3, class Arg4, class Arg5>
Chris@16 819 inline const
Chris@16 820 lambda_functor<
Chris@16 821 lambda_functor_base<
Chris@16 822 action<5, function_action<5, Result> >,
Chris@16 823 typename detail::bind_tuple_mapper<
Chris@16 824 Result(*)(Par1, Par2, Par3, Par4), const Arg2, const Arg3, const Arg4,
Chris@16 825 const Arg5
Chris@16 826 >::type
Chris@16 827 >
Chris@16 828 >
Chris@16 829
Chris@16 830 bind(Result(* const & a1)(Par1, Par2, Par3, Par4), const Arg2& a2,
Chris@16 831 const Arg3& a3, const Arg4& a4, const Arg5& a5) {
Chris@16 832 return
Chris@16 833 lambda_functor_base<
Chris@16 834 action<5, function_action<5, Result> >,
Chris@16 835 typename detail::bind_tuple_mapper<
Chris@16 836 Result(*)(Par1, Par2, Par3, Par4), const Arg2, const Arg3, const Arg4,
Chris@16 837 const Arg5
Chris@16 838 >::type
Chris@16 839 >
Chris@16 840 ( typename detail::bind_tuple_mapper<
Chris@16 841 Result(*)(Par1, Par2, Par3, Par4), const Arg2, const Arg3, const Arg4,
Chris@16 842 const Arg5
Chris@16 843 >::type
Chris@16 844 (a1, a2, a3, a4, a5)
Chris@16 845 );
Chris@16 846 }
Chris@16 847
Chris@16 848
Chris@16 849 #endif
Chris@16 850
Chris@16 851 // 6-argument bind functions --------------------------
Chris@16 852 #ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
Chris@16 853 template <class Result, class Par1, class Par2, class Par3, class Par4,
Chris@16 854 class Par5, class Arg2, class Arg3, class Arg4, class Arg5,
Chris@16 855 class Arg6>
Chris@16 856 inline const
Chris@16 857 lambda_functor<
Chris@16 858 lambda_functor_base<
Chris@16 859 action<6, function_action<6, Result> >,
Chris@16 860 typename detail::bind_tuple_mapper<
Chris@16 861 Result(&)(Par1, Par2, Par3, Par4, Par5), const Arg2, const Arg3,
Chris@16 862 const Arg4, const Arg5, const Arg6
Chris@16 863 >::type
Chris@16 864 >
Chris@16 865 >
Chris@16 866
Chris@16 867 bind(Result(&a1)(Par1, Par2, Par3, Par4, Par5), const Arg2& a2,
Chris@16 868 const Arg3& a3, const Arg4& a4, const Arg5& a5, const Arg6& a6) {
Chris@16 869 return
Chris@16 870 lambda_functor_base<
Chris@16 871 action<6, function_action<6, Result> >,
Chris@16 872 typename detail::bind_tuple_mapper<
Chris@16 873 Result(&)(Par1, Par2, Par3, Par4, Par5), const Arg2, const Arg3,
Chris@16 874 const Arg4, const Arg5, const Arg6
Chris@16 875 >::type
Chris@16 876 >
Chris@16 877 ( typename detail::bind_tuple_mapper<
Chris@16 878 Result(&)(Par1, Par2, Par3, Par4, Par5), const Arg2, const Arg3,
Chris@16 879 const Arg4, const Arg5, const Arg6
Chris@16 880 >::type
Chris@16 881 (a1, a2, a3, a4, a5, a6)
Chris@16 882 );
Chris@16 883 }
Chris@16 884 #endif
Chris@16 885
Chris@16 886 #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
Chris@16 887 template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5,
Chris@16 888 class Arg6>
Chris@16 889 inline const
Chris@16 890 lambda_functor<
Chris@16 891 lambda_functor_base<
Chris@16 892 action<6, function_action<6> >,
Chris@16 893 typename detail::bind_tuple_mapper<
Chris@16 894 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6
Chris@16 895 >::type
Chris@16 896 >
Chris@16 897 >
Chris@16 898
Chris@16 899 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
Chris@16 900 const Arg5& a5, const Arg6& a6) {
Chris@16 901 return
Chris@16 902 lambda_functor_base<
Chris@16 903 action<6, function_action<6> >,
Chris@16 904 typename detail::bind_tuple_mapper<
Chris@16 905 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6
Chris@16 906 >::type
Chris@16 907 >
Chris@16 908 ( typename detail::bind_tuple_mapper<
Chris@16 909 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6
Chris@16 910 >::type
Chris@16 911 (a1, a2, a3, a4, a5, a6)
Chris@16 912 );
Chris@16 913 }
Chris@16 914
Chris@16 915 template <class Result, class Arg1, class Arg2, class Arg3, class Arg4,
Chris@16 916 class Arg5, class Arg6>
Chris@16 917 inline const
Chris@16 918 lambda_functor<
Chris@16 919 lambda_functor_base<
Chris@16 920 action<6, function_action<6, Result> >,
Chris@16 921 typename detail::bind_tuple_mapper<
Chris@16 922 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6
Chris@16 923 >::type
Chris@16 924 >
Chris@16 925 >
Chris@16 926
Chris@16 927 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
Chris@16 928 const Arg5& a5, const Arg6& a6) {
Chris@16 929 return
Chris@16 930 lambda_functor_base<
Chris@16 931 action<6, function_action<6, Result> >,
Chris@16 932 typename detail::bind_tuple_mapper<
Chris@16 933 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6
Chris@16 934 >::type
Chris@16 935 >
Chris@16 936 ( typename detail::bind_tuple_mapper<
Chris@16 937 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6
Chris@16 938 >::type
Chris@16 939 (a1, a2, a3, a4, a5, a6)
Chris@16 940 );
Chris@16 941 }
Chris@16 942
Chris@16 943
Chris@16 944 #else
Chris@16 945 template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5,
Chris@16 946 class Arg6>
Chris@16 947 inline const
Chris@16 948 lambda_functor<
Chris@16 949 lambda_functor_base<
Chris@16 950 action<6, function_action<6> >,
Chris@16 951 typename detail::bind_tuple_mapper<
Chris@16 952 typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
Chris@16 953 const Arg4, const Arg5, const Arg6
Chris@16 954 >::type
Chris@16 955 >
Chris@16 956 >
Chris@16 957
Chris@16 958 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
Chris@16 959 const Arg5& a5, const Arg6& a6) {
Chris@16 960 return
Chris@16 961 lambda_functor_base<
Chris@16 962 action<6, function_action<6> >,
Chris@16 963 typename detail::bind_tuple_mapper<
Chris@16 964 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 965 const Arg3, const Arg4, const Arg5, const Arg6
Chris@16 966 >::type
Chris@16 967 >
Chris@16 968 ( typename detail::bind_tuple_mapper<
Chris@16 969 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 970 const Arg3, const Arg4, const Arg5, const Arg6
Chris@16 971 >::type
Chris@16 972 (a1, a2, a3, a4, a5, a6)
Chris@16 973 );
Chris@16 974 }
Chris@16 975
Chris@16 976 template <class Result, class Arg1, class Arg2, class Arg3, class Arg4,
Chris@16 977 class Arg5, class Arg6>
Chris@16 978 inline const
Chris@16 979 lambda_functor<
Chris@16 980 lambda_functor_base<
Chris@16 981 action<6, function_action<6, Result> >,
Chris@16 982 typename detail::bind_tuple_mapper<
Chris@16 983 typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
Chris@16 984 const Arg4, const Arg5, const Arg6
Chris@16 985 >::type
Chris@16 986 >
Chris@16 987 >
Chris@16 988
Chris@16 989 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
Chris@16 990 const Arg5& a5, const Arg6& a6) {
Chris@16 991 return
Chris@16 992 lambda_functor_base<
Chris@16 993 action<6, function_action<6, Result> >,
Chris@16 994 typename detail::bind_tuple_mapper<
Chris@16 995 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 996 const Arg3, const Arg4, const Arg5, const Arg6
Chris@16 997 >::type
Chris@16 998 >
Chris@16 999 ( typename detail::bind_tuple_mapper<
Chris@16 1000 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 1001 const Arg3, const Arg4, const Arg5, const Arg6
Chris@16 1002 >::type
Chris@16 1003 (a1, a2, a3, a4, a5, a6)
Chris@16 1004 );
Chris@16 1005 }
Chris@16 1006
Chris@16 1007 template <class Result, class Par1, class Par2, class Par3, class Par4,
Chris@16 1008 class Par5, class Arg2, class Arg3, class Arg4, class Arg5,
Chris@16 1009 class Arg6>
Chris@16 1010 inline const
Chris@16 1011 lambda_functor<
Chris@16 1012 lambda_functor_base<
Chris@16 1013 action<6, function_action<6, Result> >,
Chris@16 1014 typename detail::bind_tuple_mapper<
Chris@16 1015 Result(*)(Par1, Par2, Par3, Par4, Par5), const Arg2, const Arg3,
Chris@16 1016 const Arg4, const Arg5, const Arg6
Chris@16 1017 >::type
Chris@16 1018 >
Chris@16 1019 >
Chris@16 1020
Chris@16 1021 bind(Result(* const & a1)(Par1, Par2, Par3, Par4, Par5), const Arg2& a2,
Chris@16 1022 const Arg3& a3, const Arg4& a4, const Arg5& a5, const Arg6& a6) {
Chris@16 1023 return
Chris@16 1024 lambda_functor_base<
Chris@16 1025 action<6, function_action<6, Result> >,
Chris@16 1026 typename detail::bind_tuple_mapper<
Chris@16 1027 Result(*)(Par1, Par2, Par3, Par4, Par5), const Arg2, const Arg3,
Chris@16 1028 const Arg4, const Arg5, const Arg6
Chris@16 1029 >::type
Chris@16 1030 >
Chris@16 1031 ( typename detail::bind_tuple_mapper<
Chris@16 1032 Result(*)(Par1, Par2, Par3, Par4, Par5), const Arg2, const Arg3,
Chris@16 1033 const Arg4, const Arg5, const Arg6
Chris@16 1034 >::type
Chris@16 1035 (a1, a2, a3, a4, a5, a6)
Chris@16 1036 );
Chris@16 1037 }
Chris@16 1038
Chris@16 1039
Chris@16 1040 #endif
Chris@16 1041
Chris@16 1042 // 7-argument bind functions --------------------------
Chris@16 1043 #ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
Chris@16 1044 template <class Result, class Par1, class Par2, class Par3, class Par4,
Chris@16 1045 class Par5, class Par6, class Arg2, class Arg3, class Arg4,
Chris@16 1046 class Arg5, class Arg6, class Arg7>
Chris@16 1047 inline const
Chris@16 1048 lambda_functor<
Chris@16 1049 lambda_functor_base<
Chris@16 1050 action<7, function_action<7, Result> >,
Chris@16 1051 typename detail::bind_tuple_mapper<
Chris@16 1052 Result(&)(Par1, Par2, Par3, Par4, Par5, Par6), const Arg2, const Arg3,
Chris@16 1053 const Arg4, const Arg5, const Arg6, const Arg7
Chris@16 1054 >::type
Chris@16 1055 >
Chris@16 1056 >
Chris@16 1057
Chris@16 1058 bind(Result(&a1)(Par1, Par2, Par3, Par4, Par5, Par6), const Arg2& a2,
Chris@16 1059 const Arg3& a3, const Arg4& a4, const Arg5& a5, const Arg6& a6,
Chris@16 1060 const Arg7& a7) {
Chris@16 1061 return
Chris@16 1062 lambda_functor_base<
Chris@16 1063 action<7, function_action<7, Result> >,
Chris@16 1064 typename detail::bind_tuple_mapper<
Chris@16 1065 Result(&)(Par1, Par2, Par3, Par4, Par5, Par6), const Arg2, const Arg3,
Chris@16 1066 const Arg4, const Arg5, const Arg6, const Arg7
Chris@16 1067 >::type
Chris@16 1068 >
Chris@16 1069 ( typename detail::bind_tuple_mapper<
Chris@16 1070 Result(&)(Par1, Par2, Par3, Par4, Par5, Par6), const Arg2, const Arg3,
Chris@16 1071 const Arg4, const Arg5, const Arg6, const Arg7
Chris@16 1072 >::type
Chris@16 1073 (a1, a2, a3, a4, a5, a6, a7)
Chris@16 1074 );
Chris@16 1075 }
Chris@16 1076 #endif
Chris@16 1077
Chris@16 1078 #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
Chris@16 1079 template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5,
Chris@16 1080 class Arg6, class Arg7>
Chris@16 1081 inline const
Chris@16 1082 lambda_functor<
Chris@16 1083 lambda_functor_base<
Chris@16 1084 action<7, function_action<7> >,
Chris@16 1085 typename detail::bind_tuple_mapper<
Chris@16 1086 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
Chris@16 1087 const Arg7
Chris@16 1088 >::type
Chris@16 1089 >
Chris@16 1090 >
Chris@16 1091
Chris@16 1092 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
Chris@16 1093 const Arg5& a5, const Arg6& a6, const Arg7& a7) {
Chris@16 1094 return
Chris@16 1095 lambda_functor_base<
Chris@16 1096 action<7, function_action<7> >,
Chris@16 1097 typename detail::bind_tuple_mapper<
Chris@16 1098 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
Chris@16 1099 const Arg6, const Arg7
Chris@16 1100 >::type
Chris@16 1101 >
Chris@16 1102 ( typename detail::bind_tuple_mapper<
Chris@16 1103 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
Chris@16 1104 const Arg6, const Arg7
Chris@16 1105 >::type
Chris@16 1106 (a1, a2, a3, a4, a5, a6, a7)
Chris@16 1107 );
Chris@16 1108 }
Chris@16 1109
Chris@16 1110 template <class Result, class Arg1, class Arg2, class Arg3, class Arg4,
Chris@16 1111 class Arg5, class Arg6, class Arg7>
Chris@16 1112 inline const
Chris@16 1113 lambda_functor<
Chris@16 1114 lambda_functor_base<
Chris@16 1115 action<7, function_action<7, Result> >,
Chris@16 1116 typename detail::bind_tuple_mapper<
Chris@16 1117 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
Chris@16 1118 const Arg7
Chris@16 1119 >::type
Chris@16 1120 >
Chris@16 1121 >
Chris@16 1122
Chris@16 1123 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
Chris@16 1124 const Arg5& a5, const Arg6& a6, const Arg7& a7) {
Chris@16 1125 return
Chris@16 1126 lambda_functor_base<
Chris@16 1127 action<7, function_action<7, Result> >,
Chris@16 1128 typename detail::bind_tuple_mapper<
Chris@16 1129 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
Chris@16 1130 const Arg6, const Arg7
Chris@16 1131 >::type
Chris@16 1132 >
Chris@16 1133 ( typename detail::bind_tuple_mapper<
Chris@16 1134 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
Chris@16 1135 const Arg6, const Arg7
Chris@16 1136 >::type
Chris@16 1137 (a1, a2, a3, a4, a5, a6, a7)
Chris@16 1138 );
Chris@16 1139 }
Chris@16 1140
Chris@16 1141
Chris@16 1142 #else
Chris@16 1143 template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5,
Chris@16 1144 class Arg6, class Arg7>
Chris@16 1145 inline const
Chris@16 1146 lambda_functor<
Chris@16 1147 lambda_functor_base<
Chris@16 1148 action<7, function_action<7> >,
Chris@16 1149 typename detail::bind_tuple_mapper<
Chris@16 1150 typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
Chris@16 1151 const Arg4, const Arg5, const Arg6, const Arg7
Chris@16 1152 >::type
Chris@16 1153 >
Chris@16 1154 >
Chris@16 1155
Chris@16 1156 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
Chris@16 1157 const Arg5& a5, const Arg6& a6, const Arg7& a7) {
Chris@16 1158 return
Chris@16 1159 lambda_functor_base<
Chris@16 1160 action<7, function_action<7> >,
Chris@16 1161 typename detail::bind_tuple_mapper<
Chris@16 1162 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 1163 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7
Chris@16 1164 >::type
Chris@16 1165 >
Chris@16 1166 ( typename detail::bind_tuple_mapper<
Chris@16 1167 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 1168 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7
Chris@16 1169 >::type
Chris@16 1170 (a1, a2, a3, a4, a5, a6, a7)
Chris@16 1171 );
Chris@16 1172 }
Chris@16 1173
Chris@16 1174 template <class Result, class Arg1, class Arg2, class Arg3, class Arg4,
Chris@16 1175 class Arg5, class Arg6, class Arg7>
Chris@16 1176 inline const
Chris@16 1177 lambda_functor<
Chris@16 1178 lambda_functor_base<
Chris@16 1179 action<7, function_action<7, Result> >,
Chris@16 1180 typename detail::bind_tuple_mapper<
Chris@16 1181 typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
Chris@16 1182 const Arg4, const Arg5, const Arg6, const Arg7
Chris@16 1183 >::type
Chris@16 1184 >
Chris@16 1185 >
Chris@16 1186
Chris@16 1187 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
Chris@16 1188 const Arg5& a5, const Arg6& a6, const Arg7& a7) {
Chris@16 1189 return
Chris@16 1190 lambda_functor_base<
Chris@16 1191 action<7, function_action<7, Result> >,
Chris@16 1192 typename detail::bind_tuple_mapper<
Chris@16 1193 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 1194 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7
Chris@16 1195 >::type
Chris@16 1196 >
Chris@16 1197 ( typename detail::bind_tuple_mapper<
Chris@16 1198 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 1199 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7
Chris@16 1200 >::type
Chris@16 1201 (a1, a2, a3, a4, a5, a6, a7)
Chris@16 1202 );
Chris@16 1203 }
Chris@16 1204
Chris@16 1205 template <class Result, class Par1, class Par2, class Par3, class Par4,
Chris@16 1206 class Par5, class Par6, class Arg2, class Arg3, class Arg4,
Chris@16 1207 class Arg5, class Arg6, class Arg7>
Chris@16 1208 inline const
Chris@16 1209 lambda_functor<
Chris@16 1210 lambda_functor_base<
Chris@16 1211 action<7, function_action<7, Result> >,
Chris@16 1212 typename detail::bind_tuple_mapper<
Chris@16 1213 Result(*)(Par1, Par2, Par3, Par4, Par5, Par6), const Arg2, const Arg3,
Chris@16 1214 const Arg4, const Arg5, const Arg6, const Arg7
Chris@16 1215 >::type
Chris@16 1216 >
Chris@16 1217 >
Chris@16 1218
Chris@16 1219 bind(Result(* const & a1)(Par1, Par2, Par3, Par4, Par5, Par6),
Chris@16 1220 const Arg2& a2, const Arg3& a3, const Arg4& a4, const Arg5& a5,
Chris@16 1221 const Arg6& a6, const Arg7& a7) {
Chris@16 1222 return
Chris@16 1223 lambda_functor_base<
Chris@16 1224 action<7, function_action<7, Result> >,
Chris@16 1225 typename detail::bind_tuple_mapper<
Chris@16 1226 Result(*)(Par1, Par2, Par3, Par4, Par5, Par6), const Arg2, const Arg3,
Chris@16 1227 const Arg4, const Arg5, const Arg6, const Arg7
Chris@16 1228 >::type
Chris@16 1229 >
Chris@16 1230 ( typename detail::bind_tuple_mapper<
Chris@16 1231 Result(*)(Par1, Par2, Par3, Par4, Par5, Par6), const Arg2, const Arg3,
Chris@16 1232 const Arg4, const Arg5, const Arg6, const Arg7
Chris@16 1233 >::type
Chris@16 1234 (a1, a2, a3, a4, a5, a6, a7)
Chris@16 1235 );
Chris@16 1236 }
Chris@16 1237
Chris@16 1238
Chris@16 1239 #endif
Chris@16 1240
Chris@16 1241 // 8-argument bind functions --------------------------
Chris@16 1242 #ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
Chris@16 1243 template <class Result, class Par1, class Par2, class Par3, class Par4,
Chris@16 1244 class Par5, class Par6, class Par7, class Arg2, class Arg3,
Chris@16 1245 class Arg4, class Arg5, class Arg6, class Arg7, class Arg8>
Chris@16 1246 inline const
Chris@16 1247 lambda_functor<
Chris@16 1248 lambda_functor_base<
Chris@16 1249 action<8, function_action<8, Result> >,
Chris@16 1250 typename detail::bind_tuple_mapper<
Chris@16 1251 Result(&)(Par1, Par2, Par3, Par4, Par5, Par6, Par7), const Arg2,
Chris@16 1252 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
Chris@16 1253 >::type
Chris@16 1254 >
Chris@16 1255 >
Chris@16 1256
Chris@16 1257 bind(Result(&a1)(Par1, Par2, Par3, Par4, Par5, Par6, Par7), const Arg2& a2,
Chris@16 1258 const Arg3& a3, const Arg4& a4, const Arg5& a5, const Arg6& a6,
Chris@16 1259 const Arg7& a7, const Arg8& a8) {
Chris@16 1260 return
Chris@16 1261 lambda_functor_base<
Chris@16 1262 action<8, function_action<8, Result> >,
Chris@16 1263 typename detail::bind_tuple_mapper<
Chris@16 1264 Result(&)(Par1, Par2, Par3, Par4, Par5, Par6, Par7), const Arg2,
Chris@16 1265 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
Chris@16 1266 >::type
Chris@16 1267 >
Chris@16 1268 ( typename detail::bind_tuple_mapper<
Chris@16 1269 Result(&)(Par1, Par2, Par3, Par4, Par5, Par6, Par7), const Arg2,
Chris@16 1270 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
Chris@16 1271 >::type
Chris@16 1272 (a1, a2, a3, a4, a5, a6, a7, a8)
Chris@16 1273 );
Chris@16 1274 }
Chris@16 1275 #endif
Chris@16 1276
Chris@16 1277 #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
Chris@16 1278 template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5,
Chris@16 1279 class Arg6, class Arg7, class Arg8>
Chris@16 1280 inline const
Chris@16 1281 lambda_functor<
Chris@16 1282 lambda_functor_base<
Chris@16 1283 action<8, function_action<8> >,
Chris@16 1284 typename detail::bind_tuple_mapper<
Chris@16 1285 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
Chris@16 1286 const Arg7, const Arg8
Chris@16 1287 >::type
Chris@16 1288 >
Chris@16 1289 >
Chris@16 1290
Chris@16 1291 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
Chris@16 1292 const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8) {
Chris@16 1293 return
Chris@16 1294 lambda_functor_base<
Chris@16 1295 action<8, function_action<8> >,
Chris@16 1296 typename detail::bind_tuple_mapper<
Chris@16 1297 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
Chris@16 1298 const Arg6, const Arg7, const Arg8
Chris@16 1299 >::type
Chris@16 1300 >
Chris@16 1301 ( typename detail::bind_tuple_mapper<
Chris@16 1302 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
Chris@16 1303 const Arg6, const Arg7, const Arg8
Chris@16 1304 >::type
Chris@16 1305 (a1, a2, a3, a4, a5, a6, a7, a8)
Chris@16 1306 );
Chris@16 1307 }
Chris@16 1308
Chris@16 1309 template <class Result, class Arg1, class Arg2, class Arg3, class Arg4,
Chris@16 1310 class Arg5, class Arg6, class Arg7, class Arg8>
Chris@16 1311 inline const
Chris@16 1312 lambda_functor<
Chris@16 1313 lambda_functor_base<
Chris@16 1314 action<8, function_action<8, Result> >,
Chris@16 1315 typename detail::bind_tuple_mapper<
Chris@16 1316 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
Chris@16 1317 const Arg7, const Arg8
Chris@16 1318 >::type
Chris@16 1319 >
Chris@16 1320 >
Chris@16 1321
Chris@16 1322 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
Chris@16 1323 const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8) {
Chris@16 1324 return
Chris@16 1325 lambda_functor_base<
Chris@16 1326 action<8, function_action<8, Result> >,
Chris@16 1327 typename detail::bind_tuple_mapper<
Chris@16 1328 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
Chris@16 1329 const Arg6, const Arg7, const Arg8
Chris@16 1330 >::type
Chris@16 1331 >
Chris@16 1332 ( typename detail::bind_tuple_mapper<
Chris@16 1333 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
Chris@16 1334 const Arg6, const Arg7, const Arg8
Chris@16 1335 >::type
Chris@16 1336 (a1, a2, a3, a4, a5, a6, a7, a8)
Chris@16 1337 );
Chris@16 1338 }
Chris@16 1339
Chris@16 1340
Chris@16 1341 #else
Chris@16 1342 template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5,
Chris@16 1343 class Arg6, class Arg7, class Arg8>
Chris@16 1344 inline const
Chris@16 1345 lambda_functor<
Chris@16 1346 lambda_functor_base<
Chris@16 1347 action<8, function_action<8> >,
Chris@16 1348 typename detail::bind_tuple_mapper<
Chris@16 1349 typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
Chris@16 1350 const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
Chris@16 1351 >::type
Chris@16 1352 >
Chris@16 1353 >
Chris@16 1354
Chris@16 1355 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
Chris@16 1356 const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8) {
Chris@16 1357 return
Chris@16 1358 lambda_functor_base<
Chris@16 1359 action<8, function_action<8> >,
Chris@16 1360 typename detail::bind_tuple_mapper<
Chris@16 1361 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 1362 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
Chris@16 1363 >::type
Chris@16 1364 >
Chris@16 1365 ( typename detail::bind_tuple_mapper<
Chris@16 1366 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 1367 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
Chris@16 1368 >::type
Chris@16 1369 (a1, a2, a3, a4, a5, a6, a7, a8)
Chris@16 1370 );
Chris@16 1371 }
Chris@16 1372
Chris@16 1373 template <class Result, class Arg1, class Arg2, class Arg3, class Arg4,
Chris@16 1374 class Arg5, class Arg6, class Arg7, class Arg8>
Chris@16 1375 inline const
Chris@16 1376 lambda_functor<
Chris@16 1377 lambda_functor_base<
Chris@16 1378 action<8, function_action<8, Result> >,
Chris@16 1379 typename detail::bind_tuple_mapper<
Chris@16 1380 typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
Chris@16 1381 const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
Chris@16 1382 >::type
Chris@16 1383 >
Chris@16 1384 >
Chris@16 1385
Chris@16 1386 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
Chris@16 1387 const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8) {
Chris@16 1388 return
Chris@16 1389 lambda_functor_base<
Chris@16 1390 action<8, function_action<8, Result> >,
Chris@16 1391 typename detail::bind_tuple_mapper<
Chris@16 1392 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 1393 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
Chris@16 1394 >::type
Chris@16 1395 >
Chris@16 1396 ( typename detail::bind_tuple_mapper<
Chris@16 1397 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 1398 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
Chris@16 1399 >::type
Chris@16 1400 (a1, a2, a3, a4, a5, a6, a7, a8)
Chris@16 1401 );
Chris@16 1402 }
Chris@16 1403
Chris@16 1404 template <class Result, class Par1, class Par2, class Par3, class Par4,
Chris@16 1405 class Par5, class Par6, class Par7, class Arg2, class Arg3,
Chris@16 1406 class Arg4, class Arg5, class Arg6, class Arg7, class Arg8>
Chris@16 1407 inline const
Chris@16 1408 lambda_functor<
Chris@16 1409 lambda_functor_base<
Chris@16 1410 action<8, function_action<8, Result> >,
Chris@16 1411 typename detail::bind_tuple_mapper<
Chris@16 1412 Result(*)(Par1, Par2, Par3, Par4, Par5, Par6, Par7), const Arg2,
Chris@16 1413 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
Chris@16 1414 >::type
Chris@16 1415 >
Chris@16 1416 >
Chris@16 1417
Chris@16 1418 bind(Result(* const & a1)(Par1, Par2, Par3, Par4, Par5, Par6, Par7),
Chris@16 1419 const Arg2& a2, const Arg3& a3, const Arg4& a4, const Arg5& a5,
Chris@16 1420 const Arg6& a6, const Arg7& a7, const Arg8& a8) {
Chris@16 1421 return
Chris@16 1422 lambda_functor_base<
Chris@16 1423 action<8, function_action<8, Result> >,
Chris@16 1424 typename detail::bind_tuple_mapper<
Chris@16 1425 Result(*)(Par1, Par2, Par3, Par4, Par5, Par6, Par7), const Arg2,
Chris@16 1426 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
Chris@16 1427 >::type
Chris@16 1428 >
Chris@16 1429 ( typename detail::bind_tuple_mapper<
Chris@16 1430 Result(*)(Par1, Par2, Par3, Par4, Par5, Par6, Par7), const Arg2,
Chris@16 1431 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
Chris@16 1432 >::type
Chris@16 1433 (a1, a2, a3, a4, a5, a6, a7, a8)
Chris@16 1434 );
Chris@16 1435 }
Chris@16 1436
Chris@16 1437
Chris@16 1438 #endif
Chris@16 1439
Chris@16 1440 // 9-argument bind functions --------------------------
Chris@16 1441 #ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
Chris@16 1442 template <class Result, class Par1, class Par2, class Par3, class Par4,
Chris@16 1443 class Par5, class Par6, class Par7, class Par8, class Arg2,
Chris@16 1444 class Arg3, class Arg4, class Arg5, class Arg6, class Arg7,
Chris@16 1445 class Arg8, class Arg9>
Chris@16 1446 inline const
Chris@16 1447 lambda_functor<
Chris@16 1448 lambda_functor_base<
Chris@16 1449 action<9, function_action<9, Result> >,
Chris@16 1450 typename detail::bind_tuple_mapper<
Chris@16 1451 Result(&)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8), const Arg2,
Chris@16 1452 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8,
Chris@16 1453 const Arg9
Chris@16 1454 >::type
Chris@16 1455 >
Chris@16 1456 >
Chris@16 1457
Chris@16 1458 bind(Result(&a1)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8),
Chris@16 1459 const Arg2& a2, const Arg3& a3, const Arg4& a4, const Arg5& a5,
Chris@16 1460 const Arg6& a6, const Arg7& a7, const Arg8& a8, const Arg9& a9) {
Chris@16 1461 return
Chris@16 1462 lambda_functor_base<
Chris@16 1463 action<9, function_action<9, Result> >,
Chris@16 1464 typename detail::bind_tuple_mapper<
Chris@16 1465 Result(&)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8), const Arg2,
Chris@16 1466 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
Chris@16 1467 const Arg8, const Arg9
Chris@16 1468 >::type
Chris@16 1469 >
Chris@16 1470 ( typename detail::bind_tuple_mapper<
Chris@16 1471 Result(&)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8), const Arg2,
Chris@16 1472 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
Chris@16 1473 const Arg8, const Arg9
Chris@16 1474 >::type
Chris@16 1475 (a1, a2, a3, a4, a5, a6, a7, a8, a9)
Chris@16 1476 );
Chris@16 1477 }
Chris@16 1478 #endif
Chris@16 1479
Chris@16 1480 #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
Chris@16 1481 template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5,
Chris@16 1482 class Arg6, class Arg7, class Arg8, class Arg9>
Chris@16 1483 inline const
Chris@16 1484 lambda_functor<
Chris@16 1485 lambda_functor_base<
Chris@16 1486 action<9, function_action<9> >,
Chris@16 1487 typename detail::bind_tuple_mapper<
Chris@16 1488 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
Chris@16 1489 const Arg7, const Arg8, const Arg9
Chris@16 1490 >::type
Chris@16 1491 >
Chris@16 1492 >
Chris@16 1493
Chris@16 1494 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
Chris@16 1495 const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8,
Chris@16 1496 const Arg9& a9) {
Chris@16 1497 return
Chris@16 1498 lambda_functor_base<
Chris@16 1499 action<9, function_action<9> >,
Chris@16 1500 typename detail::bind_tuple_mapper<
Chris@16 1501 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
Chris@16 1502 const Arg6, const Arg7, const Arg8, const Arg9
Chris@16 1503 >::type
Chris@16 1504 >
Chris@16 1505 ( typename detail::bind_tuple_mapper<
Chris@16 1506 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
Chris@16 1507 const Arg6, const Arg7, const Arg8, const Arg9
Chris@16 1508 >::type
Chris@16 1509 (a1, a2, a3, a4, a5, a6, a7, a8, a9)
Chris@16 1510 );
Chris@16 1511 }
Chris@16 1512
Chris@16 1513 template <class Result, class Arg1, class Arg2, class Arg3, class Arg4,
Chris@16 1514 class Arg5, class Arg6, class Arg7, class Arg8, class Arg9>
Chris@16 1515 inline const
Chris@16 1516 lambda_functor<
Chris@16 1517 lambda_functor_base<
Chris@16 1518 action<9, function_action<9, Result> >,
Chris@16 1519 typename detail::bind_tuple_mapper<
Chris@16 1520 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
Chris@16 1521 const Arg7, const Arg8, const Arg9
Chris@16 1522 >::type
Chris@16 1523 >
Chris@16 1524 >
Chris@16 1525
Chris@16 1526 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
Chris@16 1527 const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8,
Chris@16 1528 const Arg9& a9) {
Chris@16 1529 return
Chris@16 1530 lambda_functor_base<
Chris@16 1531 action<9, function_action<9, Result> >,
Chris@16 1532 typename detail::bind_tuple_mapper<
Chris@16 1533 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
Chris@16 1534 const Arg6, const Arg7, const Arg8, const Arg9
Chris@16 1535 >::type
Chris@16 1536 >
Chris@16 1537 ( typename detail::bind_tuple_mapper<
Chris@16 1538 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
Chris@16 1539 const Arg6, const Arg7, const Arg8, const Arg9
Chris@16 1540 >::type
Chris@16 1541 (a1, a2, a3, a4, a5, a6, a7, a8, a9)
Chris@16 1542 );
Chris@16 1543 }
Chris@16 1544
Chris@16 1545
Chris@16 1546 #else
Chris@16 1547 template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5,
Chris@16 1548 class Arg6, class Arg7, class Arg8, class Arg9>
Chris@16 1549 inline const
Chris@16 1550 lambda_functor<
Chris@16 1551 lambda_functor_base<
Chris@16 1552 action<9, function_action<9> >,
Chris@16 1553 typename detail::bind_tuple_mapper<
Chris@16 1554 typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
Chris@16 1555 const Arg4, const Arg5, const Arg6, const Arg7, const Arg8, const Arg9
Chris@16 1556 >::type
Chris@16 1557 >
Chris@16 1558 >
Chris@16 1559
Chris@16 1560 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
Chris@16 1561 const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8,
Chris@16 1562 const Arg9& a9) {
Chris@16 1563 return
Chris@16 1564 lambda_functor_base<
Chris@16 1565 action<9, function_action<9> >,
Chris@16 1566 typename detail::bind_tuple_mapper<
Chris@16 1567 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 1568 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
Chris@16 1569 const Arg8, const Arg9
Chris@16 1570 >::type
Chris@16 1571 >
Chris@16 1572 ( typename detail::bind_tuple_mapper<
Chris@16 1573 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 1574 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
Chris@16 1575 const Arg8, const Arg9
Chris@16 1576 >::type
Chris@16 1577 (a1, a2, a3, a4, a5, a6, a7, a8, a9)
Chris@16 1578 );
Chris@16 1579 }
Chris@16 1580
Chris@16 1581 template <class Result, class Arg1, class Arg2, class Arg3, class Arg4,
Chris@16 1582 class Arg5, class Arg6, class Arg7, class Arg8, class Arg9>
Chris@16 1583 inline const
Chris@16 1584 lambda_functor<
Chris@16 1585 lambda_functor_base<
Chris@16 1586 action<9, function_action<9, Result> >,
Chris@16 1587 typename detail::bind_tuple_mapper<
Chris@16 1588 typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
Chris@16 1589 const Arg4, const Arg5, const Arg6, const Arg7, const Arg8, const Arg9
Chris@16 1590 >::type
Chris@16 1591 >
Chris@16 1592 >
Chris@16 1593
Chris@16 1594 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
Chris@16 1595 const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8,
Chris@16 1596 const Arg9& a9) {
Chris@16 1597 return
Chris@16 1598 lambda_functor_base<
Chris@16 1599 action<9, function_action<9, Result> >,
Chris@16 1600 typename detail::bind_tuple_mapper<
Chris@16 1601 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 1602 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
Chris@16 1603 const Arg8, const Arg9
Chris@16 1604 >::type
Chris@16 1605 >
Chris@16 1606 ( typename detail::bind_tuple_mapper<
Chris@16 1607 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 1608 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
Chris@16 1609 const Arg8, const Arg9
Chris@16 1610 >::type
Chris@16 1611 (a1, a2, a3, a4, a5, a6, a7, a8, a9)
Chris@16 1612 );
Chris@16 1613 }
Chris@16 1614
Chris@16 1615 template <class Result, class Par1, class Par2, class Par3, class Par4,
Chris@16 1616 class Par5, class Par6, class Par7, class Par8, class Arg2,
Chris@16 1617 class Arg3, class Arg4, class Arg5, class Arg6, class Arg7,
Chris@16 1618 class Arg8, class Arg9>
Chris@16 1619 inline const
Chris@16 1620 lambda_functor<
Chris@16 1621 lambda_functor_base<
Chris@16 1622 action<9, function_action<9, Result> >,
Chris@16 1623 typename detail::bind_tuple_mapper<
Chris@16 1624 Result(*)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8), const Arg2,
Chris@16 1625 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8,
Chris@16 1626 const Arg9
Chris@16 1627 >::type
Chris@16 1628 >
Chris@16 1629 >
Chris@16 1630
Chris@16 1631 bind(Result(* const & a1)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8),
Chris@16 1632 const Arg2& a2, const Arg3& a3, const Arg4& a4, const Arg5& a5,
Chris@16 1633 const Arg6& a6, const Arg7& a7, const Arg8& a8, const Arg9& a9) {
Chris@16 1634 return
Chris@16 1635 lambda_functor_base<
Chris@16 1636 action<9, function_action<9, Result> >,
Chris@16 1637 typename detail::bind_tuple_mapper<
Chris@16 1638 Result(*)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8), const Arg2,
Chris@16 1639 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
Chris@16 1640 const Arg8, const Arg9
Chris@16 1641 >::type
Chris@16 1642 >
Chris@16 1643 ( typename detail::bind_tuple_mapper<
Chris@16 1644 Result(*)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8), const Arg2,
Chris@16 1645 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
Chris@16 1646 const Arg8, const Arg9
Chris@16 1647 >::type
Chris@16 1648 (a1, a2, a3, a4, a5, a6, a7, a8, a9)
Chris@16 1649 );
Chris@16 1650 }
Chris@16 1651
Chris@16 1652
Chris@16 1653 #endif
Chris@16 1654
Chris@16 1655 // 10-argument bind functions --------------------------
Chris@16 1656 #ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
Chris@16 1657 template <class Result, class Par1, class Par2, class Par3, class Par4,
Chris@16 1658 class Par5, class Par6, class Par7, class Par8, class Par9,
Chris@16 1659 class Arg2, class Arg3, class Arg4, class Arg5, class Arg6,
Chris@16 1660 class Arg7, class Arg8, class Arg9, class Arg10>
Chris@16 1661 inline const
Chris@16 1662 lambda_functor<
Chris@16 1663 lambda_functor_base<
Chris@16 1664 action<10, function_action<10, Result> >,
Chris@16 1665 typename detail::bind_tuple_mapper<
Chris@16 1666 Result(&)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8, Par9),
Chris@16 1667 const Arg2, const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
Chris@16 1668 const Arg8, const Arg9, const Arg10
Chris@16 1669 >::type
Chris@16 1670 >
Chris@16 1671 >
Chris@16 1672
Chris@16 1673 bind(Result(&a1)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8, Par9),
Chris@16 1674 const Arg2& a2, const Arg3& a3, const Arg4& a4, const Arg5& a5,
Chris@16 1675 const Arg6& a6, const Arg7& a7, const Arg8& a8, const Arg9& a9,
Chris@16 1676 const Arg10& a10) {
Chris@16 1677 return
Chris@16 1678 lambda_functor_base<
Chris@16 1679 action<10, function_action<10, Result> >,
Chris@16 1680 typename detail::bind_tuple_mapper<
Chris@16 1681 Result(&)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8, Par9),
Chris@16 1682 const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
Chris@16 1683 const Arg7, const Arg8, const Arg9, const Arg10
Chris@16 1684 >::type
Chris@16 1685 >
Chris@16 1686 ( typename detail::bind_tuple_mapper<
Chris@16 1687 Result(&)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8, Par9),
Chris@16 1688 const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
Chris@16 1689 const Arg7, const Arg8, const Arg9, const Arg10
Chris@16 1690 >::type
Chris@16 1691 (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
Chris@16 1692 );
Chris@16 1693 }
Chris@16 1694 #endif
Chris@16 1695
Chris@16 1696 #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
Chris@16 1697 template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5,
Chris@16 1698 class Arg6, class Arg7, class Arg8, class Arg9, class Arg10>
Chris@16 1699 inline const
Chris@16 1700 lambda_functor<
Chris@16 1701 lambda_functor_base<
Chris@16 1702 action<10, function_action<10> >,
Chris@16 1703 typename detail::bind_tuple_mapper<
Chris@16 1704 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
Chris@16 1705 const Arg7, const Arg8, const Arg9, const Arg10
Chris@16 1706 >::type
Chris@16 1707 >
Chris@16 1708 >
Chris@16 1709
Chris@16 1710 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
Chris@16 1711 const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8,
Chris@16 1712 const Arg9& a9, const Arg10& a10) {
Chris@16 1713 return
Chris@16 1714 lambda_functor_base<
Chris@16 1715 action<10, function_action<10> >,
Chris@16 1716 typename detail::bind_tuple_mapper<
Chris@16 1717 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
Chris@16 1718 const Arg6, const Arg7, const Arg8, const Arg9, const Arg10
Chris@16 1719 >::type
Chris@16 1720 >
Chris@16 1721 ( typename detail::bind_tuple_mapper<
Chris@16 1722 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
Chris@16 1723 const Arg6, const Arg7, const Arg8, const Arg9, const Arg10
Chris@16 1724 >::type
Chris@16 1725 (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
Chris@16 1726 );
Chris@16 1727 }
Chris@16 1728
Chris@16 1729 template <class Result, class Arg1, class Arg2, class Arg3, class Arg4,
Chris@16 1730 class Arg5, class Arg6, class Arg7, class Arg8, class Arg9,
Chris@16 1731 class Arg10>
Chris@16 1732 inline const
Chris@16 1733 lambda_functor<
Chris@16 1734 lambda_functor_base<
Chris@16 1735 action<10, function_action<10, Result> >,
Chris@16 1736 typename detail::bind_tuple_mapper<
Chris@16 1737 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
Chris@16 1738 const Arg7, const Arg8, const Arg9, const Arg10
Chris@16 1739 >::type
Chris@16 1740 >
Chris@16 1741 >
Chris@16 1742
Chris@16 1743 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
Chris@16 1744 const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8,
Chris@16 1745 const Arg9& a9, const Arg10& a10) {
Chris@16 1746 return
Chris@16 1747 lambda_functor_base<
Chris@16 1748 action<10, function_action<10, Result> >,
Chris@16 1749 typename detail::bind_tuple_mapper<
Chris@16 1750 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
Chris@16 1751 const Arg6, const Arg7, const Arg8, const Arg9, const Arg10
Chris@16 1752 >::type
Chris@16 1753 >
Chris@16 1754 ( typename detail::bind_tuple_mapper<
Chris@16 1755 const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
Chris@16 1756 const Arg6, const Arg7, const Arg8, const Arg9, const Arg10
Chris@16 1757 >::type
Chris@16 1758 (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
Chris@16 1759 );
Chris@16 1760 }
Chris@16 1761
Chris@16 1762
Chris@16 1763 #else
Chris@16 1764 template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5,
Chris@16 1765 class Arg6, class Arg7, class Arg8, class Arg9, class Arg10>
Chris@16 1766 inline const
Chris@16 1767 lambda_functor<
Chris@16 1768 lambda_functor_base<
Chris@16 1769 action<10, function_action<10> >,
Chris@16 1770 typename detail::bind_tuple_mapper<
Chris@16 1771 typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
Chris@16 1772 const Arg4, const Arg5, const Arg6, const Arg7, const Arg8, const Arg9,
Chris@16 1773 const Arg10
Chris@16 1774 >::type
Chris@16 1775 >
Chris@16 1776 >
Chris@16 1777
Chris@16 1778 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
Chris@16 1779 const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8,
Chris@16 1780 const Arg9& a9, const Arg10& a10) {
Chris@16 1781 return
Chris@16 1782 lambda_functor_base<
Chris@16 1783 action<10, function_action<10> >,
Chris@16 1784 typename detail::bind_tuple_mapper<
Chris@16 1785 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 1786 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
Chris@16 1787 const Arg8, const Arg9, const Arg10
Chris@16 1788 >::type
Chris@16 1789 >
Chris@16 1790 ( typename detail::bind_tuple_mapper<
Chris@16 1791 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 1792 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
Chris@16 1793 const Arg8, const Arg9, const Arg10
Chris@16 1794 >::type
Chris@16 1795 (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
Chris@16 1796 );
Chris@16 1797 }
Chris@16 1798
Chris@16 1799 template <class Result, class Arg1, class Arg2, class Arg3, class Arg4,
Chris@16 1800 class Arg5, class Arg6, class Arg7, class Arg8, class Arg9,
Chris@16 1801 class Arg10>
Chris@16 1802 inline const
Chris@16 1803 lambda_functor<
Chris@16 1804 lambda_functor_base<
Chris@16 1805 action<10, function_action<10, Result> >,
Chris@16 1806 typename detail::bind_tuple_mapper<
Chris@16 1807 typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
Chris@16 1808 const Arg4, const Arg5, const Arg6, const Arg7, const Arg8, const Arg9,
Chris@16 1809 const Arg10
Chris@16 1810 >::type
Chris@16 1811 >
Chris@16 1812 >
Chris@16 1813
Chris@16 1814 bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
Chris@16 1815 const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8,
Chris@16 1816 const Arg9& a9, const Arg10& a10) {
Chris@16 1817 return
Chris@16 1818 lambda_functor_base<
Chris@16 1819 action<10, function_action<10, Result> >,
Chris@16 1820 typename detail::bind_tuple_mapper<
Chris@16 1821 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 1822 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
Chris@16 1823 const Arg8, const Arg9, const Arg10
Chris@16 1824 >::type
Chris@16 1825 >
Chris@16 1826 ( typename detail::bind_tuple_mapper<
Chris@16 1827 typename detail::constify_non_funcs<Arg1>::type, const Arg2,
Chris@16 1828 const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
Chris@16 1829 const Arg8, const Arg9, const Arg10
Chris@16 1830 >::type
Chris@16 1831 (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
Chris@16 1832 );
Chris@16 1833 }
Chris@16 1834
Chris@16 1835 template <class Result, class Par1, class Par2, class Par3, class Par4,
Chris@16 1836 class Par5, class Par6, class Par7, class Par8, class Par9,
Chris@16 1837 class Arg2, class Arg3, class Arg4, class Arg5, class Arg6,
Chris@16 1838 class Arg7, class Arg8, class Arg9, class Arg10>
Chris@16 1839 inline const
Chris@16 1840 lambda_functor<
Chris@16 1841 lambda_functor_base<
Chris@16 1842 action<10, function_action<10, Result> >,
Chris@16 1843 typename detail::bind_tuple_mapper<
Chris@16 1844 Result(*)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8, Par9),
Chris@16 1845 const Arg2, const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
Chris@16 1846 const Arg8, const Arg9, const Arg10
Chris@16 1847 >::type
Chris@16 1848 >
Chris@16 1849 >
Chris@16 1850
Chris@16 1851 bind(Result(* const & a1)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8,
Chris@16 1852 Par9), const Arg2& a2, const Arg3& a3, const Arg4& a4, const Arg5& a5,
Chris@16 1853 const Arg6& a6, const Arg7& a7, const Arg8& a8, const Arg9& a9,
Chris@16 1854 const Arg10& a10) {
Chris@16 1855 return
Chris@16 1856 lambda_functor_base<
Chris@16 1857 action<10, function_action<10, Result> >,
Chris@16 1858 typename detail::bind_tuple_mapper<
Chris@16 1859 Result(*)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8, Par9),
Chris@16 1860 const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
Chris@16 1861 const Arg7, const Arg8, const Arg9, const Arg10
Chris@16 1862 >::type
Chris@16 1863 >
Chris@16 1864 ( typename detail::bind_tuple_mapper<
Chris@16 1865 Result(*)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8, Par9),
Chris@16 1866 const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
Chris@16 1867 const Arg7, const Arg8, const Arg9, const Arg10
Chris@16 1868 >::type
Chris@16 1869 (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
Chris@16 1870 );
Chris@16 1871 }
Chris@16 1872
Chris@16 1873
Chris@16 1874 #endif
Chris@16 1875
Chris@16 1876 } // namespace lambda
Chris@16 1877 } // namespace boost
Chris@16 1878
Chris@16 1879 #endif