Re: [Boost-bugs] [Boost C++ Libraries] #4676: Ambiguous register_type with polymorphic_x_?archive on g++

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #4676: Ambiguous register_type with polymorphic_x_?archive on g++
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-09-26 21:39:48


#4676: Ambiguous register_type with polymorphic_x_?archive on g++
--------------------------------+-------------------------------------------
  Reporter: Richard Hazlewood | Owner: ramey
      Type: Patches | Status: new
 Milestone: To Be Determined | Component: serialization
   Version: Boost 1.44.0 | Severity: Problem
Resolution: | Keywords: gcc g++ ambiguous polymorphic archive
--------------------------------+-------------------------------------------

Comment (by Richard Hazlewood <boost@…>):

 The "using" is a convenience (std: 7.3.3) to bring one of the routes to
 '''register_type<>''' into scope of the '''polymorphic_?archive_route'''
 classes. However, if you are concerned that a compiler may not support
 it, a routing '''register_type<>''', as you specify, achieves the same
 ends - it matters not to me.

 However, I suspect it will have to go at the same place as the using
 patch; i.e. in the '''archive::detail::polymorphic_?archive_route'''
 classes. It is at this point in the hierarchy that the two ambiguous
 routes to '''register_type<>''' (interface_?archive) occur; taking
 '''polymorphic_binary_oarchive''' as an example:

 {{{
 polymorphic_binary_oarchive:

       polymorphic_oarchive_route<>
                    |
    ----------------------------------------
    | |
 polymorphic_oarchive (ArchiveImplementation)
    | binary_oarchive_impl<naked_binary_oarchive>
 interface_oarchive<poly_oa> |
 basic_binary_oarchive<naked_binary_oarchive>
                                           |
                                common_oarchive<naked_binary_oarchive>
                                           |
                                -----------------------------
                                | |
                          basic_oarchive
 interface_oarchive<naked_binary_oarchive>
 }}}

 I'm happy to test anything you have; is it on a branch in the SVN
 repository?

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/4676#comment:3>
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:50:04 UTC