Index: bind.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/bind.hpp,v retrieving revision 1.54 diff -u -r1.54 bind.hpp --- bind.hpp 21 Feb 2006 10:16:27 -0000 1.54 +++ bind.hpp 28 Feb 2006 02:37:26 -0000 @@ -26,7 +26,6 @@ #include #include #include -#include #include #include @@ -38,6 +37,8 @@ # define BOOST_BIND_VISIT_EACH visit_each #endif +#include + #ifdef BOOST_MSVC # pragma warning(push) # pragma warning(disable: 4512) // assignment operator could not be generated @@ -237,7 +238,7 @@ template void accept(V & v) const { - BOOST_BIND_VISIT_EACH(v, base_type::a1_, 0); + base_type::accept(v); } bool operator==(list1 const & rhs) const @@ -294,8 +295,7 @@ template void accept(V & v) const { - BOOST_BIND_VISIT_EACH(v, base_type::a1_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a2_, 0); + base_type::accept(v); } bool operator==(list2 const & rhs) const @@ -354,9 +354,7 @@ template void accept(V & v) const { - BOOST_BIND_VISIT_EACH(v, base_type::a1_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a2_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a3_, 0); + base_type::accept(v); } bool operator==(list3 const & rhs) const @@ -421,10 +419,7 @@ template void accept(V & v) const { - BOOST_BIND_VISIT_EACH(v, base_type::a1_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a2_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a3_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a4_, 0); + base_type::accept(v); } bool operator==(list4 const & rhs) const @@ -492,11 +487,7 @@ template void accept(V & v) const { - BOOST_BIND_VISIT_EACH(v, base_type::a1_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a2_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a3_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a4_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a5_, 0); + base_type::accept(v); } bool operator==(list5 const & rhs) const @@ -567,12 +558,7 @@ template void accept(V & v) const { - BOOST_BIND_VISIT_EACH(v, base_type::a1_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a2_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a3_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a4_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a5_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a6_, 0); + base_type::accept(v); } bool operator==(list6 const & rhs) const @@ -646,13 +632,7 @@ template void accept(V & v) const { - BOOST_BIND_VISIT_EACH(v, base_type::a1_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a2_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a3_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a4_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a5_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a6_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a7_, 0); + base_type::accept(v); } bool operator==(list7 const & rhs) const @@ -729,14 +709,7 @@ template void accept(V & v) const { - BOOST_BIND_VISIT_EACH(v, base_type::a1_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a2_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a3_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a4_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a5_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a6_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a7_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a8_, 0); + base_type::accept(v); } bool operator==(list8 const & rhs) const @@ -816,15 +789,7 @@ template void accept(V & v) const { - BOOST_BIND_VISIT_EACH(v, base_type::a1_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a2_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a3_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a4_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a5_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a6_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a7_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a8_, 0); - BOOST_BIND_VISIT_EACH(v, base_type::a9_, 0); + base_type::accept(v); } bool operator==(list9 const & rhs) const Index: bind/storage.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/bind/storage.hpp,v retrieving revision 1.2 diff -u -r1.2 storage.hpp --- bind/storage.hpp 11 Jan 2006 11:51:04 -0000 1.2 +++ bind/storage.hpp 28 Feb 2006 02:37:26 -0000 @@ -41,6 +41,11 @@ { explicit storage1( A1 a1 ): a1_( a1 ) {} + template void accept(V & v) const + { + BOOST_BIND_VISIT_EACH(v, a1_, 0); + } + A1 a1_; }; @@ -50,6 +55,8 @@ { explicit storage1( boost::arg ) {} + template void accept(V &) const { } + static boost::arg a1_() { return boost::arg(); } }; @@ -57,6 +64,8 @@ { explicit storage1( boost::arg (*) () ) {} + template void accept(V &) const { } + static boost::arg a1_() { return boost::arg(); } }; @@ -66,8 +75,16 @@ template struct storage2: public storage1 { + typedef storage1 inherited; + storage2( A1 a1, A2 a2 ): storage1( a1 ), a2_( a2 ) {} + template void accept(V & v) const + { + inherited::accept(v); + BOOST_BIND_VISIT_EACH(v, a2_, 0); + } + A2 a2_; }; @@ -75,15 +92,29 @@ template struct storage2< A1, boost::arg >: public storage1 { + typedef storage1 inherited; + storage2( A1 a1, boost::arg ): storage1( a1 ) {} + template void accept(V & v) const + { + inherited::accept(v); + } + static boost::arg a2_() { return boost::arg(); } }; template struct storage2< A1, boost::arg (*) () >: public storage1 { + typedef storage1 inherited; + storage2( A1 a1, boost::arg (*) () ): storage1( a1 ) {} + template void accept(V & v) const + { + inherited::accept(v); + } + static boost::arg a2_() { return boost::arg(); } }; @@ -93,8 +124,16 @@ template struct storage3: public storage2< A1, A2 > { + typedef storage2 inherited; + storage3( A1 a1, A2 a2, A3 a3 ): storage2( a1, a2 ), a3_( a3 ) {} + template void accept(V & v) const + { + inherited::accept(v); + BOOST_BIND_VISIT_EACH(v, a3_, 0); + } + A3 a3_; }; @@ -102,15 +141,29 @@ template struct storage3< A1, A2, boost::arg >: public storage2< A1, A2 > { + typedef storage2 inherited; + storage3( A1 a1, A2 a2, boost::arg ): storage2( a1, a2 ) {} + template void accept(V & v) const + { + inherited::accept(v); + } + static boost::arg a3_() { return boost::arg(); } }; template struct storage3< A1, A2, boost::arg (*) () >: public storage2< A1, A2 > { + typedef storage2 inherited; + storage3( A1 a1, A2 a2, boost::arg (*) () ): storage2( a1, a2 ) {} + template void accept(V & v) const + { + inherited::accept(v); + } + static boost::arg a3_() { return boost::arg(); } }; @@ -120,8 +173,16 @@ template struct storage4: public storage3< A1, A2, A3 > { + typedef storage3 inherited; + storage4( A1 a1, A2 a2, A3 a3, A4 a4 ): storage3( a1, a2, a3 ), a4_( a4 ) {} + template void accept(V & v) const + { + inherited::accept(v); + BOOST_BIND_VISIT_EACH(v, a4_, 0); + } + A4 a4_; }; @@ -129,15 +190,29 @@ template struct storage4< A1, A2, A3, boost::arg >: public storage3< A1, A2, A3 > { + typedef storage3 inherited; + storage4( A1 a1, A2 a2, A3 a3, boost::arg ): storage3( a1, a2, a3 ) {} + template void accept(V & v) const + { + inherited::accept(v); + } + static boost::arg a4_() { return boost::arg(); } }; template struct storage4< A1, A2, A3, boost::arg (*) () >: public storage3< A1, A2, A3 > { + typedef storage3 inherited; + storage4( A1 a1, A2 a2, A3 a3, boost::arg (*) () ): storage3( a1, a2, a3 ) {} + template void accept(V & v) const + { + inherited::accept(v); + } + static boost::arg a4_() { return boost::arg(); } }; @@ -147,8 +222,16 @@ template struct storage5: public storage4< A1, A2, A3, A4 > { + typedef storage4 inherited; + storage5( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5 ): storage4( a1, a2, a3, a4 ), a5_( a5 ) {} + template void accept(V & v) const + { + inherited::accept(v); + BOOST_BIND_VISIT_EACH(v, a5_, 0); + } + A5 a5_; }; @@ -156,15 +239,29 @@ template struct storage5< A1, A2, A3, A4, boost::arg >: public storage4< A1, A2, A3, A4 > { + typedef storage4 inherited; + storage5( A1 a1, A2 a2, A3 a3, A4 a4, boost::arg ): storage4( a1, a2, a3, a4 ) {} + template void accept(V & v) const + { + inherited::accept(v); + } + static boost::arg a5_() { return boost::arg(); } }; template struct storage5< A1, A2, A3, A4, boost::arg (*) () >: public storage4< A1, A2, A3, A4 > { + typedef storage4 inherited; + storage5( A1 a1, A2 a2, A3 a3, A4 a4, boost::arg (*) () ): storage4( a1, a2, a3, a4 ) {} + template void accept(V & v) const + { + inherited::accept(v); + } + static boost::arg a5_() { return boost::arg(); } }; @@ -174,8 +271,16 @@ template struct storage6: public storage5< A1, A2, A3, A4, A5 > { + typedef storage5 inherited; + storage6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6 ): storage5( a1, a2, a3, a4, a5 ), a6_( a6 ) {} + template void accept(V & v) const + { + inherited::accept(v); + BOOST_BIND_VISIT_EACH(v, a6_, 0); + } + A6 a6_; }; @@ -183,15 +288,29 @@ template struct storage6< A1, A2, A3, A4, A5, boost::arg >: public storage5< A1, A2, A3, A4, A5 > { + typedef storage5 inherited; + storage6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, boost::arg ): storage5( a1, a2, a3, a4, a5 ) {} + template void accept(V & v) const + { + inherited::accept(v); + } + static boost::arg a6_() { return boost::arg(); } }; template struct storage6< A1, A2, A3, A4, A5, boost::arg (*) () >: public storage5< A1, A2, A3, A4, A5 > { + typedef storage5 inherited; + storage6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, boost::arg (*) () ): storage5( a1, a2, a3, a4, a5 ) {} + template void accept(V & v) const + { + inherited::accept(v); + } + static boost::arg a6_() { return boost::arg(); } }; @@ -201,8 +320,16 @@ template struct storage7: public storage6< A1, A2, A3, A4, A5, A6 > { + typedef storage6 inherited; + storage7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7 ): storage6( a1, a2, a3, a4, a5, a6 ), a7_( a7 ) {} + template void accept(V & v) const + { + inherited::accept(v); + BOOST_BIND_VISIT_EACH(v, a7_, 0); + } + A7 a7_; }; @@ -210,15 +337,29 @@ template struct storage7< A1, A2, A3, A4, A5, A6, boost::arg >: public storage6< A1, A2, A3, A4, A5, A6 > { + typedef storage6 inherited; + storage7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, boost::arg ): storage6( a1, a2, a3, a4, a5, a6 ) {} + template void accept(V & v) const + { + inherited::accept(v); + } + static boost::arg a7_() { return boost::arg(); } }; template struct storage7< A1, A2, A3, A4, A5, A6, boost::arg (*) () >: public storage6< A1, A2, A3, A4, A5, A6 > { + typedef storage6 inherited; + storage7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, boost::arg (*) () ): storage6( a1, a2, a3, a4, a5, a6 ) {} + template void accept(V & v) const + { + inherited::accept(v); + } + static boost::arg a7_() { return boost::arg(); } }; @@ -228,8 +369,16 @@ template struct storage8: public storage7< A1, A2, A3, A4, A5, A6, A7 > { + typedef storage7 inherited; + storage8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8 ): storage7( a1, a2, a3, a4, a5, a6, a7 ), a8_( a8 ) {} + template void accept(V & v) const + { + inherited::accept(v); + BOOST_BIND_VISIT_EACH(v, a8_, 0); + } + A8 a8_; }; @@ -237,15 +386,29 @@ template struct storage8< A1, A2, A3, A4, A5, A6, A7, boost::arg >: public storage7< A1, A2, A3, A4, A5, A6, A7 > { + typedef storage7 inherited; + storage8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, boost::arg ): storage7( a1, a2, a3, a4, a5, a6, a7 ) {} + template void accept(V & v) const + { + inherited::accept(v); + } + static boost::arg a8_() { return boost::arg(); } }; template struct storage8< A1, A2, A3, A4, A5, A6, A7, boost::arg (*) () >: public storage7< A1, A2, A3, A4, A5, A6, A7 > { + typedef storage7 inherited; + storage8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, boost::arg (*) () ): storage7( a1, a2, a3, a4, a5, a6, a7 ) {} + template void accept(V & v) const + { + inherited::accept(v); + } + static boost::arg a8_() { return boost::arg(); } }; @@ -255,8 +418,16 @@ template struct storage9: public storage8< A1, A2, A3, A4, A5, A6, A7, A8 > { + typedef storage8 inherited; + storage9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9 ): storage8( a1, a2, a3, a4, a5, a6, a7, a8 ), a9_( a9 ) {} + template void accept(V & v) const + { + inherited::accept(v); + BOOST_BIND_VISIT_EACH(v, a9_, 0); + } + A9 a9_; }; @@ -264,15 +435,29 @@ template struct storage9< A1, A2, A3, A4, A5, A6, A7, A8, boost::arg >: public storage8< A1, A2, A3, A4, A5, A6, A7, A8 > { + typedef storage8 inherited; + storage9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, boost::arg ): storage8( a1, a2, a3, a4, a5, a6, a7, a8 ) {} + template void accept(V & v) const + { + inherited::accept(v); + } + static boost::arg a9_() { return boost::arg(); } }; template struct storage9< A1, A2, A3, A4, A5, A6, A7, A8, boost::arg (*) () >: public storage8< A1, A2, A3, A4, A5, A6, A7, A8 > { + typedef storage8 inherited; + storage9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, boost::arg (*) () ): storage8( a1, a2, a3, a4, a5, a6, a7, a8 ) {} + template void accept(V & v) const + { + inherited::accept(v); + } + static boost::arg a9_() { return boost::arg(); } };