Lines Matching refs:p1
217 template <typename R, typename T, typename Method, typename P1>
219 const Tuple1<P1>& p,
223 template <typename R, typename Function, typename P1>
225 const Tuple1<P1>& p,
231 template <typename R, typename T, typename Method, typename P1, typename C1>
233 const Tuple1<P1>& p,
237 template <typename R, typename Function, typename P1, typename C1>
239 const Tuple1<P1>& p,
245 template <typename R, typename T, typename Method, typename P1, typename C1,
248 const Tuple1<P1>& p,
252 template <typename R, typename Function, typename P1, typename C1, typename C2>
254 const Tuple1<P1>& p,
260 template <typename R, typename T, typename Method, typename P1, typename C1,
263 const Tuple1<P1>& p,
267 template <typename R, typename Function, typename P1, typename C1, typename C2,
270 const Tuple1<P1>& p,
276 template <typename R, typename T, typename Method, typename P1, typename C1,
279 const Tuple1<P1>& p,
283 template <typename R, typename Function, typename P1, typename C1, typename C2,
286 const Tuple1<P1>& p,
292 template <typename R, typename T, typename Method, typename P1, typename C1,
295 const Tuple1<P1>& p,
299 template <typename R, typename Function, typename P1, typename C1, typename C2,
302 const Tuple1<P1>& p,
308 template <typename R, typename T, typename Method, typename P1, typename C1,
311 const Tuple1<P1>& p,
315 template <typename R, typename Function, typename P1, typename C1, typename C2,
318 const Tuple1<P1>& p,
324 template <typename R, typename T, typename Method, typename P1, typename P2>
326 const Tuple2<P1, P2>& p,
330 template <typename R, typename Function, typename P1, typename P2>
332 const Tuple2<P1, P2>& p,
338 template <typename R, typename T, typename Method, typename P1, typename P2,
341 const Tuple2<P1, P2>& p,
345 template <typename R, typename Function, typename P1, typename P2, typename C1>
347 const Tuple2<P1, P2>& p,
353 template <typename R, typename T, typename Method, typename P1, typename P2,
356 const Tuple2<P1, P2>& p,
360 template <typename R, typename Function, typename P1, typename P2, typename C1,
363 const Tuple2<P1, P2>& p,
369 template <typename R, typename T, typename Method, typename P1, typename P2,
372 const Tuple2<P1, P2>& p,
376 template <typename R, typename Function, typename P1, typename P2, typename C1,
379 const Tuple2<P1, P2>& p,
385 template <typename R, typename T, typename Method, typename P1, typename P2,
388 const Tuple2<P1, P2>& p,
392 template <typename R, typename Function, typename P1, typename P2, typename C1,
395 const Tuple2<P1, P2>& p,
401 template <typename R, typename T, typename Method, typename P1, typename P2,
404 const Tuple2<P1, P2>& p,
408 template <typename R, typename Function, typename P1, typename P2, typename C1,
411 const Tuple2<P1, P2>& p,
417 template <typename R, typename T, typename Method, typename P1, typename P2,
421 const Tuple2<P1, P2>& p,
425 template <typename R, typename Function, typename P1, typename P2, typename C1,
428 const Tuple2<P1, P2>& p,
434 template <typename R, typename T, typename Method, typename P1, typename P2,
437 const Tuple3<P1, P2, P3>& p,
441 template <typename R, typename Function, typename P1, typename P2, typename P3>
443 const Tuple3<P1, P2, P3>& p,
449 template <typename R, typename T, typename Method, typename P1, typename P2,
452 const Tuple3<P1, P2, P3>& p,
456 template <typename R, typename Function, typename P1, typename P2, typename P3,
459 const Tuple3<P1, P2, P3>& p,
465 template <typename R, typename T, typename Method, typename P1, typename P2,
468 const Tuple3<P1, P2, P3>& p,
472 template <typename R, typename Function, typename P1, typename P2, typename P3,
475 const Tuple3<P1, P2, P3>& p,
481 template <typename R, typename T, typename Method, typename P1, typename P2,
484 const Tuple3<P1, P2, P3>& p,
488 template <typename R, typename Function, typename P1, typename P2, typename P3,
491 const Tuple3<P1, P2, P3>& p,
497 template <typename R, typename T, typename Method, typename P1, typename P2,
500 const Tuple3<P1, P2, P3>& p,
504 template <typename R, typename Function, typename P1, typename P2, typename P3,
507 const Tuple3<P1, P2, P3>& p,
513 template <typename R, typename T, typename Method, typename P1, typename P2,
517 const Tuple3<P1, P2, P3>& p,
521 template <typename R, typename Function, typename P1, typename P2, typename P3,
524 const Tuple3<P1, P2, P3>& p,
530 template <typename R, typename T, typename Method, typename P1, typename P2,
534 const Tuple3<P1, P2, P3>& p,
538 template <typename R, typename Function, typename P1, typename P2, typename P3,
542 const Tuple3<P1, P2, P3>& p,
548 template <typename R, typename T, typename Method, typename P1, typename P2,
551 const Tuple4<P1, P2, P3, P4>& p,
555 template <typename R, typename Function, typename P1, typename P2, typename P3,
558 const Tuple4<P1, P2, P3, P4>& p,
564 template <typename R, typename T, typename Method, typename P1, typename P2,
567 const Tuple4<P1, P2, P3, P4>& p,
571 template <typename R, typename Function, typename P1, typename P2, typename P3,
574 const Tuple4<P1, P2, P3, P4>& p,
580 template <typename R, typename T, typename Method, typename P1, typename P2,
583 const Tuple4<P1, P2, P3, P4>& p,
587 template <typename R, typename Function, typename P1, typename P2, typename P3,
590 const Tuple4<P1, P2, P3, P4>& p,
596 template <typename R, typename T, typename Method, typename P1, typename P2,
599 const Tuple4<P1, P2, P3, P4>& p,
603 template <typename R, typename Function, typename P1, typename P2, typename P3,
606 const Tuple4<P1, P2, P3, P4>& p,
612 template <typename R, typename T, typename Method, typename P1, typename P2,
616 const Tuple4<P1, P2, P3, P4>& p,
620 template <typename R, typename Function, typename P1, typename P2, typename P3,
623 const Tuple4<P1, P2, P3, P4>& p,
629 template <typename R, typename T, typename Method, typename P1, typename P2,
633 const Tuple4<P1, P2, P3, P4>& p,
637 template <typename R, typename Function, typename P1, typename P2, typename P3,
641 const Tuple4<P1, P2, P3, P4>& p,
647 template <typename R, typename T, typename Method, typename P1, typename P2,
651 const Tuple4<P1, P2, P3, P4>& p,
655 template <typename R, typename Function, typename P1, typename P2, typename P3,
659 const Tuple4<P1, P2, P3, P4>& p,
665 template <typename R, typename T, typename Method, typename P1, typename P2,
668 const Tuple5<P1, P2, P3, P4, P5>& p,
672 template <typename R, typename Function, typename P1, typename P2, typename P3,
675 const Tuple5<P1, P2, P3, P4, P5>& p,
681 template <typename R, typename T, typename Method, typename P1, typename P2,
684 const Tuple5<P1, P2, P3, P4, P5>& p,
688 template <typename R, typename Function, typename P1, typename P2, typename P3,
691 const Tuple5<P1, P2, P3, P4, P5>& p,
697 template <typename R, typename T, typename Method, typename P1, typename P2,
700 const Tuple5<P1, P2, P3, P4, P5>& p,
704 template <typename R, typename Function, typename P1, typename P2, typename P3,
707 const Tuple5<P1, P2, P3, P4, P5>& p,
713 template <typename R, typename T, typename Method, typename P1, typename P2,
717 const Tuple5<P1, P2, P3, P4, P5>& p,
721 template <typename R, typename Function, typename P1, typename P2, typename P3,
724 const Tuple5<P1, P2, P3, P4, P5>& p,
730 template <typename R, typename T, typename Method, typename P1, typename P2,
734 const Tuple5<P1, P2, P3, P4, P5>& p,
738 template <typename R, typename Function, typename P1, typename P2, typename P3,
742 const Tuple5<P1, P2, P3, P4, P5>& p,
748 template <typename R, typename T, typename Method, typename P1, typename P2,
752 const Tuple5<P1, P2, P3, P4, P5>& p,
756 template <typename R, typename Function, typename P1, typename P2, typename P3,
760 const Tuple5<P1, P2, P3, P4, P5>& p,
766 template <typename R, typename T, typename Method, typename P1, typename P2,
770 const Tuple5<P1, P2, P3, P4, P5>& p,
774 template <typename R, typename Function, typename P1, typename P2, typename P3,
778 const Tuple5<P1, P2, P3, P4, P5>& p,
784 template <typename R, typename T, typename Method, typename P1, typename P2,
787 const Tuple6<P1, P2, P3, P4, P5, P6>& p,
791 template <typename R, typename Function, typename P1, typename P2, typename P3,
794 const Tuple6<P1, P2, P3, P4, P5, P6>& p,
800 template <typename R, typename T, typename Method, typename P1, typename P2,
803 const Tuple6<P1, P2, P3, P4, P5, P6>& p,
807 template <typename R, typename Function, typename P1, typename P2, typename P3,
810 const Tuple6<P1, P2, P3, P4, P5, P6>& p,
816 template <typename R, typename T, typename Method, typename P1, typename P2,
820 const Tuple6<P1, P2, P3, P4, P5, P6>& p,
824 template <typename R, typename Function, typename P1, typename P2, typename P3,
827 const Tuple6<P1, P2, P3, P4, P5, P6>& p,
833 template <typename R, typename T, typename Method, typename P1, typename P2,
837 const Tuple6<P1, P2, P3, P4, P5, P6>& p,
841 template <typename R, typename Function, typename P1, typename P2, typename P3,
845 const Tuple6<P1, P2, P3, P4, P5, P6>& p,
851 template <typename R, typename T, typename Method, typename P1, typename P2,
855 const Tuple6<P1, P2, P3, P4, P5, P6>& p,
859 template <typename R, typename Function, typename P1, typename P2, typename P3,
863 const Tuple6<P1, P2, P3, P4, P5, P6>& p,
869 template <typename R, typename T, typename Method, typename P1, typename P2,
873 const Tuple6<P1, P2, P3, P4, P5, P6>& p,
877 template <typename R, typename Function, typename P1, typename P2, typename P3,
881 const Tuple6<P1, P2, P3, P4, P5, P6>& p,
887 template <typename R, typename T, typename Method, typename P1, typename P2,
891 const Tuple6<P1, P2, P3, P4, P5, P6>& p,
895 template <typename R, typename Function, typename P1, typename P2, typename P3,
899 const Tuple6<P1, P2, P3, P4, P5, P6>& p,
1501 template <typename R, typename T, typename U, typename P1, typename X1>
1503 CreateFunctor(T* obj, R (U::*method)(X1), const P1& p1) {
1506 Tuple1<P1>, Tuple0>
1507 (obj, method, MakeTuple(p1));
1511 template <typename R, typename P1, typename X1>
1513 CreateFunctor(R (*function)(X1), const P1& p1) {
1516 Tuple1<P1>, Tuple0>
1517 (function, MakeTuple(p1));
1522 template <typename R, typename T, typename U, typename P1, typename X1>
1524 CreateFunctor(T** obj, R (U::*method)(X1), const P1& p1) {
1527 Tuple1<P1>, Tuple0>
1528 (obj, method, MakeTuple(p1));
1534 template <typename R, typename T, typename U, typename P1, typename X1>
1536 CreateFunctor(T* obj, R (__stdcall U::*method)(X1), const P1& p1) {
1539 Tuple1<P1>, Tuple0>
1540 (obj, method, MakeTuple(p1));
1544 template <typename R, typename P1, typename X1>
1546 CreateFunctor(R (__stdcall *function)(X1), const P1& p1) {
1549 Tuple1<P1>, Tuple0>
1550 (function, MakeTuple(p1));
1554 template <typename R, typename T, typename U, typename P1, typename X1>
1556 CreateFunctor(T** obj, R (__stdcall U::*method)(X1), const P1& p1) {
1559 Tuple1<P1>, Tuple0>
1560 (obj, method, MakeTuple(p1));
1567 template <typename R, typename T, typename U, typename P1, typename A1,
1570 CreateFunctor(T* obj, R (U::*method)(X1, A1), const P1& p1) {
1573 Tuple1<P1>, Tuple1<A1> >
1574 (obj, method, MakeTuple(p1));
1578 template <typename R, typename P1, typename A1, typename X1>
1580 CreateFunctor(R (*function)(X1, A1), const P1& p1) {
1583 Tuple1<P1>, Tuple1<A1> >
1584 (function, MakeTuple(p1));
1589 template <typename R, typename T, typename U, typename P1, typename A1,
1592 CreateFunctor(T** obj, R (U::*method)(X1, A1), const P1& p1) {
1595 Tuple1<P1>, Tuple1<A1> >
1596 (obj, method, MakeTuple(p1));
1602 template <typename R, typename T, typename U, typename P1, typename A1,
1605 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1), const P1& p1) {
1608 Tuple1<P1>, Tuple1<A1> >
1609 (obj, method, MakeTuple(p1));
1613 template <typename R, typename P1, typename A1, typename X1>
1615 CreateFunctor(R (__stdcall *function)(X1, A1), const P1& p1) {
1618 Tuple1<P1>, Tuple1<A1> >
1619 (function, MakeTuple(p1));
1623 template <typename R, typename T, typename U, typename P1, typename A1,
1626 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1), const P1& p1) {
1629 Tuple1<P1>, Tuple1<A1> >
1630 (obj, method, MakeTuple(p1));
1637 template <typename R, typename T, typename U, typename P1, typename A1,
1640 CreateFunctor(T* obj, R (U::*method)(X1, A1, A2), const P1& p1) {
1643 Tuple1<P1>, Tuple2<A1, A2> >
1644 (obj, method, MakeTuple(p1));
1648 template <typename R, typename P1, typename A1, typename A2, typename X1>
1650 CreateFunctor(R (*function)(X1, A1, A2), const P1& p1) {
1653 Tuple1<P1>, Tuple2<A1, A2> >
1654 (function, MakeTuple(p1));
1659 template <typename R, typename T, typename U, typename P1, typename A1,
1662 CreateFunctor(T** obj, R (U::*method)(X1, A1, A2), const P1& p1) {
1665 Tuple1<P1>, Tuple2<A1, A2> >
1666 (obj, method, MakeTuple(p1));
1672 template <typename R, typename T, typename U, typename P1, typename A1,
1675 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1, A2), const P1& p1) {
1678 Tuple1<P1>, Tuple2<A1, A2> >
1679 (obj, method, MakeTuple(p1));
1683 template <typename R, typename P1, typename A1, typename A2, typename X1>
1685 CreateFunctor(R (__stdcall *function)(X1, A1, A2), const P1& p1) {
1688 Tuple1<P1>, Tuple2<A1, A2> >
1689 (function, MakeTuple(p1));
1693 template <typename R, typename T, typename U, typename P1, typename A1,
1696 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1, A2), const P1& p1) {
1699 Tuple1<P1>, Tuple2<A1, A2> >
1700 (obj, method, MakeTuple(p1));
1707 template <typename R, typename T, typename U, typename P1, typename A1,
1710 CreateFunctor(T* obj, R (U::*method)(X1, A1, A2, A3), const P1& p1) {
1713 Tuple1<P1>, Tuple3<A1, A2, A3> >
1714 (obj, method, MakeTuple(p1));
1718 template <typename R, typename P1, typename A1, typename A2, typename A3,
1721 CreateFunctor(R (*function)(X1, A1, A2, A3), const P1& p1) {
1724 Tuple1<P1>, Tuple3<A1, A2, A3> >
1725 (function, MakeTuple(p1));
1730 template <typename R, typename T, typename U, typename P1, typename A1,
1733 CreateFunctor(T** obj, R (U::*method)(X1, A1, A2, A3), const P1& p1) {
1736 Tuple1<P1>, Tuple3<A1, A2, A3> >
1737 (obj, method, MakeTuple(p1));
1743 template <typename R, typename T, typename U, typename P1, typename A1,
1746 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, A1, A2, A3), const P1& p1) {
1749 Tuple1<P1>, Tuple3<A1, A2, A3> >
1750 (obj, method, MakeTuple(p1));
1754 template <typename R, typename P1, typename A1, typename A2, typename A3,
1757 CreateFunctor(R (__stdcall *function)(X1, A1, A2, A3), const P1& p1) {
1760 Tuple1<P1>, Tuple3<A1, A2, A3> >
1761 (function, MakeTuple(p1));
1765 template <typename R, typename T, typename U, typename P1, typename A1,
1768 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, A1, A2, A3), const P1& p1) {
1771 Tuple1<P1>, Tuple3<A1, A2, A3> >
1772 (obj, method, MakeTuple(p1));
1779 template <typename R, typename T, typename U, typename P1, typename A1,
1782 CreateFunctor(T* obj, R (U::*method)(X1, A1, A2, A3, A4), const P1& p1) {
1785 Tuple1<P1>, Tuple4<A1, A2, A3, A4> >
1786 (obj, method, MakeTuple(p1));
1790 template <typename R, typename P1, typename A1, typename A2, typename A3,
1793 CreateFunctor(R (*function)(X1, A1, A2, A3, A4), const P1& p1) {
1796 Tuple1<P1>, Tuple4<A1, A2, A3, A4> >
1797 (function, MakeTuple(p1));
1802 template <typename R, typename T, typename U, typename P1, typename A1,
1805 CreateFunctor(T** obj, R (U::*method)(X1, A1, A2, A3, A4), const P1& p1) {
1808 Tuple1<P1>, Tuple4<A1, A2, A3, A4> >
1809 (obj, method, MakeTuple(p1));
1815 template <typename R, typename T, typename U, typename P1, typename A1,
1819 const P1& p1) {
1822 Tuple1<P1>, Tuple4<A1, A2, A3, A4> >
1823 (obj, method, MakeTuple(p1));
1827 template <typename R, typename P1, typename A1, typename A2, typename A3,
1830 CreateFunctor(R (__stdcall *function)(X1, A1, A2, A3, A4), const P1& p1) {
1833 Tuple1<P1>, Tuple4<A1, A2, A3, A4> >
1834 (function, MakeTuple(p1));
1838 template <typename R, typename T, typename U, typename P1, typename A1,
1842 const P1& p1) {
1845 Tuple1<P1>, Tuple4<A1, A2, A3, A4> >
1846 (obj, method, MakeTuple(p1));
1853 template <typename R, typename T, typename U, typename P1, typename A1,
1856 CreateFunctor(T* obj, R (U::*method)(X1, A1, A2, A3, A4, A5), const P1& p1) {
1859 Tuple1<P1>, Tuple5<A1, A2, A3, A4, A5> >
1860 (obj, method, MakeTuple(p1));
1864 template <typename R, typename P1, typename A1, typename A2, typename A3,
1867 CreateFunctor(R (*function)(X1, A1, A2, A3, A4, A5), const P1& p1) {
1870 Tuple1<P1>, Tuple5<A1, A2, A3, A4, A5> >
1871 (function, MakeTuple(p1));
1876 template <typename R, typename T, typename U, typename P1, typename A1,
1879 CreateFunctor(T** obj, R (U::*method)(X1, A1, A2, A3, A4, A5), const P1& p1) {
1882 Tuple1<P1>, Tuple5<A1, A2, A3, A4, A5> >
1883 (obj, method, MakeTuple(p1));
1889 template <typename R, typename T, typename U, typename P1, typename A1,
1893 const P1& p1) {
1896 Tuple1<P1>, Tuple5<A1, A2, A3, A4, A5> >
1897 (obj, method, MakeTuple(p1));
1901 template <typename R, typename P1, typename A1, typename A2, typename A3,
1904 CreateFunctor(R (__stdcall *function)(X1, A1, A2, A3, A4, A5), const P1& p1) {
1907 Tuple1<P1>, Tuple5<A1, A2, A3, A4, A5> >
1908 (function, MakeTuple(p1));
1912 template <typename R, typename T, typename U, typename P1, typename A1,
1916 const P1& p1) {
1919 Tuple1<P1>, Tuple5<A1, A2, A3, A4, A5> >
1920 (obj, method, MakeTuple(p1));
1927 template <typename R, typename T, typename U, typename P1, typename A1,
1932 const P1& p1) {
1935 Tuple1<P1>, Tuple6<A1, A2, A3, A4, A5, A6> >
1936 (obj, method, MakeTuple(p1));
1940 template <typename R, typename P1, typename A1, typename A2, typename A3,
1943 CreateFunctor(R (*function)(X1, A1, A2, A3, A4, A5, A6), const P1& p1) {
1946 Tuple1<P1>, Tuple6<A1, A2, A3, A4, A5, A6> >
1947 (function, MakeTuple(p1));
1952 template <typename R, typename T, typename U, typename P1, typename A1,
1957 const P1& p1) {
1960 Tuple1<P1
1961 (obj, method, MakeTuple(p1));
1967 template <typename R, typename T, typename U, typename P1, typename A1,
1972 const P1& p1) {
1975 Tuple1<P1>, Tuple6<A1, A2, A3, A4, A5, A6> >
1976 (obj, method, MakeTuple(p1));
1980 template <typename R, typename P1, typename A1, typename A2, typename A3,
1984 const P1& p1) {
1987 Tuple1<P1>, Tuple6<A1, A2, A3, A4, A5, A6> >
1988 (function, MakeTuple(p1));
1992 template <typename R, typename T, typename U, typename P1, typename A1,
1997 const P1& p1) {
2000 Tuple1<P1>, Tuple6<A1, A2, A3, A4, A5, A6> >
2001 (obj, method, MakeTuple(p1));
2008 template <typename R, typename T, typename U, typename P1, typename P2,
2011 CreateFunctor(T* obj, R (U::*method)(X1, X2), const P1& p1, const P2& p2) {
2014 Tuple2<P1, P2>, Tuple0>
2015 (obj, method, MakeTuple(p1, p2));
2019 template <typename R, typename P1, typename P2, typename X1, typename X2>
2021 CreateFunctor(R (*function)(X1, X2), const P1& p1, const P2& p2) {
2024 Tuple2<P1, P2>, Tuple0>
2025 (function, MakeTuple(p1, p2));
2030 template <typename R, typename T, typename U, typename P1, typename P2,
2033 CreateFunctor(T** obj, R (U::*method)(X1, X2), const P1& p1, const P2& p2) {
2036 Tuple2<P1, P2>, Tuple0>
2037 (obj, method, MakeTuple(p1, p2));
2043 template <typename R, typename T, typename U, typename P1, typename P2,
2046 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2), const P1& p1,
2050 Tuple2<P1, P2>, Tuple0>
2051 (obj, method, MakeTuple(p1, p2));
2055 template <typename R, typename P1, typename P2, typename X1, typename X2>
2057 CreateFunctor(R (__stdcall *function)(X1, X2), const P1& p1, const P2& p2) {
2060 Tuple2<P1, P2>, Tuple0>
2061 (function, MakeTuple(p1, p2));
2065 template <typename R, typename T, typename U, typename P1, typename P2,
2068 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2), const P1& p1,
2072 Tuple2<P1, P2>, Tuple0>
2073 (obj, method, MakeTuple(p1, p2));
2080 template <typename R, typename T, typename U, typename P1, typename P2,
2083 CreateFunctor(T* obj, R (U::*method)(X1, X2, A1), const P1& p1, const P2& p2) {
2086 Tuple2<P1, P2>, Tuple1<A1> >
2087 (obj, method, MakeTuple(p1, p2));
2091 template <typename R, typename P1, typename P2, typename A1, typename X1,
2094 CreateFunctor(R (*function)(X1, X2, A1), const P1& p1, const P2& p2) {
2097 Tuple2<P1, P2>, Tuple1<A1> >
2098 (function, MakeTuple(p1, p2));
2103 template <typename R, typename T, typename U, typename P1, typename P2,
2106 CreateFunctor(T** obj, R (U::*method)(X1, X2, A1), const P1& p1, const P2& p2) {
2109 Tuple2<P1, P2>, Tuple1<A1> >
2110 (obj, method, MakeTuple(p1, p2));
2116 template <typename R, typename T, typename U, typename P1, typename P2,
2119 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1), const P1& p1,
2123 Tuple2<P1, P2>, Tuple1<A1> >
2124 (obj, method, MakeTuple(p1, p2));
2128 template <typename R, typename P1, typename P2, typename A1, typename X1,
2131 CreateFunctor(R (__stdcall *function)(X1, X2, A1), const P1& p1,
2135 Tuple2<P1, P2>, Tuple1<A1> >
2136 (function, MakeTuple(p1, p2));
2140 template <typename R, typename T, typename U, typename P1, typename P2,
2143 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1), const P1& p1,
2147 Tuple2<P1, P2>, Tuple1<A1> >
2148 (obj, method, MakeTuple(p1, p2));
2155 template <typename R, typename T, typename U, typename P1, typename P2,
2158 CreateFunctor(T* obj, R (U::*method)(X1, X2, A1, A2), const P1& p1,
2162 Tuple2<P1, P2>, Tuple2<A1, A2> >
2163 (obj, method, MakeTuple(p1, p2));
2167 template <typename R, typename P1, typename P2, typename A1, typename A2,
2170 CreateFunctor(R (*function)(X1, X2, A1, A2), const P1& p1, const P2& p2) {
2173 Tuple2<P1, P2>, Tuple2<A1, A2> >
2174 (function, MakeTuple(p1, p2));
2179 template <typename R, typename T, typename U, typename P1, typename P2,
2182 CreateFunctor(T** obj, R (U::*method)(X1, X2, A1, A2), const P1& p1,
2186 Tuple2<P1, P2>, Tuple2<A1, A2> >
2187 (obj, method, MakeTuple(p1, p2));
2193 template <typename R, typename T, typename U, typename P1, typename P2,
2196 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, A1, A2), const P1& p1,
2200 Tuple2<P1, P2>, Tuple2<A1, A2> >
2201 (obj, method, MakeTuple(p1, p2));
2205 template <typename R, typename P1, typename P2, typename A1, typename A2,
2208 CreateFunctor(R (__stdcall *function)(X1, X2, A1, A2), const P1& p1,
2212 Tuple2<P1, P2>, Tuple2<A1, A2> >
2213 (function, MakeTuple(p1, p2));
2217 template <typename R, typename T, typename U, typename P1, typename P2,
2220 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, A1, A2), const P1& p1,
2224 Tuple2<P1, P2>, Tuple2<A1, A2> >
2225 (obj, method, MakeTuple(p1, p2));
2232 template <typename R, typename T, typename U, typename P1, typename P2,
2235 CreateFunctor(T* obj, R (U::*method)(X1, X2, A1, A2, A3), const P1& p1,
2239 Tuple2<P1, P2>, Tuple3<A1, A2, A3> >
2240 (obj, method, MakeTuple(p1, p2));
2244 template <typename R, typename P1, typename P2, typename A1, typename A2,
2247 CreateFunctor(R (*function)(X1, X2, A1, A2, A3), const P1& p1, const P2& p2) {
2250 Tuple2<P1, P2>, Tuple3<A1, A2, A3> >
2251 (function, MakeTuple(p1, p2));
2256 template <typename R, typename T, typename U, typename P1, typename P2,
2259 CreateFunctor(T** obj, R (U::*method)(X1, X2, A1, A2, A3), const P1& p1,
2263 Tuple2<P1, P2>, Tuple3<A1, A2, A3> >
2264 (obj, method, MakeTuple(p1, p2));
2270 template <typename R, typename T, typename U, typename P1, typename P2,
2274 const P1& p1, const P2& p2) {
2277 Tuple2<P1, P2>, Tuple3<A1, A2, A3> >
2278 (obj, method, MakeTuple(p1, p2));
2282 template <typename R, typename P1, typename P2, typename A1, typename A2,
2285 CreateFunctor(R (__stdcall *function)(X1, X2, A1, A2, A3), const P1& p1,
2289 Tuple2<P1, P2>, Tuple3<A1, A2, A3> >
2290 (function, MakeTuple(p1, p2));
2294 template <typename R, typename T, typename U, typename P1, typename P2,
2298 const P1& p1, const P2& p2) {
2301 Tuple2<P1, P2>, Tuple3<A1, A2, A3> >
2302 (obj, method, MakeTuple(p1, p2));
2309 template <typename R, typename T, typename U, typename P1, typename P2,
2313 CreateFunctor(T* obj, R (U::*method)(X1, X2, A1, A2, A3, A4), const P1& p1,
2317 Tuple2<P1, P2>, Tuple4<A1, A2, A3, A4> >
2318 (obj, method, MakeTuple(p1, p2));
2322 template <typename R, typename P1, typename P2, typename A1, typename A2,
2325 CreateFunctor(R (*function)(X1, X2, A1, A2, A3, A4), const P1& p1,
2329 Tuple2<P1, P2>, Tuple4<A1, A2, A3, A4> >
2330 (function, MakeTuple(p1, p2));
2335 template <typename R, typename T, typename U, typename P1, typename P2,
2339 CreateFunctor(T** obj, R (U::*method)(X1, X2, A1, A2, A3, A4), const P1& p1,
2343 Tuple2<P1, P2>, Tuple4<A1, A2, A3, A4> >
2344 (obj, method, MakeTuple(p1, p2));
2350 template <typename R, typename T, typename U, typename P1, typename P2,
2355 const P1& p1, const P2& p2) {
2358 Tuple2<P1, P2>, Tuple4<A1, A2, A3, A4> >
2359 (obj, method, MakeTuple(p1, p2));
2363 template <typename R, typename P1, typename P2, typename A1, typename A2,
2366 CreateFunctor(R (__stdcall *function)(X1, X2, A1, A2, A3, A4), const P1& p1,
2370 Tuple2<P1, P2>, Tuple4<A1, A2, A3, A4> >
2371 (function, MakeTuple(p1, p2));
2375 template <typename R, typename T, typename U, typename P1, typename P2,
2380 const P1& p1, const P2& p2) {
2383 Tuple2<P1, P2>, Tuple4<A1, A2, A3, A4> >
2384 (obj, method, MakeTuple(p1, p2));
2391 template <typename R, typename T, typename U, typename P1, typename P2,
2395 CreateFunctor(T* obj, R (U::*method)(X1, X2, A1, A2, A3, A4, A5), const P1& p1,
2399 Tuple2<P1, P2>, Tuple5<A1, A2, A3, A4, A5> >
2400 (obj, method, MakeTuple(p1, p2));
2404 template <typename R, typename P1, typename P2, typename A1, typename A2,
2407 CreateFunctor(R (*function)(X1, X2, A1, A2, A3, A4, A5), const P1& p1,
2411 Tuple2<P1, P2>, Tuple5<A1, A2, A3, A4, A5> >
2412 (function, MakeTuple(p1, p2));
2417 template <typename R, typename T, typename U, typename P1, typename P2,
2421 CreateFunctor(T** obj, R (U::*method)(X1, X2, A1, A2, A3, A4, A5), const P1& p1,
2425 Tuple2<P1, P2>, Tuple5<A1, A2, A3, A4, A5> >
2426 (obj, method, MakeTuple(p1, p2));
2432 template <typename R, typename T, typename U, typename P1, typename P2,
2437 const P1& p1, const P2& p2) {
2440 Tuple2<P1, P2>, Tuple5<A1, A2, A3, A4, A5> >
2441 (obj, method, MakeTuple(p1, p2));
2445 template <typename R, typename P1, typename P2, typename A1, typename A2,
2448 CreateFunctor(R (__stdcall *function)(X1, X2, A1, A2, A3, A4, A5), const P1& p1,
2452 Tuple2<P1, P2>, Tuple5<A1, A2, A3, A4, A5> >
2453 (function, MakeTuple(p1, p2));
2457 template <typename R, typename T, typename U, typename P1, typename P2,
2462 const P1& p1, const P2& p2) {
2465 Tuple2<P1, P2>, Tuple5<A1, A2, A3, A4, A5> >
2466 (obj, method, MakeTuple(p1, p2));
2473 template <typename R, typename T, typename U, typename P1, typename P2,
2478 const P1& p1, const P2& p2) {
2481 Tuple2<P1, P2>, Tuple6<A1, A2, A3, A4, A5, A6> >
2482 (obj, method, MakeTuple(p1, p2));
2486 template <typename R, typename P1, typename P2, typename A1, typename A2,
2490 CreateFunctor(R (*function)(X1, X2, A1, A2, A3, A4, A5, A6), const P1& p1,
2494 Tuple2<P1, P2>, Tuple6<A1, A2, A3, A4, A5, A6> >
2495 (function, MakeTuple(p1, p2));
2500 template <typename R, typename T, typename U, typename P1, typename P2,
2505 const P1& p1, const P2& p2) {
2508 Tuple2<P1, P2>, Tuple6<A1, A2, A3, A4, A5, A6> >
2509 (obj, method, MakeTuple(p1, p2));
2515 template <typename R, typename T, typename U, typename P1, typename P2,
2520 const P1& p1, const P2& p2) {
2523 Tuple2<P1, P2>, Tuple6<A1, A2, A3, A4, A5, A6> >
2524 (obj, method, MakeTuple(p1, p2));
2528 template <typename R, typename P1, typename P2, typename A1, typename A2,
2533 const P1& p1, const P2& p2) {
2536 Tuple2<P1, P2>, Tuple6<A1, A2, A3, A4, A5, A6> >
2537 (function, MakeTuple(p1, p2));
2541 template <typename R, typename T, typename U, typename P1, typename P2,
2546 const P1& p1, const P2& p2) {
2549 Tuple2<P1, P2>, Tuple6<A1, A2, A3, A4, A5, A6> >
2550 (obj, method, MakeTuple(p1, p2));
2557 template <typename R, typename T, typename U, typename P1, typename P2,
2560 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3), const P1& p1, const P2& p2,
2564 Tuple3<P1, P2, P3>, Tuple0>
2565 (obj, method, MakeTuple(p1, p2, p3));
2569 template <typename R, typename P1, typename P2, typename P3, typename X1,
2572 CreateFunctor(R (*function)(X1, X2, X3), const P1& p1, const P2& p2,
2576 Tuple3<P1, P2, P3>, Tuple0>
2577 (function, MakeTuple(p1, p2, p3));
2582 template <typename R, typename T, typename U, typename P1, typename P2,
2585 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3), const P1& p1, const P2& p2,
2589 Tuple3<P1, P2, P3>, Tuple0>
2590 (obj, method, MakeTuple(p1, p2, p3));
2596 template <typename R, typename T, typename U, typename P1, typename P2,
2599 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3), const P1& p1,
2603 Tuple3<P1, P2, P3>, Tuple0>
2604 (obj, method, MakeTuple(p1, p2, p3));
2608 template <typename R, typename P1, typename P2, typename P3, typename X1,
2611 CreateFunctor(R (__stdcall *function)(X1, X2, X3), const P1& p1, const P2& p2,
2615 Tuple3<P1, P2, P3>, Tuple0>
2616 (function, MakeTuple(p1, p2, p3));
2620 template <typename R, typename T, typename U, typename P1, typename P2,
2623 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3), const P1& p1,
2627 Tuple3<P1, P2, P3>, Tuple0>
2628 (obj, method, MakeTuple(p1, p2, p3));
2635 template <typename R, typename T, typename U, typename P1, typename P2,
2638 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, A1), const P1& p1,
2642 Tuple3<P1, P2, P3>, Tuple1<A1> >
2643 (obj, method, MakeTuple(p1, p2, p3));
2647 template <typename R, typename P1, typename P2, typename P3, typename A1,
2650 CreateFunctor(R (*function)(X1, X2, X3, A1), const P1& p1, const P2& p2,
2654 Tuple3<P1, P2, P3>, Tuple1<A1> >
2655 (function, MakeTuple(p1, p2, p3));
2660 template <typename R, typename T, typename U, typename P1, typename P2,
2663 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, A1), const P1& p1,
2667 Tuple3<P1, P2, P3>, Tuple1<A1> >
2668 (obj, method, MakeTuple(p1, p2, p3));
2674 template <typename R, typename T, typename U, typename P1, typename P2,
2677 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, A1), const P1& p1,
2681 Tuple3<P1, P2, P3>, Tuple1<A1> >
2682 (obj, method, MakeTuple(p1, p2, p3));
2686 template <typename R, typename P1, typename P2, typename P3, typename A1,
2689 CreateFunctor(R (__stdcall *function)(X1, X2, X3, A1), const P1& p1,
2693 Tuple3<P1, P2, P3>, Tuple1<A1> >
2694 (function, MakeTuple(p1, p2, p3));
2698 P1, typename P2,
2701 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, A1), const P1& p1,
2705 Tuple3<P1, P2, P3>, Tuple1<A1> >
2706 (obj, method, MakeTuple(p1, p2, p3));
2713 template <typename R, typename T, typename U, typename P1, typename P2,
2717 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, A1, A2), const P1& p1,
2721 Tuple3<P1, P2, P3>, Tuple2<A1, A2> >
2722 (obj, method, MakeTuple(p1, p2, p3));
2726 template <typename R, typename P1, typename P2, typename P3, typename A1,
2729 CreateFunctor(R (*function)(X1, X2, X3, A1, A2), const P1& p1, const P2& p2,
2733 Tuple3<P1, P2, P3>, Tuple2<A1, A2> >
2734 (function, MakeTuple(p1, p2, p3));
2739 template <typename R, typename T, typename U, typename P1, typename P2,
2743 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, A1, A2), const P1& p1,
2747 Tuple3<P1, P2, P3>, Tuple2<A1, A2> >
2748 (obj, method, MakeTuple(p1, p2, p3));
2754 template <typename R, typename T, typename U, typename P1, typename P2,
2759 const P1& p1, const P2& p2, const P3& p3) {
2762 Tuple3<P1, P2, P3>, Tuple2<A1, A2> >
2763 (obj, method, MakeTuple(p1, p2, p3));
2767 template <typename R, typename P1, typename P2, typename P3, typename A1,
2770 CreateFunctor(R (__stdcall *function)(X1, X2, X3, A1, A2), const P1& p1,
2774 Tuple3<P1, P2, P3>, Tuple2<A1, A2> >
2775 (function, MakeTuple(p1, p2, p3));
2779 template <typename R, typename T, typename U, typename P1, typename P2,
2784 const P1& p1, const P2& p2, const P3& p3) {
2787 Tuple3<P1, P2, P3>, Tuple2<A1, A2> >
2788 (obj, method, MakeTuple(p1, p2, p3));
2795 template <typename R, typename T, typename U, typename P1, typename P2,
2799 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, A1, A2, A3), const P1& p1,
2803 Tuple3<P1, P2, P3>, Tuple3<A1, A2, A3> >
2804 (obj, method, MakeTuple(p1, p2, p3));
2808 template <typename R, typename P1, typename P2, typename P3, typename A1,
2811 CreateFunctor(R (*function)(X1, X2, X3, A1, A2, A3), const P1& p1, const P2& p2,
2815 Tuple3<P1, P2, P3>, Tuple3<A1, A2, A3> >
2816 (function, MakeTuple(p1, p2, p3));
2821 template <typename R, typename T, typename U, typename P1, typename P2,
2825 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, A1, A2, A3), const P1& p1,
2829 Tuple3<P1, P2, P3>, Tuple3<A1, A2, A3> >
2830 (obj, method, MakeTuple(p1, p2, p3));
2836 template <typename R, typename T, typename U, typename P1, typename P2,
2841 const P1& p1, const P2& p2, const P3& p3) {
2844 Tuple3<P1, P2, P3>, Tuple3<A1, A2, A3> >
2845 (obj, method, MakeTuple(p1, p2, p3));
2849 template <typename R, typename P1, typename P2, typename P3, typename A1,
2852 CreateFunctor(R (__stdcall *function)(X1, X2, X3, A1, A2, A3), const P1& p1,
2856 Tuple3<P1, P2, P3>, Tuple3<A1, A2, A3> >
2857 (function, MakeTuple(p1, p2, p3));
2861 template <typename R, typename T, typename U, typename P1, typename P2,
2866 const P1& p1, const P2& p2, const P3& p3) {
2869 Tuple3<P1, P2, P3>, Tuple3<A1, A2, A3> >
2870 (obj, method, MakeTuple(p1, p2, p3));
2877 template <typename R, typename T, typename U, typename P1, typename P2,
2881 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, A1, A2, A3, A4), const P1& p1,
2885 Tuple3<P1, P2, P3>, Tuple4<A1, A2, A3, A4> >
2886 (obj, method, MakeTuple(p1, p2, p3));
2890 template <typename R, typename P1, typename P2, typename P3, typename A1,
2894 CreateFunctor(R (*function)(X1, X2, X3, A1, A2, A3, A4), const P1& p1,
2898 Tuple3<P1, P2, P3>, Tuple4<A1, A2, A3, A4> >
2899 (function, MakeTuple(p1, p2, p3));
2904 template <typename R, typename T, typename U, typename P1, typename P2,
2908 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, A1, A2, A3, A4), const P1& p1,
2912 Tuple3<P1, P2, P3>, Tuple4<A1, A2, A3, A4> >
2913 (obj, method, MakeTuple(p1, p2, p3));
2919 template <typename R, typename T, typename U, typename P1, typename P2,
2924 const P1& p1, const P2& p2, const P3& p3) {
2927 Tuple3<P1, P2, P3>, Tuple4<A1, A2, A3, A4> >
2928 (obj, method, MakeTuple(p1, p2, p3));
2932 template <typename R, typename P1, typename P2, typename P3, typename A1,
2936 CreateFunctor(R (__stdcall *function)(X1, X2, X3, A1, A2, A3, A4), const P1& p1,
2940 Tuple3<P1, P2, P3>, Tuple4<A1, A2, A3, A4> >
2941 (function, MakeTuple(p1, p2, p3));
2945 template <typename R, typename T, typename U, typename P1, typename P2,
2950 const P1& p1, const P2& p2, const P3& p3) {
2953 Tuple3<P1, P2, P3>, Tuple4<A1, A2, A3, A4> >
2954 (obj, method, MakeTuple(p1, p2, p3));
2961 template <typename R, typename T, typename U, typename P1, typename P2,
2966 const P1& p1, const P2& p2, const P3& p3) {
2969 Tuple3<P1, P2, P3>, Tuple5<A1, A2, A3, A4, A5> >
2970 (obj, method, MakeTuple(p1, p2, p3));
2974 template <typename R, typename P1, typename P2, typename P3, typename A1,
2978 CreateFunctor(R (*function)(X1, X2, X3, A1, A2, A3, A4, A5), const P1& p1,
2982 Tuple3<P1, P2, P3>, Tuple5<A1, A2, A3, A4, A5> >
2983 (function, MakeTuple(p1, p2, p3));
2988 template <typename R, typename T, typename U, typename P1, typename P2,
2993 const P1& p1, const P2& p2, const P3& p3) {
2996 Tuple3<P1, P2, P3>, Tuple5<A1, A2, A3, A4, A5> >
2997 (obj, method, MakeTuple(p1, p2, p3));
3003 template <typename R, typename T, typename U, typename P1, typename P2,
3008 const P1& p1, const P2& p2, const P3& p3) {
3011 Tuple3<P1, P2, P3>, Tuple5<A1, A2, A3, A4, A5> >
3012 (obj, method, MakeTuple(p1, p2, p3));
3016 template <typename R, typename P1, typename P2, typename P3, typename A1,
3021 const P1& p1, const P2& p2, const P3& p3) {
3024 Tuple3<P1, P2, P3>, Tuple5<A1, A2, A3, A4, A5> >
3025 (function, MakeTuple(p1, p2, p3));
3029 template <typename R, typename T, typename U, typename P1, typename P2,
3034 const P1& p1, const P2& p2, const P3& p3) {
3037 P1, P2, P3>, Tuple5<A1, A2, A3, A4, A5> >
3038 (obj, method, MakeTuple(p1, p2, p3));
3045 template <typename R, typename T, typename U, typename P1, typename P2,
3050 const P1& p1, const P2& p2, const P3& p3) {
3053 Tuple3<P1, P2, P3>, Tuple6<A1, A2, A3, A4, A5, A6> >
3054 (obj, method, MakeTuple(p1, p2, p3));
3058 template <typename R, typename P1, typename P2, typename P3, typename A1,
3062 CreateFunctor(R (*function)(X1, X2, X3, A1, A2, A3, A4, A5, A6), const P1& p1,
3066 Tuple3<P1, P2, P3>, Tuple6<A1, A2, A3, A4, A5, A6> >
3067 (function, MakeTuple(p1, p2, p3));
3072 template <typename R, typename T, typename U, typename P1, typename P2,
3077 const P1& p1, const P2& p2, const P3& p3) {
3080 Tuple3<P1, P2, P3>, Tuple6<A1, A2, A3, A4, A5, A6> >
3081 (obj, method, MakeTuple(p1, p2, p3));
3087 template <typename R, typename T, typename U, typename P1, typename P2,
3092 A6), const P1& p1, const P2& p2, const P3& p3) {
3095 Tuple3<P1, P2, P3>, Tuple6<A1, A2, A3, A4, A5, A6> >
3096 (obj, method, MakeTuple(p1, p2, p3));
3100 template <typename R, typename P1, typename P2, typename P3, typename A1,
3105 const P1& p1, const P2& p2, const P3& p3) {
3108 Tuple3<P1, P2, P3>, Tuple6<A1, A2, A3, A4, A5, A6> >
3109 (function, MakeTuple(p1, p2, p3));
3113 template <typename R, typename T, typename U, typename P1, typename P2,
3118 A6), const P1& p1, const P2& p2, const P3& p3) {
3121 Tuple3<P1, P2, P3>, Tuple6<A1, A2, A3, A4, A5, A6> >
3122 (obj, method, MakeTuple(p1, p2, p3));
3129 template <typename R, typename T, typename U, typename P1, typename P2,
3133 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4), const P1& p1,
3137 Tuple4<P1, P2, P3, P4>, Tuple0>
3138 (obj, method, MakeTuple(p1, p2, p3, p4));
3142 template <typename R, typename P1, typename P2, typename P3, typename P4,
3145 CreateFunctor(R (*function)(X1, X2, X3, X4), const P1& p1, const P2& p2,
3149 Tuple4<P1, P2, P3, P4>, Tuple0>
3150 (function, MakeTuple(p1, p2, p3, p4));
3155 template <typename R, typename T, typename U, typename P1, typename P2,
3159 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4), const P1& p1,
3163 Tuple4<P1, P2, P3, P4>, Tuple0>
3164 (obj, method, MakeTuple(p1, p2, p3, p4));
3170 template <typename R, typename T, typename U, typename P1, typename P2,
3174 CreateFunctor(T* obj, R (__stdcall U::*method)(X1, X2, X3, X4), const P1& p1,
3178 Tuple4<P1, P2, P3, P4>, Tuple0>
3179 (obj, method, MakeTuple(p1, p2, p3, p4));
3183 template <typename R, typename P1, typename P2, typename P3, typename P4,
3186 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4), const P1& p1,
3190 Tuple4<P1, P2, P3, P4>, Tuple0>
3191 (function, MakeTuple(p1, p2, p3, p4));
3195 template <typename R, typename T, typename U, typename P1, typename P2,
3199 CreateFunctor(T** obj, R (__stdcall U::*method)(X1, X2, X3, X4), const P1& p1,
3203 Tuple4<P1, P2, P3, P4>, Tuple0>
3204 (obj, method, MakeTuple(p1, p2, p3, p4));
3211 template <typename R, typename T, typename U, typename P1, typename P2,
3215 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, A1), const P1& p1,
3219 Tuple4<P1, P2, P3, P4>, Tuple1<A1> >
3220 (obj, method, MakeTuple(p1, p2, p3, p4));
3224 template <typename R, typename P1, typename P2, typename P3, typename P4,
3227 CreateFunctor(R (*function)(X1, X2, X3, X4, A1), const P1& p1, const P2& p2,
3231 Tuple4<P1, P2, P3, P4>, Tuple1<A1> >
3232 (function, MakeTuple(p1, p2, p3, p4));
3237 template <typename R, typename T, typename U, typename P1, typename P2,
3241 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, A1), const P1& p1,
3245 Tuple4<P1, P2, P3, P4>, Tuple1<A1> >
3246 (obj, method, MakeTuple(p1, p2, p3, p4));
3252 template <typename R, typename T, typename U, typename P1, typename P2,
3257 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3260 Tuple4<P1, P2, P3, P4>, Tuple1<A1> >
3261 (obj, method, MakeTuple(p1, p2, p3, p4));
3265 template <typename R, typename P1, typename P2, typename P3, typename P4,
3268 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, A1), const P1& p1,
3272 Tuple4<P1, P2, P3, P4>, Tuple1<A1> >
3273 (function, MakeTuple(p1, p2, p3, p4));
3277 template <typename R, typename T, typename U, typename P1, typename P2,
3282 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3285 Tuple4<P1, P2, P3, P4>, Tuple1<A1> >
3286 (obj, method, MakeTuple(p1, p2, p3, p4));
3293 template <typename R, typename T, typename U, typename P1, typename P2,
3297 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, A1, A2), const P1& p1,
3301 Tuple4<P1, P2, P3, P4>, Tuple2<A1, A2> >
3302 (obj, method, MakeTuple(p1, p2, p3, p4));
3306 template <typename R, typename P1, typename P2, typename P3, typename P4,
3310 CreateFunctor(R (*function)(X1, X2, X3, X4, A1, A2), const P1& p1, const P2& p2,
3314 Tuple4<P1, P2, P3, P4>, Tuple2<A1, A2> >
3315 (function, MakeTuple(p1, p2, p3, p4));
3320 template <typename R, typename T, typename U, typename P1, typename P2,
3324 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, A1, A2), const P1& p1,
3328 Tuple4<P1, P2, P3, P4>, Tuple2<A1, A2> >
3329 (obj, method, MakeTuple(p1, p2, p3, p4));
3335 template <typename R, typename T, typename U, typename P1, typename P2,
3340 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3343 Tuple4<P1, P2, P3, P4>, Tuple2<A1, A2> >
3344 (obj, method, MakeTuple(p1, p2, p3, p4));
3348 template <typename R, typename P1, typename P2, typename P3, typename P4,
3352 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, A1, A2), const P1& p1,
3356 Tuple4<P1, P2, P3, P4>, Tuple2<A1, A2> >
3357 (function, MakeTuple(p1, p2, p3, p4));
3361 template <typename R, typename T, typename U, typename P1, typename P2,
3366 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3369 Tuple4<P1, P2, P3, P4>, Tuple2<A1, A2> >
3370 (obj, method, MakeTuple(p1, p2, p3, p4));
3377 template <typename R, typename T, typename U, typename P1, typename P2,
3381 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3), const P1& p1,
3385 Tuple4<P1, P2, P3, P4>, Tuple3<A1, A2, A3> >
3386 (obj, method, MakeTuple(p1, p2, p3, p4));
3390 template <typename R, typename P1, typename P2, typename P3, typename P4,
3394 CreateFunctor(R (*function)(X1, X2, X3, X4, A1, A2, A3), const P1& p1,
3398 Tuple4<P1, P2, P3, P4>, Tuple3<A1, A2, A3> >
3399 (function, MakeTuple(p1, p2, p3, p4));
3404 template <typename R, typename T, typename U, typename P1, typename P2,
3408 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, A1, A2, A3), const P1& p1,
3412 Tuple4<P1, P2, P3, P4>, Tuple3<A1, A2, A3> >
3413 (obj, method, MakeTuple(p1, p2, p3, p4));
3419 template <typename R, typename T, typename U, typename P1, typename P2,
3424 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3427 Tuple4<P1, P2, P3, P4>, Tuple3<A1, A2, A3> >
3428 (obj, method, MakeTuple(p1, p2, p3, p4));
3432 template <typename R, typename P1, typename P2, typename P3, typename P4,
3436 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, A1, A2, A3), const P1& p1,
3440 Tuple4<P1, P2, P3, P4>, Tuple3<A1, A2, A3> >
3441 (function, MakeTuple(p1, p2, p3, p4));
3445 template <typename R, typename T, typename U, typename P1, typename P2,
3450 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3453 Tuple4<P1, P2, P3, P4>, Tuple3<A1, A2, A3> >
3454 (obj, method, MakeTuple(p1, p2, p3, p4));
3461 template <typename R, typename T, typename U, typename P1, typename P2,
3466 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3469 Tuple4<P1, P2, P3, P4>, Tuple4<A1, A2, A3, A4> >
3470 (obj, method, MakeTuple(p1, p2, p3, p4));
3474 template <typename R, typename P1, typename P2, typename P3, typename P4,
3478 CreateFunctor(R (*function)(X1, X2, X3, X4, A1, A2, A3, A4), const P1& p1,
3482 Tuple4<P1, P2, P3, P4>, Tuple4<A1, A2, A3, A4> >
3483 (function, MakeTuple(p1, p2, p3, p4));
3488 template <typename R, typename T, typename U, typename P1, typename P2,
3493 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3496 Tuple4<P1, P2, P3, P4>, Tuple4<A1, A2, A3, A4> >
3497 (obj, method, MakeTuple(p1, p2, p3, p4));
3503 template <typename R, typename T, typename U, typename P1, typename P2,
3508 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3511 Tuple4<P1, P2, P3, P4>, Tuple4<A1, A2, A3, A4> >
3512 (obj, method, MakeTuple(p1, p2, p3, p4));
3516 template <typename R, typename P1, typename P2, typename P3, typename P4,
3521 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3524 Tuple4<P1, P2, P3, P4>, Tuple4<A1, A2, A3, A4> >
3525 (function, MakeTuple(p1, p2, p3, p4));
3529 template <typename R, typename T, typename U, typename P1, typename P2,
3534 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3537 Tuple4<P1, P2, P3, P4>, Tuple4<A1, A2, A3, A4> >
3538 (obj, method, MakeTuple(p1, p2, p3, p4));
3545 template <typename R, typename T, typename U, typename P1, typename P2,
3551 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3554 Tuple4<P1, P2, P3, P4>, Tuple5<A1, A2, A3, A4, A5> >
3555 (obj, method, MakeTuple(p1, p2, p3, p4));
3559 template <typename R, typename P1, typename P2, typename P3, typename P4,
3563 CreateFunctor(R (*function)(X1, X2, X3, X4, A1, A2, A3, A4, A5), const P1& p1,
3567 Tuple4<P1, P2, P3, P4>, Tuple5<A1, A2, A3, A4, A5> >
3568 (function, MakeTuple(p1, p2, p3, p4));
3573 template <typename R, typename T, typename U, typename P1, typename P2,
3579 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3582 Tuple4<P1, P2, P3, P4>, Tuple5<A1, A2, A3, A4, A5> >
3583 (obj, method, MakeTuple(p1, p2, p3, p4));
3589 template <typename R, typename T, typename U, typename P1, typename P2,
3595 A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3598 Tuple4<P1, P2, P3, P4>, Tuple5<A1, A2, A3, A4, A5> >
3599 (obj, method, MakeTuple(p1, p2, p3, p4));
3603 template <typename R, typename P1, typename P2, typename P3, typename P4,
3608 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3611 Tuple4<P1, P2, P3, P4>, Tuple5<A1, A2, A3, A4, A5> >
3612 (function, MakeTuple(p1, p2, p3, p4));
3616 template <typename R, typename T, typename U, typename P1, typename P2,
3622 A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3625 Tuple4<P1, P2, P3, P4>, Tuple5<A1, A2, A3, A4, A5> >
3626 (obj, method, MakeTuple(p1, p2, p3, p4));
3633 template <typename R, typename T, typename U, typename P1, typename P2,
3639 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3642 Tuple4<P1, P2, P3, P4>, Tuple6<A1, A2, A3, A4, A5, A6> >
3643 (obj, method, MakeTuple(p1, p2, p3, p4));
3647 template <typename R, typename P1, typename P2, typename P3, typename P4,
3652 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3655 Tuple4<P1, P2, P3, P4>, Tuple6<A1, A2, A3, A4, A5, A6> >
3656 (function, MakeTuple(p1, p2, p3, p4));
3661 template <typename R, typename T, typename U, typename P1, typename P2,
3667 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3670 Tuple4<P1, P2, P3, P4>, Tuple6<A1, A2, A3, A4, A5, A6> >
3671 (obj, method, MakeTuple(p1, p2, p3, p4));
3677 template <typename R, typename T, typename U, typename P1, typename P2,
3683 A5, A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3686 Tuple4<P1, P2, P3, P4>, Tuple6<A1, A2, A3, A4, A5, A6> >
3687 (obj, method, MakeTuple(p1
3691 template <typename R, typename P1, typename P2, typename P3, typename P4,
3696 const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3699 Tuple4<P1, P2, P3, P4>, Tuple6<A1, A2, A3, A4, A5, A6> >
3700 (function, MakeTuple(p1, p2, p3, p4));
3704 template <typename R, typename T, typename U, typename P1, typename P2,
3710 A5, A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4) {
3713 Tuple4<P1, P2, P3, P4>, Tuple6<A1, A2, A3, A4, A5, A6> >
3714 (obj, method, MakeTuple(p1, p2, p3, p4));
3721 template <typename R, typename T, typename U, typename P1, typename P2,
3725 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5), const P1& p1,
3729 Tuple5<P1, P2, P3, P4, P5>, Tuple0>
3730 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
3734 template <typename R, typename P1, typename P2, typename P3, typename P4,
3738 CreateFunctor(R (*function)(X1, X2, X3, X4, X5), const P1& p1, const P2& p2,
3742 Tuple5<P1, P2, P3, P4, P5>, Tuple0>
3743 (function, MakeTuple(p1, p2, p3, p4, p5));
3748 template <typename R, typename T, typename U, typename P1, typename P2,
3752 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5), const P1& p1,
3756 Tuple5<P1, P2, P3, P4, P5>, Tuple0>
3757 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
3763 template <typename R, typename T, typename U, typename P1, typename P2,
3768 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
3771 Tuple5<P1, P2, P3, P4, P5>, Tuple0>
3772 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
3776 template <typename R, typename P1, typename P2, typename P3, typename P4,
3780 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5), const P1& p1,
3784 Tuple5<P1, P2, P3, P4, P5>, Tuple0>
3785 (function, MakeTuple(p1, p2, p3, p4, p5));
3789 template <typename R, typename T, typename U, typename P1, typename P2,
3794 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
3797 Tuple5<P1, P2, P3, P4, P5>, Tuple0>
3798 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
3805 template <typename R, typename T, typename U, typename P1, typename P2,
3809 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, A1), const P1& p1,
3813 Tuple5<P1, P2, P3, P4, P5>, Tuple1<A1> >
3814 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
3818 template <typename R, typename P1, typename P2, typename P3, typename P4,
3822 CreateFunctor(R (*function)(X1, X2, X3, X4, X5, A1), const P1& p1, const P2& p2,
3826 Tuple5<P1, P2, P3, P4, P5>, Tuple1<A1> >
3827 (function, MakeTuple(p1, p2, p3, p4, p5));
3832 template <typename R, typename T, typename U, typename P1, typename P2,
3836 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, A1), const P1& p1,
3840 Tuple5<P1, P2, P3, P4, P5>, Tuple1<A1> >
3841 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
3847 template <typename R, typename T, typename U, typename P1, typename P2,
3852 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
3855 Tuple5<P1, P2, P3, P4, P5>, Tuple1<A1> >
3856 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
3860 template <typename R, typename P1, typename P2, typename P3, typename P4,
3864 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, A1), const P1& p1,
3868 Tuple5<P1, P2, P3, P4, P5>, Tuple1<A1> >
3869 (function, MakeTuple(p1, p2, p3, p4, p5));
3873 template <typename R, typename T, typename U, typename P1, typename P2,
3878 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
3881 Tuple5<P1, P2, P3, P4, P5>, Tuple1<A1> >
3882 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
3889 template <typename R, typename T, typename U, typename P1, typename P2,
3893 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2), const P1& p1,
3897 Tuple5<P1, P2, P3, P4, P5>, Tuple2<A1, A2> >
3898 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
3902 template <typename R, typename P1, typename P2, typename P3, typename P4,
3906 CreateFunctor(R (*function)(X1, X2, X3, X4, X5, A1, A2), const P1& p1,
3910 Tuple5<P1, P2, P3, P4, P5>, Tuple2<A1, A2> >
3911 (function, MakeTuple(p1, p2, p3, p4, p5));
3916 template <typename R, typename T, typename U, typename P1, typename P2,
3920 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, A1, A2), const P1& p1,
3924 Tuple5<P1, P2, P3, P4, P5>, Tuple2<A1, A2> >
3925 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
3931 template <typename R, typename T, typename U, typename P1, typename P2,
3936 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
3939 Tuple5<P1, P2, P3, P4, P5>, Tuple2<A1, A2> >
3940 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
3944 template <typename R, typename P1, typename P2, typename P3, typename P4,
3948 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, A1, A2), const P1& p1,
3952 Tuple5<P1, P2, P3, P4, P5>, Tuple2<A1, A2> >
3953 (function, MakeTuple(p1, p2, p3, p4, p5));
3957 template <typename R, typename T, typename U, typename P1, typename P2,
3962 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
3965 Tuple5<P1, P2, P3, P4, P5>, Tuple2<A1, A2> >
3966 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
3973 template <typename R, typename T, typename U, typename P1, typename P2,
3979 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
3982 Tuple5<P1, P2, P3, P4, P5>, Tuple3<A1, A2, A3> >
3983 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
3987 template <typename R, typename P1, typename P2, typename P3, typename P4,
3991 CreateFunctor(R (*function)(X1, X2, X3, X4, X5, A1, A2, A3), const P1& p1,
3995 Tuple5<P1, P2, P3, P4, P5>, Tuple3<A1, A2, A3> >
3996 (function, MakeTuple(p1, p2, p3, p4, p5));
4001 template <typename R, typename T, typename U, typename P1, typename P2,
4007 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
4010 Tuple5<P1, P2, P3, P4, P5>, Tuple3<A1, A2, A3> >
4011 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
4017 template <typename R, typename T, typename U, typename P1, typename P2,
4023 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
4026 Tuple5<P1, P2, P3, P4, P5>, Tuple3<A1, A2, A3> >
4027 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
4031 template <typename R, typename P1, typename P2, typename P3, typename P4,
4036 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
4039 Tuple5<P1, P2, P3, P4, P5>, Tuple3<A1, A2, A3> >
4040 (function, MakeTuple(p1, p2, p3, p4, p5));
4044 template <typename R, typename T, typename U, typename P1, typename P2,
4050 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
4053 Tuple5<P1, P2, P3, P4, P5>, Tuple3<A1, A2, A3> >
4054 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
4061 template <typename R, typename T, typename U, typename P1, typename P2,
4067 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
4070 Tuple5<P1, P2, P3, P4, P5>, Tuple4<A1, A2, A3, A4> >
4071 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
4075 template <typename R, typename P1, typename P2, typename P3, typename P4,
4079 CreateFunctor(R (*function)(X1, X2, X3, X4, X5, A1, A2, A3, A4), const P1& p1,
4083 Tuple5<P1, P2, P3, P4, P5>, Tuple4<A1, A2, A3, A4> >
4084 (function, MakeTuple(p1, p2, p3, p4, p5));
4089 template <typename R, typename T, typename U, typename P1, typename P2,
4095 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
4098 Tuple5<P1, P2, P3, P4, P5>, Tuple4<A1, A2, A3, A4> >
4099 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
4105 template <typename R, typename T, typename U, typename P1, typename P2,
4111 A4), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4115 Tuple5<P1, P2, P3, P4, P5>, Tuple4<A1, A2, A3, A4> >
4116 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
4120 template <typename R, typename P1, typename P2, typename P3, typename P4,
4125 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
4128 Tuple5<P1, P2, P3, P4, P5>, Tuple4<A1, A2, A3, A4> >
4129 (function, MakeTuple(p1, p2, p3, p4, p5));
4133 template <typename R, typename T, typename U, typename P1, typename P2,
4139 A4), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4143 Tuple5<P1, P2, P3, P4, P5>, Tuple4<A1, A2, A3, A4> >
4144 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
4151 template <typename R, typename T, typename U, typename P1, typename P2,
4157 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
4160 Tuple5<P1, P2, P3, P4, P5>, Tuple5<A1, A2, A3, A4, A5> >
4161 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
4165 template <typename R, typename P1, typename P2, typename P3, typename P4,
4171 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
4174 Tuple5<P1, P2, P3, P4, P5>, Tuple5<A1, A2, A3, A4, A5> >
4175 (function, MakeTuple(p1, p2, p3, p4, p5));
4180 template <typename R, typename T, typename U, typename P1, typename P2,
4186 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
4189 Tuple5<P1, P2, P3, P4, P5>, Tuple5<A1, A2, A3, A4, A5> >
4190 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
4196 template <typename R, typename T, typename U, typename P1, typename P2,
4202 A4, A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4206 Tuple5<P1, P2, P3, P4, P5>, Tuple5<A1, A2, A3, A4, A5> >
4207 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
4211 template <typename R, typename P1, typename P2, typename P3, typename P4,
4217 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
4220 Tuple5<P1, P2, P3, P4, P5>, Tuple5<A1, A2, A3, A4, A5> >
4221 (function, MakeTuple(p1, p2, p3, p4, p5));
4225 template <typename R, typename T, typename U, typename P1, typename P2,
4231 A4, A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4235 Tuple5<P1, P2, P3, P4, P5>, Tuple5<A1, A2, A3, A4, A5> >
4236 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
4243 template <typename R, typename T, typename U, typename P1, typename P2,
4249 A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4253 Tuple5<P1, P2, P3, P4, P5>, Tuple6<A1, A2, A3, A4, A5, A6> >
4254 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
4258 template <typename R, typename P1, typename P2, typename P3, typename P4,
4264 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5) {
4267 Tuple5<P1, P2, P3, P4, P5>, Tuple6<A1, A2, A3, A4, A5, A6> >
4268 (function, MakeTuple(p1, p2, p3, p4, p5));
4273 template <typename R, typename T, typename U, typename P1, typename P2,
4279 A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4283 Tuple5<P1, P2, P3, P4, P5>, Tuple6<A1, A2, A3, A4, A5, A6> >
4284 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
4290 template <typename R, typename T, typename U, typename P1, typename P2,
4296 A4, A5, A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4300 Tuple5<P1, P2, P3, P4, P5>, Tuple6<A1, A2, A3, A4, A5, A6> >
4301 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
4305 template <typename R, typename P1, typename P2, typename P3, typename P4,
4311 A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4315 Tuple5<P1, P2, P3, P4, P5>, Tuple6<A1, A2, A3, A4, A5, A6> >
4316 (function, MakeTuple(p1, p2, p3, p4, p5));
4320 template <typename R, typename T, typename U, typename P1, typename P2,
4326 A4, A5, A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4330 Tuple5<P1, P2, P3, P4, P5>, Tuple6<A1, A2, A3, A4, A5, A6> >
4331 (obj, method, MakeTuple(p1, p2, p3, p4, p5));
4338 template <typename R, typename T, typename U, typename P1, typename P2,
4342 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, X6), const P1& p1,
4346 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple0>
4347 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4351 template <typename R, typename P1, typename P2, typename P3, typename P4,
4355 CreateFunctor(R (*function)(X1, X2, X3, X4, X5, X6), const P1& p1, const P2& p2,
4359 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple0>
4360 (function, MakeTuple(p1, p2, p3, p4, p5, p6));
4365 template <typename R, typename T, typename U, typename P1, typename P2,
4369 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, X6), const P1& p1,
4373 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple0>
4374 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4380 template <typename R, typename T, typename U, typename P1, typename P2,
4385 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4389 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple0>
4390 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4394 template <typename R, typename P1, typename P2, typename P3, typename P4,
4398 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, X6), const P1& p1,
4402 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple0>
4403 (function, MakeTuple(p1, p2, p3, p4, p5, p6));
4407 template <typename R, typename T, typename U, typename P1, typename P2,
4412 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4416 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple0>
4417 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4424 template <typename R, typename T, typename U, typename P1, typename P2,
4429 CreateFunctor(T* obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1), const P1& p1,
4433 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple1<A1> >
4434 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4438 template <typename R, typename P1, typename P2, typename P3, typename P4,
4442 CreateFunctor(R (*function)(X1, X2, X3, X4, X5, X6, A1), const P1& p1,
4446 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple1<A1> >
4447 (function, MakeTuple(p1, p2, p3, p4, p5, p6));
4452 template <typename R, typename T, typename U, typename P1, typename P2,
4457 CreateFunctor(T** obj, R (U::*method)(X1, X2, X3, X4, X5, X6, A1), const P1& p1,
4461 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple1<A1> >
4462 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4468 template <typename R, typename T, typename U, typename P1, typename P2,
4474 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4478 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple1<A1> >
4479 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4483 template <typename R, typename P1, typename P2, typename P3, typename P4,
4487 CreateFunctor(R (__stdcall *function)(X1, X2, X3, X4, X5, X6, A1), const P1& p1,
4491 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple1<A1> >
4492 (function, MakeTuple(p1, p2, p3, p4, p5, p6));
4496 template <typename R, typename T, typename U, typename P1, typename P2,
4502 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4506 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple1<A1> >
4507 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4514 template <typename R, typename T, typename U, typename P1, typename P2,
4520 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4524 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple2<A1, A2> >
4525 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4529 template <typename R, typename P1, typename P2, typename P3, typename P4,
4533 CreateFunctor(R (*function)(X1, X2, X3, X4, X5, X6, A1, A2), const P1& p1,
4537 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple2<A1, A2> >
4538 (function, MakeTuple(p1, p2, p3, p4, p5, p6));
4543 template <typename R, typename T, typename U, typename P1, typename P2,
4549 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4553 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple2<A1, A2> >
4554 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4560 template <typename R, typename T, typename U, typename P1, typename P2,
4566 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4570 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple2<A1, A2> >
4571 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4575 template <typename R, typename P1, typename P2, typename P3, typename P4,
4580 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4584 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple2<A1, A2> >
4585 (function, MakeTuple(p1, p2, p3, p4, p5, p6));
4589 template <typename R, typename T, typename U, typename P1, typename P2,
4595 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4599 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple2<A1, A2> >
4600 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4607 template <typename R, typename T, typename U, typename P1, typename P2,
4613 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4617 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple3<A1, A2, A3> >
4618 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4622 template <typename R, typename P1, typename P2, typename P3, typename P4,
4627 CreateFunctor(R (*function)(X1, X2, X3, X4, X5, X6, A1, A2, A3), const P1& p1,
4631 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple3<A1, A2, A3> >
4632 (function, MakeTuple(p1, p2, p3, p4, p5, p6));
4637 P1, typename P2,
4643 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4647 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple3<A1, A2, A3> >
4648 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4654 template <typename R, typename T, typename U, typename P1, typename P2,
4660 A3), const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4664 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple3<A1, A2, A3> >
4665 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4669 template <typename R, typename P1, typename P2, typename P3, typename P4,
4675 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4679 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple3<A1, A2, A3> >
4680 (function, MakeTuple(p1, p2, p3, p4, p5, p6));
4684 template <typename R, typename T, typename U, typename P1, typename P2,
4690 A3), const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4694 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple3<A1, A2, A3> >
4695 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4702 template <typename R, typename T, typename U, typename P1, typename P2,
4708 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4712 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple4<A1, A2, A3, A4> >
4713 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4717 template <typename R, typename P1, typename P2, typename P3, typename P4,
4723 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4727 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple4<A1, A2, A3, A4> >
4728 (function, MakeTuple(p1, p2, p3, p4, p5, p6));
4733 template <typename R, typename T, typename U, typename P1, typename P2,
4739 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4743 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple4<A1, A2, A3, A4> >
4744 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4750 template <typename R, typename T, typename U, typename P1, typename P2,
4756 A3, A4), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4760 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple4<A1, A2, A3, A4> >
4761 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4765 template <typename R, typename P1, typename P2, typename P3, typename P4,
4771 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4775 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple4<A1, A2, A3, A4> >
4776 (function, MakeTuple(p1, p2, p3, p4, p5, p6));
4780 template <typename R, typename T, typename U, typename P1, typename P2,
4786 A3, A4), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4790 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple4<A1, A2, A3, A4> >
4791 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4798 template <typename R, typename T, typename U, typename P1, typename P2,
4804 A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4808 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple5<A1, A2, A3, A4, A5> >
4809 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4813 template <typename R, typename P1, typename P2, typename P3, typename P4,
4819 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4823 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple5<A1, A2, A3, A4, A5> >
4824 (function, MakeTuple(p1, p2, p3, p4, p5, p6));
4829 template <typename R, typename T, typename U, typename P1, typename P2,
4835 A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4839 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple5<A1, A2, A3, A4, A5> >
4840 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4846 template <typename R, typename T, typename U, typename P1, typename P2,
4852 A3, A4, A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4856 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple5<A1, A2, A3, A4, A5> >
4857 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4861 template <typename R, typename P1, typename P2, typename P3, typename P4,
4867 A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4871 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple5<A1, A2, A3, A4, A5> >
4872 (function, MakeTuple(p1, p2, p3, p4, p5, p6));
4876 template <typename R, typename T, typename U, typename P1, typename P2,
4882 A3, A4, A5), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4886 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple5<A1, A2, A3, A4, A5> >
4887 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4894 template <typename R, typename T, typename U, typename P1, typename P2,
4901 A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4905 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple6<A1, A2, A3, A4, A5, A6> >
4906 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4910 template <typename R, typename P1, typename P2, typename P3, typename P4,
4916 const P1& p1, const P2& p2, const P3& p3, const P4& p4, const P5& p5,
4920 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple6<A1, A2, A3, A4, A5, A6> >
4921 (function, MakeTuple(p1, p2, p3, p4, p5, p6));
4926 template <typename R, typename T, typename U, typename P1, typename P2,
4933 A6), const P1& p1
4937 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple6<A1, A2, A3, A4, A5, A6> >
4938 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4944 template <typename R, typename T, typename U, typename P1, typename P2,
4951 A3, A4, A5, A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4955 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple6<A1, A2, A3, A4, A5, A6> >
4956 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));
4960 template <typename R, typename P1, typename P2, typename P3, typename P4,
4966 A5, A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4970 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple6<A1, A2, A3, A4, A5, A6> >
4971 (function, MakeTuple(p1, p2, p3, p4, p5, p6));
4975 template <typename R, typename T, typename U, typename P1, typename P2,
4982 A3, A4, A5, A6), const P1& p1, const P2& p2, const P3& p3, const P4& p4,
4986 Tuple6<P1, P2, P3, P4, P5, P6>, Tuple6<A1, A2, A3, A4, A5, A6> >
4987 (obj, method, MakeTuple(p1, p2, p3, p4, p5, p6));