File indexing completed on 2025-02-23 09:48:03
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 template <
0015 typename RT
0016 , typename ClassT
0017 , typename T0
0018 , typename ClassA
0019 , typename A0
0020 >
0021 inline
0022 typename detail::expression::function_eval<
0023 detail::member_function_ptr<
0024 1
0025 , RT
0026 , RT(ClassT::*)(T0)
0027 >
0028 , ClassA
0029 , A0
0030 >::type const
0031 bind(
0032 RT(ClassT::*f)(T0)
0033 , ClassA const & obj
0034 , A0 const& a0
0035 )
0036 {
0037 typedef detail::member_function_ptr<
0038 1
0039 , RT
0040 , RT(ClassT::*)(T0)
0041 > fp_type;
0042 return
0043 detail::expression::function_eval<
0044 fp_type
0045 , ClassA
0046 , A0
0047 >::make(
0048 fp_type(f)
0049 , obj
0050 , a0
0051 );
0052 }
0053 template <
0054 typename RT
0055 , typename ClassT
0056 , typename T0
0057 , typename ClassA
0058 , typename A0
0059 >
0060 inline
0061 typename detail::expression::function_eval<
0062 detail::member_function_ptr<
0063 1
0064 , RT
0065 , RT(ClassT::*)(T0) const
0066 >
0067 , ClassA
0068 , A0
0069 >::type const
0070 bind(
0071 RT(ClassT::*f)(T0) const
0072 , ClassA const & obj
0073 , A0 const& a0
0074 )
0075 {
0076 typedef detail::member_function_ptr<
0077 1
0078 , RT
0079 , RT(ClassT::*)(T0) const
0080 > fp_type;
0081 return
0082 detail::expression::function_eval<
0083 fp_type
0084 , ClassA
0085 , A0
0086 >::make(
0087 fp_type(f)
0088 , obj
0089 , a0
0090 );
0091 }
0092 template <
0093 typename RT
0094 , typename ClassT
0095 , typename T0
0096 , typename A0
0097 >
0098 inline
0099 typename detail::expression::function_eval<
0100 detail::member_function_ptr<
0101 1
0102 , RT
0103 , RT(ClassT::*)(T0)
0104 >
0105 , ClassT
0106 , A0
0107 >::type const
0108 bind(
0109 RT(ClassT::*f)(T0)
0110 , ClassT & obj
0111 , A0 const& a0
0112 )
0113 {
0114 typedef detail::member_function_ptr<
0115 1
0116 , RT
0117 , RT(ClassT::*)(T0)
0118 > fp_type;
0119 return
0120 detail::expression::function_eval<
0121 fp_type
0122 , ClassT
0123 , A0
0124 >::make(
0125 fp_type(f)
0126 , obj
0127 , a0
0128 );
0129 }
0130
0131
0132
0133
0134
0135
0136
0137 template <
0138 typename RT
0139 , typename ClassT
0140 , typename T0 , typename T1
0141 , typename ClassA
0142 , typename A0 , typename A1
0143 >
0144 inline
0145 typename detail::expression::function_eval<
0146 detail::member_function_ptr<
0147 2
0148 , RT
0149 , RT(ClassT::*)(T0 , T1)
0150 >
0151 , ClassA
0152 , A0 , A1
0153 >::type const
0154 bind(
0155 RT(ClassT::*f)(T0 , T1)
0156 , ClassA const & obj
0157 , A0 const& a0 , A1 const& a1
0158 )
0159 {
0160 typedef detail::member_function_ptr<
0161 2
0162 , RT
0163 , RT(ClassT::*)(T0 , T1)
0164 > fp_type;
0165 return
0166 detail::expression::function_eval<
0167 fp_type
0168 , ClassA
0169 , A0 , A1
0170 >::make(
0171 fp_type(f)
0172 , obj
0173 , a0 , a1
0174 );
0175 }
0176 template <
0177 typename RT
0178 , typename ClassT
0179 , typename T0 , typename T1
0180 , typename ClassA
0181 , typename A0 , typename A1
0182 >
0183 inline
0184 typename detail::expression::function_eval<
0185 detail::member_function_ptr<
0186 2
0187 , RT
0188 , RT(ClassT::*)(T0 , T1) const
0189 >
0190 , ClassA
0191 , A0 , A1
0192 >::type const
0193 bind(
0194 RT(ClassT::*f)(T0 , T1) const
0195 , ClassA const & obj
0196 , A0 const& a0 , A1 const& a1
0197 )
0198 {
0199 typedef detail::member_function_ptr<
0200 2
0201 , RT
0202 , RT(ClassT::*)(T0 , T1) const
0203 > fp_type;
0204 return
0205 detail::expression::function_eval<
0206 fp_type
0207 , ClassA
0208 , A0 , A1
0209 >::make(
0210 fp_type(f)
0211 , obj
0212 , a0 , a1
0213 );
0214 }
0215 template <
0216 typename RT
0217 , typename ClassT
0218 , typename T0 , typename T1
0219 , typename A0 , typename A1
0220 >
0221 inline
0222 typename detail::expression::function_eval<
0223 detail::member_function_ptr<
0224 2
0225 , RT
0226 , RT(ClassT::*)(T0 , T1)
0227 >
0228 , ClassT
0229 , A0 , A1
0230 >::type const
0231 bind(
0232 RT(ClassT::*f)(T0 , T1)
0233 , ClassT & obj
0234 , A0 const& a0 , A1 const& a1
0235 )
0236 {
0237 typedef detail::member_function_ptr<
0238 2
0239 , RT
0240 , RT(ClassT::*)(T0 , T1)
0241 > fp_type;
0242 return
0243 detail::expression::function_eval<
0244 fp_type
0245 , ClassT
0246 , A0 , A1
0247 >::make(
0248 fp_type(f)
0249 , obj
0250 , a0 , a1
0251 );
0252 }
0253
0254
0255
0256
0257
0258
0259
0260 template <
0261 typename RT
0262 , typename ClassT
0263 , typename T0 , typename T1 , typename T2
0264 , typename ClassA
0265 , typename A0 , typename A1 , typename A2
0266 >
0267 inline
0268 typename detail::expression::function_eval<
0269 detail::member_function_ptr<
0270 3
0271 , RT
0272 , RT(ClassT::*)(T0 , T1 , T2)
0273 >
0274 , ClassA
0275 , A0 , A1 , A2
0276 >::type const
0277 bind(
0278 RT(ClassT::*f)(T0 , T1 , T2)
0279 , ClassA const & obj
0280 , A0 const& a0 , A1 const& a1 , A2 const& a2
0281 )
0282 {
0283 typedef detail::member_function_ptr<
0284 3
0285 , RT
0286 , RT(ClassT::*)(T0 , T1 , T2)
0287 > fp_type;
0288 return
0289 detail::expression::function_eval<
0290 fp_type
0291 , ClassA
0292 , A0 , A1 , A2
0293 >::make(
0294 fp_type(f)
0295 , obj
0296 , a0 , a1 , a2
0297 );
0298 }
0299 template <
0300 typename RT
0301 , typename ClassT
0302 , typename T0 , typename T1 , typename T2
0303 , typename ClassA
0304 , typename A0 , typename A1 , typename A2
0305 >
0306 inline
0307 typename detail::expression::function_eval<
0308 detail::member_function_ptr<
0309 3
0310 , RT
0311 , RT(ClassT::*)(T0 , T1 , T2) const
0312 >
0313 , ClassA
0314 , A0 , A1 , A2
0315 >::type const
0316 bind(
0317 RT(ClassT::*f)(T0 , T1 , T2) const
0318 , ClassA const & obj
0319 , A0 const& a0 , A1 const& a1 , A2 const& a2
0320 )
0321 {
0322 typedef detail::member_function_ptr<
0323 3
0324 , RT
0325 , RT(ClassT::*)(T0 , T1 , T2) const
0326 > fp_type;
0327 return
0328 detail::expression::function_eval<
0329 fp_type
0330 , ClassA
0331 , A0 , A1 , A2
0332 >::make(
0333 fp_type(f)
0334 , obj
0335 , a0 , a1 , a2
0336 );
0337 }
0338 template <
0339 typename RT
0340 , typename ClassT
0341 , typename T0 , typename T1 , typename T2
0342 , typename A0 , typename A1 , typename A2
0343 >
0344 inline
0345 typename detail::expression::function_eval<
0346 detail::member_function_ptr<
0347 3
0348 , RT
0349 , RT(ClassT::*)(T0 , T1 , T2)
0350 >
0351 , ClassT
0352 , A0 , A1 , A2
0353 >::type const
0354 bind(
0355 RT(ClassT::*f)(T0 , T1 , T2)
0356 , ClassT & obj
0357 , A0 const& a0 , A1 const& a1 , A2 const& a2
0358 )
0359 {
0360 typedef detail::member_function_ptr<
0361 3
0362 , RT
0363 , RT(ClassT::*)(T0 , T1 , T2)
0364 > fp_type;
0365 return
0366 detail::expression::function_eval<
0367 fp_type
0368 , ClassT
0369 , A0 , A1 , A2
0370 >::make(
0371 fp_type(f)
0372 , obj
0373 , a0 , a1 , a2
0374 );
0375 }
0376
0377
0378
0379
0380
0381
0382
0383 template <
0384 typename RT
0385 , typename ClassT
0386 , typename T0 , typename T1 , typename T2 , typename T3
0387 , typename ClassA
0388 , typename A0 , typename A1 , typename A2 , typename A3
0389 >
0390 inline
0391 typename detail::expression::function_eval<
0392 detail::member_function_ptr<
0393 4
0394 , RT
0395 , RT(ClassT::*)(T0 , T1 , T2 , T3)
0396 >
0397 , ClassA
0398 , A0 , A1 , A2 , A3
0399 >::type const
0400 bind(
0401 RT(ClassT::*f)(T0 , T1 , T2 , T3)
0402 , ClassA const & obj
0403 , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3
0404 )
0405 {
0406 typedef detail::member_function_ptr<
0407 4
0408 , RT
0409 , RT(ClassT::*)(T0 , T1 , T2 , T3)
0410 > fp_type;
0411 return
0412 detail::expression::function_eval<
0413 fp_type
0414 , ClassA
0415 , A0 , A1 , A2 , A3
0416 >::make(
0417 fp_type(f)
0418 , obj
0419 , a0 , a1 , a2 , a3
0420 );
0421 }
0422 template <
0423 typename RT
0424 , typename ClassT
0425 , typename T0 , typename T1 , typename T2 , typename T3
0426 , typename ClassA
0427 , typename A0 , typename A1 , typename A2 , typename A3
0428 >
0429 inline
0430 typename detail::expression::function_eval<
0431 detail::member_function_ptr<
0432 4
0433 , RT
0434 , RT(ClassT::*)(T0 , T1 , T2 , T3) const
0435 >
0436 , ClassA
0437 , A0 , A1 , A2 , A3
0438 >::type const
0439 bind(
0440 RT(ClassT::*f)(T0 , T1 , T2 , T3) const
0441 , ClassA const & obj
0442 , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3
0443 )
0444 {
0445 typedef detail::member_function_ptr<
0446 4
0447 , RT
0448 , RT(ClassT::*)(T0 , T1 , T2 , T3) const
0449 > fp_type;
0450 return
0451 detail::expression::function_eval<
0452 fp_type
0453 , ClassA
0454 , A0 , A1 , A2 , A3
0455 >::make(
0456 fp_type(f)
0457 , obj
0458 , a0 , a1 , a2 , a3
0459 );
0460 }
0461 template <
0462 typename RT
0463 , typename ClassT
0464 , typename T0 , typename T1 , typename T2 , typename T3
0465 , typename A0 , typename A1 , typename A2 , typename A3
0466 >
0467 inline
0468 typename detail::expression::function_eval<
0469 detail::member_function_ptr<
0470 4
0471 , RT
0472 , RT(ClassT::*)(T0 , T1 , T2 , T3)
0473 >
0474 , ClassT
0475 , A0 , A1 , A2 , A3
0476 >::type const
0477 bind(
0478 RT(ClassT::*f)(T0 , T1 , T2 , T3)
0479 , ClassT & obj
0480 , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3
0481 )
0482 {
0483 typedef detail::member_function_ptr<
0484 4
0485 , RT
0486 , RT(ClassT::*)(T0 , T1 , T2 , T3)
0487 > fp_type;
0488 return
0489 detail::expression::function_eval<
0490 fp_type
0491 , ClassT
0492 , A0 , A1 , A2 , A3
0493 >::make(
0494 fp_type(f)
0495 , obj
0496 , a0 , a1 , a2 , a3
0497 );
0498 }
0499
0500
0501
0502
0503
0504
0505
0506 template <
0507 typename RT
0508 , typename ClassT
0509 , typename T0 , typename T1 , typename T2 , typename T3 , typename T4
0510 , typename ClassA
0511 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4
0512 >
0513 inline
0514 typename detail::expression::function_eval<
0515 detail::member_function_ptr<
0516 5
0517 , RT
0518 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4)
0519 >
0520 , ClassA
0521 , A0 , A1 , A2 , A3 , A4
0522 >::type const
0523 bind(
0524 RT(ClassT::*f)(T0 , T1 , T2 , T3 , T4)
0525 , ClassA const & obj
0526 , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4
0527 )
0528 {
0529 typedef detail::member_function_ptr<
0530 5
0531 , RT
0532 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4)
0533 > fp_type;
0534 return
0535 detail::expression::function_eval<
0536 fp_type
0537 , ClassA
0538 , A0 , A1 , A2 , A3 , A4
0539 >::make(
0540 fp_type(f)
0541 , obj
0542 , a0 , a1 , a2 , a3 , a4
0543 );
0544 }
0545 template <
0546 typename RT
0547 , typename ClassT
0548 , typename T0 , typename T1 , typename T2 , typename T3 , typename T4
0549 , typename ClassA
0550 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4
0551 >
0552 inline
0553 typename detail::expression::function_eval<
0554 detail::member_function_ptr<
0555 5
0556 , RT
0557 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4) const
0558 >
0559 , ClassA
0560 , A0 , A1 , A2 , A3 , A4
0561 >::type const
0562 bind(
0563 RT(ClassT::*f)(T0 , T1 , T2 , T3 , T4) const
0564 , ClassA const & obj
0565 , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4
0566 )
0567 {
0568 typedef detail::member_function_ptr<
0569 5
0570 , RT
0571 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4) const
0572 > fp_type;
0573 return
0574 detail::expression::function_eval<
0575 fp_type
0576 , ClassA
0577 , A0 , A1 , A2 , A3 , A4
0578 >::make(
0579 fp_type(f)
0580 , obj
0581 , a0 , a1 , a2 , a3 , a4
0582 );
0583 }
0584 template <
0585 typename RT
0586 , typename ClassT
0587 , typename T0 , typename T1 , typename T2 , typename T3 , typename T4
0588 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4
0589 >
0590 inline
0591 typename detail::expression::function_eval<
0592 detail::member_function_ptr<
0593 5
0594 , RT
0595 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4)
0596 >
0597 , ClassT
0598 , A0 , A1 , A2 , A3 , A4
0599 >::type const
0600 bind(
0601 RT(ClassT::*f)(T0 , T1 , T2 , T3 , T4)
0602 , ClassT & obj
0603 , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4
0604 )
0605 {
0606 typedef detail::member_function_ptr<
0607 5
0608 , RT
0609 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4)
0610 > fp_type;
0611 return
0612 detail::expression::function_eval<
0613 fp_type
0614 , ClassT
0615 , A0 , A1 , A2 , A3 , A4
0616 >::make(
0617 fp_type(f)
0618 , obj
0619 , a0 , a1 , a2 , a3 , a4
0620 );
0621 }
0622
0623
0624
0625
0626
0627
0628
0629 template <
0630 typename RT
0631 , typename ClassT
0632 , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5
0633 , typename ClassA
0634 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5
0635 >
0636 inline
0637 typename detail::expression::function_eval<
0638 detail::member_function_ptr<
0639 6
0640 , RT
0641 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4 , T5)
0642 >
0643 , ClassA
0644 , A0 , A1 , A2 , A3 , A4 , A5
0645 >::type const
0646 bind(
0647 RT(ClassT::*f)(T0 , T1 , T2 , T3 , T4 , T5)
0648 , ClassA const & obj
0649 , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5
0650 )
0651 {
0652 typedef detail::member_function_ptr<
0653 6
0654 , RT
0655 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4 , T5)
0656 > fp_type;
0657 return
0658 detail::expression::function_eval<
0659 fp_type
0660 , ClassA
0661 , A0 , A1 , A2 , A3 , A4 , A5
0662 >::make(
0663 fp_type(f)
0664 , obj
0665 , a0 , a1 , a2 , a3 , a4 , a5
0666 );
0667 }
0668 template <
0669 typename RT
0670 , typename ClassT
0671 , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5
0672 , typename ClassA
0673 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5
0674 >
0675 inline
0676 typename detail::expression::function_eval<
0677 detail::member_function_ptr<
0678 6
0679 , RT
0680 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4 , T5) const
0681 >
0682 , ClassA
0683 , A0 , A1 , A2 , A3 , A4 , A5
0684 >::type const
0685 bind(
0686 RT(ClassT::*f)(T0 , T1 , T2 , T3 , T4 , T5) const
0687 , ClassA const & obj
0688 , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5
0689 )
0690 {
0691 typedef detail::member_function_ptr<
0692 6
0693 , RT
0694 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4 , T5) const
0695 > fp_type;
0696 return
0697 detail::expression::function_eval<
0698 fp_type
0699 , ClassA
0700 , A0 , A1 , A2 , A3 , A4 , A5
0701 >::make(
0702 fp_type(f)
0703 , obj
0704 , a0 , a1 , a2 , a3 , a4 , a5
0705 );
0706 }
0707 template <
0708 typename RT
0709 , typename ClassT
0710 , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5
0711 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5
0712 >
0713 inline
0714 typename detail::expression::function_eval<
0715 detail::member_function_ptr<
0716 6
0717 , RT
0718 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4 , T5)
0719 >
0720 , ClassT
0721 , A0 , A1 , A2 , A3 , A4 , A5
0722 >::type const
0723 bind(
0724 RT(ClassT::*f)(T0 , T1 , T2 , T3 , T4 , T5)
0725 , ClassT & obj
0726 , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5
0727 )
0728 {
0729 typedef detail::member_function_ptr<
0730 6
0731 , RT
0732 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4 , T5)
0733 > fp_type;
0734 return
0735 detail::expression::function_eval<
0736 fp_type
0737 , ClassT
0738 , A0 , A1 , A2 , A3 , A4 , A5
0739 >::make(
0740 fp_type(f)
0741 , obj
0742 , a0 , a1 , a2 , a3 , a4 , a5
0743 );
0744 }
0745
0746
0747
0748
0749
0750
0751
0752 template <
0753 typename RT
0754 , typename ClassT
0755 , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6
0756 , typename ClassA
0757 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6
0758 >
0759 inline
0760 typename detail::expression::function_eval<
0761 detail::member_function_ptr<
0762 7
0763 , RT
0764 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4 , T5 , T6)
0765 >
0766 , ClassA
0767 , A0 , A1 , A2 , A3 , A4 , A5 , A6
0768 >::type const
0769 bind(
0770 RT(ClassT::*f)(T0 , T1 , T2 , T3 , T4 , T5 , T6)
0771 , ClassA const & obj
0772 , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6
0773 )
0774 {
0775 typedef detail::member_function_ptr<
0776 7
0777 , RT
0778 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4 , T5 , T6)
0779 > fp_type;
0780 return
0781 detail::expression::function_eval<
0782 fp_type
0783 , ClassA
0784 , A0 , A1 , A2 , A3 , A4 , A5 , A6
0785 >::make(
0786 fp_type(f)
0787 , obj
0788 , a0 , a1 , a2 , a3 , a4 , a5 , a6
0789 );
0790 }
0791 template <
0792 typename RT
0793 , typename ClassT
0794 , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6
0795 , typename ClassA
0796 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6
0797 >
0798 inline
0799 typename detail::expression::function_eval<
0800 detail::member_function_ptr<
0801 7
0802 , RT
0803 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4 , T5 , T6) const
0804 >
0805 , ClassA
0806 , A0 , A1 , A2 , A3 , A4 , A5 , A6
0807 >::type const
0808 bind(
0809 RT(ClassT::*f)(T0 , T1 , T2 , T3 , T4 , T5 , T6) const
0810 , ClassA const & obj
0811 , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6
0812 )
0813 {
0814 typedef detail::member_function_ptr<
0815 7
0816 , RT
0817 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4 , T5 , T6) const
0818 > fp_type;
0819 return
0820 detail::expression::function_eval<
0821 fp_type
0822 , ClassA
0823 , A0 , A1 , A2 , A3 , A4 , A5 , A6
0824 >::make(
0825 fp_type(f)
0826 , obj
0827 , a0 , a1 , a2 , a3 , a4 , a5 , a6
0828 );
0829 }
0830 template <
0831 typename RT
0832 , typename ClassT
0833 , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6
0834 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6
0835 >
0836 inline
0837 typename detail::expression::function_eval<
0838 detail::member_function_ptr<
0839 7
0840 , RT
0841 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4 , T5 , T6)
0842 >
0843 , ClassT
0844 , A0 , A1 , A2 , A3 , A4 , A5 , A6
0845 >::type const
0846 bind(
0847 RT(ClassT::*f)(T0 , T1 , T2 , T3 , T4 , T5 , T6)
0848 , ClassT & obj
0849 , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6
0850 )
0851 {
0852 typedef detail::member_function_ptr<
0853 7
0854 , RT
0855 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4 , T5 , T6)
0856 > fp_type;
0857 return
0858 detail::expression::function_eval<
0859 fp_type
0860 , ClassT
0861 , A0 , A1 , A2 , A3 , A4 , A5 , A6
0862 >::make(
0863 fp_type(f)
0864 , obj
0865 , a0 , a1 , a2 , a3 , a4 , a5 , a6
0866 );
0867 }
0868
0869
0870
0871
0872
0873
0874
0875 template <
0876 typename RT
0877 , typename ClassT
0878 , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7
0879 , typename ClassA
0880 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7
0881 >
0882 inline
0883 typename detail::expression::function_eval<
0884 detail::member_function_ptr<
0885 8
0886 , RT
0887 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7)
0888 >
0889 , ClassA
0890 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7
0891 >::type const
0892 bind(
0893 RT(ClassT::*f)(T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7)
0894 , ClassA const & obj
0895 , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7
0896 )
0897 {
0898 typedef detail::member_function_ptr<
0899 8
0900 , RT
0901 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7)
0902 > fp_type;
0903 return
0904 detail::expression::function_eval<
0905 fp_type
0906 , ClassA
0907 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7
0908 >::make(
0909 fp_type(f)
0910 , obj
0911 , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7
0912 );
0913 }
0914 template <
0915 typename RT
0916 , typename ClassT
0917 , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7
0918 , typename ClassA
0919 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7
0920 >
0921 inline
0922 typename detail::expression::function_eval<
0923 detail::member_function_ptr<
0924 8
0925 , RT
0926 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const
0927 >
0928 , ClassA
0929 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7
0930 >::type const
0931 bind(
0932 RT(ClassT::*f)(T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const
0933 , ClassA const & obj
0934 , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7
0935 )
0936 {
0937 typedef detail::member_function_ptr<
0938 8
0939 , RT
0940 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const
0941 > fp_type;
0942 return
0943 detail::expression::function_eval<
0944 fp_type
0945 , ClassA
0946 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7
0947 >::make(
0948 fp_type(f)
0949 , obj
0950 , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7
0951 );
0952 }
0953 template <
0954 typename RT
0955 , typename ClassT
0956 , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7
0957 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7
0958 >
0959 inline
0960 typename detail::expression::function_eval<
0961 detail::member_function_ptr<
0962 8
0963 , RT
0964 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7)
0965 >
0966 , ClassT
0967 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7
0968 >::type const
0969 bind(
0970 RT(ClassT::*f)(T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7)
0971 , ClassT & obj
0972 , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7
0973 )
0974 {
0975 typedef detail::member_function_ptr<
0976 8
0977 , RT
0978 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7)
0979 > fp_type;
0980 return
0981 detail::expression::function_eval<
0982 fp_type
0983 , ClassT
0984 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7
0985 >::make(
0986 fp_type(f)
0987 , obj
0988 , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7
0989 );
0990 }
0991
0992
0993
0994
0995
0996
0997
0998 template <
0999 typename RT
1000 , typename ClassT
1001 , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8
1002 , typename ClassA
1003 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8
1004 >
1005 inline
1006 typename detail::expression::function_eval<
1007 detail::member_function_ptr<
1008 9
1009 , RT
1010 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8)
1011 >
1012 , ClassA
1013 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8
1014 >::type const
1015 bind(
1016 RT(ClassT::*f)(T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8)
1017 , ClassA const & obj
1018 , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8
1019 )
1020 {
1021 typedef detail::member_function_ptr<
1022 9
1023 , RT
1024 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8)
1025 > fp_type;
1026 return
1027 detail::expression::function_eval<
1028 fp_type
1029 , ClassA
1030 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8
1031 >::make(
1032 fp_type(f)
1033 , obj
1034 , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8
1035 );
1036 }
1037 template <
1038 typename RT
1039 , typename ClassT
1040 , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8
1041 , typename ClassA
1042 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8
1043 >
1044 inline
1045 typename detail::expression::function_eval<
1046 detail::member_function_ptr<
1047 9
1048 , RT
1049 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const
1050 >
1051 , ClassA
1052 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8
1053 >::type const
1054 bind(
1055 RT(ClassT::*f)(T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const
1056 , ClassA const & obj
1057 , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8
1058 )
1059 {
1060 typedef detail::member_function_ptr<
1061 9
1062 , RT
1063 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const
1064 > fp_type;
1065 return
1066 detail::expression::function_eval<
1067 fp_type
1068 , ClassA
1069 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8
1070 >::make(
1071 fp_type(f)
1072 , obj
1073 , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8
1074 );
1075 }
1076 template <
1077 typename RT
1078 , typename ClassT
1079 , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8
1080 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8
1081 >
1082 inline
1083 typename detail::expression::function_eval<
1084 detail::member_function_ptr<
1085 9
1086 , RT
1087 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8)
1088 >
1089 , ClassT
1090 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8
1091 >::type const
1092 bind(
1093 RT(ClassT::*f)(T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8)
1094 , ClassT & obj
1095 , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8
1096 )
1097 {
1098 typedef detail::member_function_ptr<
1099 9
1100 , RT
1101 , RT(ClassT::*)(T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8)
1102 > fp_type;
1103 return
1104 detail::expression::function_eval<
1105 fp_type
1106 , ClassT
1107 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8
1108 >::make(
1109 fp_type(f)
1110 , obj
1111 , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8
1112 );
1113 }