Boost logo

Boost :

From: Matthias Troyer (troyer_at_[hidden])
Date: 2003-10-04 07:23:36


Hi,

It seems that recently a bug in filtered_graph has appeared. I could
reduce it to the following simple test program:

#include <boost/graph/filtered_graph.hpp>
#include <boost/graph/adjacency_list.hpp>

struct nonzero_edge_weight {
   nonzero_edge_weight() { }
   template <typename Edge>
   bool operator()(const Edge& e) const {
     return true;
   }
};

int main()
{
   typedef
boost::adjacency_list<boost::vecS,boost::vecS,boost::undirectedS>
graph_type;
   graph_type graph;
   boost::filtered_graph<graph_type,nonzero_edge_weight>
g(graph,nonzero_edge_weight());
   edges(g);
}

This fails now (on g++ version 3.1 and 3.3, IBM xlC version .) with the
error messages like the following:

test.C:17: instantiated from here
/Users/troyer/src/boost/boost/graph/filtered_graph.hpp:124: no matching
    function for call to `source(const
    boost::detail::edge_desc_impl<boost::undirected_tag, size_t>&, const
    boost::filtered_graph<main()::graph_type, nonzero_edge_weight,
    boost::keep_all>&)'
/Users/troyer/src/boost/boost/graph/filtered_graph.hpp:124: no matching
    function for call to `target(const
    boost::detail::edge_desc_impl<boost::undirected_tag, size_t>&, const
    boost::filtered_graph<main()::graph_type, nonzero_edge_weight,
    boost::keep_all>&)'

Could some graph library expert (Jeremy?) look into this problem?

Best regards

Matthias


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk