[Boost-bugs] [Boost C++ Libraries] #7455: vertex_property should inherit publicly from vertex_property_type

Subject: [Boost-bugs] [Boost C++ Libraries] #7455: vertex_property should inherit publicly from vertex_property_type
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-10-01 20:23:30


#7455: vertex_property should inherit publicly from vertex_property_type
--------------------------------+-------------------------------------------
 Reporter: sjackman@… | Owner: jewillco
     Type: Bugs | Status: new
Milestone: Boost 1.52.0 | Component: graph
  Version: Boost 1.51.0 | Severity: Problem
 Keywords: |
--------------------------------+-------------------------------------------
 Hi,

 vertex_property and edge_property should inherit publicly from
 vertex_property_type and edge_property_type. A patch follows.

 {{{
 ./ContigGraph.h:55:39: error: 'type' is a private member of
 'boost::mpl::eval_if<boost::detail::has_vertex_property_type<DirectedGraph<ContigProperties,
       Distance>, mpl_::bool_<false>>,
 boost::detail::get_vertex_property_type<DirectedGraph<ContigProperties,
       Distance>>, boost::no_property>'
         typedef typename vertex_property<G>::type vertex_property_type;
                                              ^
 /usr/local/include/boost/graph/properties.hpp:251:49: note: constrained by
       implicitly private inheritance here
   template <class Graph> class vertex_property:
 vertex_property_type<Graph> {};
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
 }}}

 Cheers,
 Shaun

 {{{
 --- graph/properties.hpp.orig 2012-09-27 11:37:48.000000000 -0700
 +++ graph/properties.hpp 2012-10-01 10:43:34.000000000 -0700
 @@ -248,8 +248,8 @@
>::type type;
    };

 - template <class Graph> class vertex_property:
 vertex_property_type<Graph> {};
 - template <class Graph> class edge_property: edge_property_type<Graph>
 {};
 + template <class Graph> class vertex_property: public
 vertex_property_type<Graph> {};
 + template <class Graph> class edge_property: public
 edge_property_type<Graph> {};

    template <typename Graph>
    class degree_property_map
 }}}

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