Boost logo

Boost Users :

Subject: [Boost-users] Boost Graph Library(biconnected_components) issue
From: Meghana.M Reddy (mreddymeghana_at_[hidden])
Date: 2018-05-07 11:22:31


Hi,

I am working on the Boost Graph Library, currently trying to create an
interface of the biconnected_components method to a Python code. I used the
example code available here
<https://www.boost.org/doc/libs/1_67_0/libs/graph/example/biconnected_components.cpp>
for the method and modified it for my purpose. The template of the method
is here
<https://www.boost.org/doc/libs/1_67_0/libs/graph/doc/biconnected_components.html>.
The final code seems fine but I get an error while compiling it. And the
errors are related to adjacency.hpp which I have not changed so I'm
confused as to what the exact problem is. Hoping someone can help me out.
My code:

class BoostGraph
{
private:
    typedef typename boost::adjacency_list<
      OutEdgeListS, VertexListS, DirectedS,
      boost::property<boost::vertex_index_t, v_index>,
      EdgeProperty, boost::no_property, EdgeListS> adjacency_list;
typedef typename boost::property_map<adjacency_list,
boost::edge_index_t>::type components;
public:
    adjacency_list graph;
    std::vector<v_index> bc_tree() {
        components components_bc = get(boost::edge_index, graph);
        std::size_t num_comps = biconnected_components(graph,
components_bc);
        std::cerr << "Found " << num_comps << " biconnected components.\n";

        std::vector<vertex_descriptor> art_points;
        articulation_points(graph, std::back_inserter(art_points));
        std::cerr << "Found " << art_points.size() << " articulation
points.\n";
        std::vector<v_index> to_return;
        return to_return;
    }

The error I'm getting:

build/cythonized/sage/graphs/base/boost_graph.cpp:3730:26: required from
here
/home/meghana/Documents/sage_gsoc/sage_may/sage/local/
include/boost/graph/detail/adjacency_list.hpp:2696:29: error: forming
reference to void
         typedef value_type& reference;
                             ^
/home/meghana/Documents/sage_gsoc/sage_may/sage/local/
include/boost/graph/detail/adjacency_list.hpp:2697:35: error: forming
reference to void
         typedef const value_type& const_reference;
                                   ^
/home/meghana/Documents/sage_gsoc/sage_may/sage/local/
include/boost/graph/detail/adjacency_list.hpp:2701:61: error: forming
reference to void
             typename Graph::vertex_descriptor,Property,Tag> type;
                                                             ^
/home/meghana/Documents/sage_gsoc/sage_may/sage/local/
include/boost/graph/detail/adjacency_list.hpp:2704:68: error: forming
reference to void
             typename Graph::vertex_descriptor,const Property, Tag>
const_type;
                                                                    ^
error: command 'gcc' failed with exit status 1
Makefile:33: recipe for target 'sage' failed
make: *** [sage] Error 1

Thank you,
Meghana



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net