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