[Boost-bugs] [Boost C++ Libraries] #2751: save_start, save_end, load_start, load_end cannot be redefined because they are not called on the most derived archive

Subject: [Boost-bugs] [Boost C++ Libraries] #2751: save_start, save_end, load_start, load_end cannot be redefined because they are not called on the most derived archive
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-02-11 20:20:05


#2751: save_start, save_end, load_start, load_end cannot be redefined because they
are not called on the most derived archive
-------------------------------------------------+--------------------------
 Reporter: Daniel Komisar <dkomisar_at_[hidden]> | Owner: ramey
     Type: Bugs | Status: new
Milestone: Boost 1.39.0 | Component: serialization
  Version: Boost 1.37.0 | Severity: Problem
 Keywords: |
-------------------------------------------------+--------------------------
 The calls to (load|save)_(start|end) on lines 102,104 of
 basic_xml_oarchive.hpp and lines 80,82 of basic_xml_iarchive.hpp always
 call the default implemention defined in those classes. According to the
 documentation, these functions should be able to be redefined by derived
 classes which they currently cannot.

 Line 102 of basic_xml_oarchive.hpp reads:
 save_start(t.name())

 when it should read something like:
 static_cast<Archive*>(this)->Archive::save_start(t.name())

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/2751>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:49:59 UTC