Packets: BUGFIX: Fix VectorParser AuxPolicy access
g0dil [Wed, 7 Jan 2009 11:33:43 +0000 (11:33 +0000)]
git-svn-id: https://svn.berlios.de/svnroot/repos/senf/trunk@1041 270642c3-0616-0410-b53a-bc976706d245

Packets/VectorParser.cti
Packets/VectorParser.hh
Packets/VectorParser.test.cc

index b7040bc..adcaec1 100644 (file)
@@ -173,7 +173,7 @@ prefix_ void senf::VectorParser<ElementParser,AuxPolicy>::resize(size_type n, Va
 template <class ElementParser, class AuxPolicy>
 prefix_ senf::VectorParser_Container<ElementParser,AuxPolicy>::
 VectorParser_Container(parser_type const & vector)
-    : AuxPolicy(vector), state_ (vector.state()), 
+    : AuxPolicy::WrapperPolicy(static_cast<AuxPolicy const &>(vector)), state_ (vector.state()), 
       i_ (std::distance(data().begin(),vector.i()))
 {}
 
index 34b2c29..3ac2e44 100644 (file)
@@ -129,7 +129,7 @@ namespace senf {
       */
     template <class ElementParser, class AuxPolicy>
     class VectorParser_Container
-        : private AuxPolicy
+        : private AuxPolicy::WrapperPolicy
     {
     public:
         ///////////////////////////////////////////////////////////////////////////
index d827bc9..7e0d11d 100644 (file)
@@ -262,9 +262,6 @@ BOOST_AUTO_UNIT_TEST(vectorMacro_parse)
 
 BOOST_AUTO_UNIT_TEST(vectorMacro_create)
 {
-    /*
-     * This test fails with "... is an inaccessible base of ..." error
-     * see bugtracker @ berlios
     TestVectorPacket p (TestVectorPacket::create());
     p->dummy() = 0x01020304u;
     p->vec1().push_back( 0x0506u);
@@ -285,7 +282,6 @@ BOOST_AUTO_UNIT_TEST(vectorMacro_create)
             0x0D, 0x0E };           // vec2[1]
     
     BOOST_CHECK( equal( p.data().begin(), p.data().end(), data ));
-     */
 }
 
 ///////////////////////////////cc.e////////////////////////////////////////