Re: [Boost-bugs] [Boost C++ Libraries] #3998: Provide light weight headers for extensibility features of BOOST_FOREACH

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #3998: Provide light weight headers for extensibility features of BOOST_FOREACH
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-06-24 22:11:34


#3998: Provide light weight headers for extensibility features of BOOST_FOREACH
--------------------------------------------------------+-------------------
  Reporter: Kazutoshi Satoda <k_satoda@…> | Owner: eric_niebler
      Type: Patches | Status: reopened
 Milestone: Boost 1.43.0 | Component: foreach
   Version: Boost 1.42.0 | Severity: Optimization
Resolution: | Keywords: is_noncopyable is_lightweight_proxy
--------------------------------------------------------+-------------------

Comment (by eric_niebler):

 I looked more closely at your patch for #3996 and see the problem. For
 every instantiation of reversible_ptr_container, you are instantiating
 foreach::is_noncopyable to (optionally) inherit from noncopyable. This is
 the wrong way to do it and will lead to ODR violations when different
 translation units see different specializations of
 foreach::is_noncopyable. Instead, define a partial specialization of
 foreach::is_noncopyable< reversible_ptr_container<...> > as you first
 suggested.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/3998#comment:5>
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:03 UTC