Opened 14 years ago

Closed 14 years ago

#2751 closed Bugs (fixed)

save_start, save_end, load_start, load_end cannot be redefined because they are not called on the most derived archive

Reported by: Daniel Komisar <dkomisar@…> Owned by: Robert Ramey
Milestone: Boost 1.39.0 Component: serialization
Version: Boost 1.37.0 Severity: Problem
Keywords: Cc:

Description

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())

Change History (1)

comment:1 by Robert Ramey, 14 years ago

Resolution: fixed
Status: newclosed

I've made a change in my local copy and expect it to migrate to the trunk after testing.

Robert Ramey

Note: See TracTickets for help on using tickets.