Ticket #3003: mem_fn_template.diff
File mem_fn_template.diff, 7.6 KB (added by , 13 years ago) |
---|
-
mem_fn_template.hpp
51 51 52 52 template<class U> R operator()(U & u) const 53 53 { 54 BOOST_MEM_FN_RETURN call(u, &u);54 BOOST_MEM_FN_RETURN call(u, false ? &u : 0); 55 55 } 56 56 57 57 #ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS 58 58 59 59 template<class U> R operator()(U const & u) const 60 60 { 61 BOOST_MEM_FN_RETURN call(u, &u);61 BOOST_MEM_FN_RETURN call(u, false ? &u : 0); 62 62 } 63 63 64 64 #endif … … 109 109 110 110 template<class U> R operator()(U const & u) const 111 111 { 112 BOOST_MEM_FN_RETURN call(u, &u);112 BOOST_MEM_FN_RETURN call(u, false ? &u : 0); 113 113 } 114 114 115 115 R operator()(T const & t) const … … 164 164 165 165 template<class U> R operator()(U & u, A1 a1) const 166 166 { 167 BOOST_MEM_FN_RETURN call(u, &u, a1);167 BOOST_MEM_FN_RETURN call(u, false ? &u : 0, a1); 168 168 } 169 169 170 170 #ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS 171 171 172 172 template<class U> R operator()(U const & u, A1 a1) const 173 173 { 174 BOOST_MEM_FN_RETURN call(u, &u, a1);174 BOOST_MEM_FN_RETURN call(u, false ? &u : 0, a1); 175 175 } 176 176 177 177 #endif … … 223 223 224 224 template<class U> R operator()(U const & u, A1 a1) const 225 225 { 226 BOOST_MEM_FN_RETURN call(u, &u, a1);226 BOOST_MEM_FN_RETURN call(u, false ? &u : 0, a1); 227 227 } 228 228 229 229 R operator()(T const & t, A1 a1) const … … 276 276 277 277 template<class U> R operator()(U & u, A1 a1, A2 a2) const 278 278 { 279 BOOST_MEM_FN_RETURN call(u, &u, a1, a2);279 BOOST_MEM_FN_RETURN call(u, false ? &u : 0, a1, a2); 280 280 } 281 281 282 282 #ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS 283 283 284 284 template<class U> R operator()(U const & u, A1 a1, A2 a2) const 285 285 { 286 BOOST_MEM_FN_RETURN call(u, &u, a1, a2);286 BOOST_MEM_FN_RETURN call(u, false ? &u : 0, a1, a2); 287 287 } 288 288 289 289 #endif … … 333 333 334 334 template<class U> R operator()(U const & u, A1 a1, A2 a2) const 335 335 { 336 BOOST_MEM_FN_RETURN call(u, &u, a1, a2);336 BOOST_MEM_FN_RETURN call(u, false ? &u : 0, a1, a2); 337 337 } 338 338 339 339 R operator()(T const & t, A1 a1, A2 a2) const … … 386 386 387 387 template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3) const 388 388 { 389 BOOST_MEM_FN_RETURN call(u, &u, a1, a2, a3);389 BOOST_MEM_FN_RETURN call(u, false ? &u : 0, a1, a2, a3); 390 390 } 391 391 392 392 #ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS 393 393 394 394 template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3) const 395 395 { 396 BOOST_MEM_FN_RETURN call(u, &u, a1, a2, a3);396 BOOST_MEM_FN_RETURN call(u, false ? &u : 0, a1, a2, a3); 397 397 } 398 398 399 399 #endif … … 443 443 444 444 template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3) const 445 445 { 446 BOOST_MEM_FN_RETURN call(u, &u, a1, a2, a3);446 BOOST_MEM_FN_RETURN call(u, false ? &u : 0, a1, a2, a3); 447 447 } 448 448 449 449 R operator()(T const & t, A1 a1, A2 a2, A3 a3) const … … 496 496 497 497 template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4) const 498 498 { 499 BOOST_MEM_FN_RETURN call(u, &u, a1, a2, a3, a4);499 BOOST_MEM_FN_RETURN call(u, false ? &u : 0, a1, a2, a3, a4); 500 500 } 501 501 502 502 #ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS 503 503 504 504 template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4) const 505 505 { 506 BOOST_MEM_FN_RETURN call(u, &u, a1, a2, a3, a4);506 BOOST_MEM_FN_RETURN call(u, false ? &u : 0, a1, a2, a3, a4); 507 507 } 508 508 509 509 #endif … … 553 553 554 554 template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4) const 555 555 { 556 BOOST_MEM_FN_RETURN call(u, &u, a1, a2, a3, a4);556 BOOST_MEM_FN_RETURN call(u, false ? &u : 0, a1, a2, a3, a4); 557 557 } 558 558 559 559 R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4) const … … 606 606 607 607 template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const 608 608 { 609 BOOST_MEM_FN_RETURN call(u, &u, a1, a2, a3, a4, a5);609 BOOST_MEM_FN_RETURN call(u, false ? &u : 0, a1, a2, a3, a4, a5); 610 610 } 611 611 612 612 #ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS 613 613 614 614 template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const 615 615 { 616 BOOST_MEM_FN_RETURN call(u, &u, a1, a2, a3, a4, a5);616 BOOST_MEM_FN_RETURN call(u, false ? &u : 0, a1, a2, a3, a4, a5); 617 617 } 618 618 619 619 #endif … … 663 663 664 664 template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const 665 665 { 666 BOOST_MEM_FN_RETURN call(u, &u, a1, a2, a3, a4, a5);666 BOOST_MEM_FN_RETURN call(u, false ? &u : 0, a1, a2, a3, a4, a5); 667 667 } 668 668 669 669 R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const … … 716 716 717 717 template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const 718 718 { 719 BOOST_MEM_FN_RETURN call(u, &u, a1, a2, a3, a4, a5, a6);719 BOOST_MEM_FN_RETURN call(u, false ? &u : 0, a1, a2, a3, a4, a5, a6); 720 720 } 721 721 722 722 #ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS 723 723 724 724 template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const 725 725 { 726 BOOST_MEM_FN_RETURN call(u, &u, a1, a2, a3, a4, a5, a6);726 BOOST_MEM_FN_RETURN call(u, false ? &u : 0, a1, a2, a3, a4, a5, a6); 727 727 } 728 728 729 729 #endif … … 773 773 774 774 template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const 775 775 { 776 BOOST_MEM_FN_RETURN call(u, &u, a1, a2, a3, a4, a5, a6);776 BOOST_MEM_FN_RETURN call(u, false ? &u : 0, a1, a2, a3, a4, a5, a6); 777 777 } 778 778 779 779 R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const … … 826 826 827 827 template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const 828 828 { 829 BOOST_MEM_FN_RETURN call(u, &u, a1, a2, a3, a4, a5, a6, a7);829 BOOST_MEM_FN_RETURN call(u, false ? &u : 0, a1, a2, a3, a4, a5, a6, a7); 830 830 } 831 831 832 832 #ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS 833 833 834 834 template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const 835 835 { 836 BOOST_MEM_FN_RETURN call(u, &u, a1, a2, a3, a4, a5, a6, a7);836 BOOST_MEM_FN_RETURN call(u, false ? &u : 0, a1, a2, a3, a4, a5, a6, a7); 837 837 } 838 838 839 839 #endif … … 883 883 884 884 template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const 885 885 { 886 BOOST_MEM_FN_RETURN call(u, &u, a1, a2, a3, a4, a5, a6, a7);886 BOOST_MEM_FN_RETURN call(u, false ? &u : 0, a1, a2, a3, a4, a5, a6, a7); 887 887 } 888 888 889 889 R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const … … 936 936 937 937 template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const 938 938 { 939 BOOST_MEM_FN_RETURN call(u, &u, a1, a2, a3, a4, a5, a6, a7, a8);939 BOOST_MEM_FN_RETURN call(u, false ? &u : 0, a1, a2, a3, a4, a5, a6, a7, a8); 940 940 } 941 941 942 942 #ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS 943 943 944 944 template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const 945 945 { 946 BOOST_MEM_FN_RETURN call(u, &u, a1, a2, a3, a4, a5, a6, a7, a8);946 BOOST_MEM_FN_RETURN call(u, false ? &u : 0, a1, a2, a3, a4, a5, a6, a7, a8); 947 947 } 948 948 949 949 #endif … … 998 998 999 999 template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const 1000 1000 { 1001 BOOST_MEM_FN_RETURN call(u, &u, a1, a2, a3, a4, a5, a6, a7, a8);1001 BOOST_MEM_FN_RETURN call(u, false ? &u : 0, a1, a2, a3, a4, a5, a6, a7, a8); 1002 1002 } 1003 1003 1004 1004 R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const