Subject: Re: [Boost-bugs] [Boost C++ Libraries] #11164: Graph adjacency_list, add_vertex compile error on clang 3.6
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-02-03 00:24:39
#11164: Graph adjacency_list, add_vertex compile error on clang 3.6
-------------------------------+----------------------
Reporter: dstoeckel@⦠| Owner: jewillco
Type: Bugs | Status: new
Milestone: To Be Determined | Component: graph
Version: Boost 1.57.0 | Severity: Problem
Resolution: | Keywords:
-------------------------------+----------------------
Comment (by anonymous):
Ok, that explains a lot. In addition it needs to be remain default
constructible, and if the containing adjacency list is copied also copy-
assignable/constructible. This is also stated in the documentation:
http://www.boost.org/doc/libs/1_60_0/libs/graph/doc/adjacency_list.html:
''The types of all property values must be Copy Constructible, Assignable,
and Default Constructible.''
and also in practice:
boost/graph/detail/adjacency_list.hpp:2156
{{{
m_vertices[v].m_property = x.m_vertices[i].m_property;
}}}
The reason why I proposed the above patch was that I have a legacy C++98
code base that broke due to this requirement. Actually, every property
requiring a custom copy-constructor/assignment operator should be hit by
this. While this was fine before, now the full set of
constructors/operators needs to be implemented...
Fortunately, in my case adapting the code and sprinkling in some #ifdefs
for older/non-standard platforms is unproblematical.
However, to avoid confusion, the documentation should be updated to
reflect the changed requirements.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/11164#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:19 UTC