Error compiling Boost::graph crs_graph

Dear all, I have been using the compressed_sparse_row_graph quite extensively in past. Now, I am working under Linux with Boost 1.55 and I am lost trying to compile the following toy piece of code: #include <vector> #include <boost/graph/compressed_sparse_row_graph.hpp> int main() { typedef boost::compressed_sparse_row_graph<boost::directedS, boost::no_property, int> gtype; std::vector<boost::graph_traits<gtype>::edge_descriptor> edges; std::vector< int > distances; gtype graph(boost::edges_are_unsorted_t(), edges.begin(), edges.end(), distances.begin(), edges.size()); return 0; } Just compile with g++ 4.8.2 and you get In file included from /usr/include/boost/graph/detail/compressed_sparse_row_struct.hpp:33:0, from /usr/include/boost/graph/compressed_sparse_row_graph.hpp:29, from prova_icl.cpp:2: /usr/include/boost/graph/detail/histogram_sort.hpp: In instantiation of ���void boost::graph::detail::split_into_separate_coords(InputIterator, InputIterator, std::vector<Property>&, std::vector<Property>&) [with InputIterator = __gnu_cxx::__normal_iterator<boost::detail::csr_edge_descriptor<long unsigned int, long unsigned int>*, std::vector<boost::detail::csr_edge_descriptor<long unsigned int, long unsigned int> > >; VerticesSize = long unsigned int]���: /usr/include/boost/graph/compressed_sparse_row_graph.hpp:466:46: required from ���boost::compressed_sparse_row_graph<boost::directedS, VertexProperty, EdgeProperty, GraphProperty, Vertex, EdgeIndex>::compressed_sparse_row_graph(boost::edges_are_unsorted_t, InputIterator, InputIterator, EdgePropertyIterator, boost::compressed_sparse_row_graph<boost::directedS, VertexProperty, EdgeProperty, GraphProperty, Vertex, EdgeIndex>::vertices_size_type, const GraphProperty&) [with InputIterator = __gnu_cxx::__normal_iterator<boost::detail::csr_edge_descriptor<long unsigned int, long unsigned int>*, std::vector<boost::detail::csr_edge_descriptor<long unsigned int, long unsigned int> > >; EdgePropertyIterator = __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> >
; VertexProperty = boost::no_property; EdgeProperty = int; GraphProperty = boost::no_property; Vertex = long unsigned int; EdgeIndex = long unsigned int; boost::compressed_sparse_row_graph<boost::directedS, VertexProperty, EdgeProperty, GraphProperty, Vertex, EdgeIndex>::vertices_size_type = long unsigned int]��� prova_icl.cpp:14:34: required from here /usr/include/boost/graph/detail/histogram_sort.hpp:226:51: error: conversion from ���boost::detail::csr_edge_descriptor<long unsigned int, long unsigned int>��� to non-scalar type ���std::pair<long unsigned int, long unsigned int>��� requested std::pair<VerticesSize, VerticesSize> edge = *begin;
What the xxx is happening? In my understanding sounds like there conversion from an edge_descriptor to a pair....Any ideas?? Best, Andrea Cassioli
participants (1)
-
Andrea Cassioli