Re: [Boost-bugs] [Boost C++ Libraries] #11164: Graph adjacency_list, add_vertex compile error on clang 3.6

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