Re: [Boost-bugs] [Boost C++ Libraries] #1315: iterator_adaptor does not work with incomplete Value types

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #1315: iterator_adaptor does not work with incomplete Value types
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-10-13 22:43:23


#1315: iterator_adaptor does not work with incomplete Value types
--------------------------------------+-------------------------------------
  Reporter: joaquin | Owner: witt
      Type: Feature Requests | Status: new
 Milestone: To Be Determined | Component: iterator
   Version: Boost Development Trunk | Severity: Problem
Resolution: | Keywords:
--------------------------------------+-------------------------------------
Changes (by Duncan Exon Smith <duncanphilipnorman@…>):

 * cc: duncanphilipnorman@… (added)

Comment:

 Replying to [comment:6 Laurent Rineau <Laurent.Rineau__boost@…>]:
> Replying to [comment:3 dave]:
> > I think your analysis is correct, but my question to you is: why
 should this be considered a bug?
>
> It is more a ''feature request'' than a bug. In a software of ours,
 [http://www.cgal.org/ CGAL], we would like to use the features of
 `iterator_facade`, in a scenario alike the one I posted in [comment:1
 comment 1]. It currently works with GNU/g++ (versions 4.1.2 and 4.3.0 at
 least), even if I do not know why, but not with MSVC++ 8.

 This feature worked in GCC only because of a bug prior to v4.4 (e.g., you
 could use abstract types in v4.3.4). However, this bug -- to do with the
 intrinsics `__is_abstract` and `__is_pod` -- was fixed:
  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39475

 GCC v4.4.3 now gives the same as MSVC. In particular, `iterator_facade<>`
 cannot be used to wrap pointers to abstract types any longer. With a
 large codebase that accidentally relied on this misbehaviour, we cannot
 upgrade past GCC v4.3 without this feature.

 Does anyone know if
 [http://lists.boost.org/Archives/boost/2007/10/128738.php the workaround
 above] causes any problems?

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