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