Subject: Re: [Boost-bugs] [Boost C++ Libraries] #10382: 1.56.0 Graph adjacency_list has compile errors on g++ 4.6.4
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-08-20 22:13:39
#10382: 1.56.0 Graph adjacency_list has compile errors on g++ 4.6.4
----------------------------------------------+---------------------------
Reporter: Conrad Mercer <conrad.mercer@â¦> | Owner: jewillco
Type: Bugs | Status: new
Milestone: To Be Determined | Component: graph
Version: Boost 1.56.0 | Severity: Showstopper
Resolution: | Keywords: compile error
----------------------------------------------+---------------------------
Comment (by mikael.s.persson@â¦):
Here is a git-diff style patch for this.
For the switching for compiler versions, I just assumed the three cases
covered in the stored_edge_property class, that is: no rvalue support
(legacy code); rvalue and defaulting support (defaulted move functions);
and, the "msvc" exception for quirky defaulting behavior. In the legacy
version, no additional code is required in stored_edge. In the "msvc"
exception, there is also nothing required because the move functions in
stored_edge_property rely on the copy functions of stored_edge (which is
fine if "Vertex" is a POD-type, which is the case for all adj-list
variations). So, the only real code is the default move functions added
for that case when rvalue and defaulting is well supported.
I also added a defaulted copy-constructor for stored_edge. This is because
stored_edge is copyable in all other cases (and providing a move-
constructor disables the implicit copy-constructor), and therefore, should
remain so to minimize the chance of any other collateral damage elsewhere.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/10382#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:16 UTC