Re: [Boost-bugs] [Boost C++ Libraries] #1021: [Graph][reverse_graph] Problem using reverse_graph adapter with an adapted user defined graph

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #1021: [Graph][reverse_graph] Problem using reverse_graph adapter with an adapted user defined graph
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-11-30 17:19:32


#1021: [Graph][reverse_graph] Problem using reverse_graph adapter with an adapted
user defined graph
-------------------------------+--------------------------------------------
  Reporter: Tony.Tye@… | Owner: jewillco
      Type: Bugs | Status: reopened
 Milestone: | Component: graph
   Version: | Severity: Problem
Resolution: | Keywords:
-------------------------------+--------------------------------------------
Changes (by jeff.baumes@…):

  * status: closed => reopened
  * resolution: fixed =>

Comment:

 This bug has been reintroduced as of [64645]. The same example files from
 4 years ago cause compile issues, I just needed to update to the new path
 of property_map.hpp. I believe these six definitions inside the
 reverse_graph class should be taken out and separated from the class so
 they are only used when needed:

 {{{
 83 typedef typename graph_property_type<base_type>::type
 graph_property_type;
 84 typedef typename graph_bundle_type<base_type>::type
 graph_bundled;
 85
 86 typedef typename vertex_property_type<base_type>::type
 vertex_property_type;
 87 typedef typename vertex_bundle_type<base_type>::type
 vertex_bundled;
 88
 89 typedef typename edge_property_type<base_type>::type
 edge_property_type;
 90 typedef typename edge_bundle_type<base_type>::type
 edge_bundled;
 }}}

 The earlier fix fixed some of these, and indeed it looks like
 vertex_property_type and edge_property_type are now defined two ways, both
 inside and outside the class:

 {{{
 120 // These are separate so they are not instantiated unless used
 (see bug 1021)
 121 template <class BidirectionalGraph, class GraphRef>
 122 struct vertex_property_type<reverse_graph<BidirectionalGraph,
 GraphRef> > {
 123 typedef typename
 boost::vertex_property_type<BidirectionalGraph>::type type;
 124 };
 125
 126 template <class BidirectionalGraph, class GraphRef>
 127 struct edge_property_type<reverse_graph<BidirectionalGraph,
 GraphRef> > {
 128 typedef typename
 boost::edge_property_type<BidirectionalGraph>::type type;
 129 };
 }}}

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