Subject: [Boost-bugs] [Boost C++ Libraries] #6647: BGL strong_components do not compile on MSVC 8
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-03-02 17:41:24
#6647: BGL strong_components do not compile on MSVC 8
------------------------------+---------------------------------------------
Reporter: bbias@⦠| Owner: jewillco
Type: Bugs | Status: new
Milestone: To Be Determined | Component: graph
Version: Boost 1.49.0 | Severity: Problem
Keywords: |
------------------------------+---------------------------------------------
Since boost 1.49.0 the following code does not compile anymore on MSVC 8.
{{{
#include <boost/config.hpp>
#include <vector>
#include <boost/graph/strong_components.hpp>
#include <boost/graph/adjacency_list.hpp>
int main(int, char*[])
{
using namespace boost;
adjacency_list<> G;
std::vector<int> component(num_vertices(G));
int num = strong_components(G, &component[0]);
return 0;
}
}}}
I get the following error:
{{{
c:\boost_1_49_0\boost\graph\strong_components.hpp(60) : error C2784: 'E
boost::detail::get(boost::detail::underlying_edge_desc_map_type<E>,const
boost::detail::reverse_graph_edge_descriptor<EdgeDesc> &)' : could not
deduce template argument for
'boost::detail::underlying_edge_desc_map_type<E>' from 'int *'
1> c:\boost_1_49_0\boost\graph\reverse_graph.hpp(437) : see
declaration of 'boost::detail::get'
1> c:\boost_1_49_0\boost\graph\depth_first_search.hpp(43) : see
reference to function template instantiation 'void
boost::detail::tarjan_scc_visitor<ComponentMap,RootMap,DiscoverTime,Stack>::finish_vertex<Graph>(unsigned
int,const Graph &)' being compiled
1> with
1> [
1> ComponentMap=int *,
1>
RootMap=boost::iterator_property_map<std::_Vector_iterator<Vertex,std::allocator<Vertex>>,boost::vec_adj_list_vertex_id_map<boost::no_property,unsigned
int>,unsigned int,unsigned int &>,
1>
DiscoverTime=boost::iterator_property_map<std::_Vector_iterator<Vertex,std::allocator<Vertex>>,boost::vec_adj_list_vertex_id_map<boost::no_property,unsigned
int>,unsigned int,unsigned int &>,
1> Stack=std::stack<Vertex>,
1> Graph=boost::adjacency_list<>
1> ]
1> c:\boost_1_49_0\boost\graph\depth_first_search.hpp(34) : while
compiling class template member function 'void
boost::DFSVisitorConcept<Visitor,Graph>::constraints(void)'
1> with
1> [
1> Visitor=boost::detail::tarjan_scc_visitor<int
*,boost::iterator_property_map<std::_Vector_iterator<Vertex,std::allocator<Vertex>>,boost::vec_adj_list_vertex_id_map<boost::no_property,unsigned
int>,unsigned int,unsigned int
&>,boost::iterator_property_map<std::_Vector_iterator<Vertex,std::allocator<Vertex>>,boost::vec_adj_list_vertex_id_map<boost::no_property,unsigned
int>,unsigned int,unsigned int &>,std::stack<Vertex>>,
1> Graph=boost::adjacency_list<>
1> ]
1> c:\boost_1_49_0\boost\concept\detail\has_constraints.hpp(42) :
see reference to class template instantiation
'boost::DFSVisitorConcept<Visitor,Graph>' being compiled
1> with
1> [
1> Visitor=boost::detail::tarjan_scc_visitor<int
*,boost::iterator_property_map<std::_Vector_iterator<Vertex,std::allocator<Vertex>>,boost::vec_adj_list_vertex_id_map<boost::no_property,unsigned
int>,unsigned int,unsigned int
&>,boost::iterator_property_map<std::_Vector_iterator<Vertex,std::allocator<Vertex>>,boost::vec_adj_list_vertex_id_map<boost::no_property,unsigned
int>,unsigned int,unsigned int &>,std::stack<Vertex>>,
1> Graph=boost::adjacency_list<>
1> ]
1> c:\boost_1_49_0\boost\concept\detail\msvc.hpp(53) : see
reference to class template instantiation
'boost::concepts::not_satisfied<Model>' being compiled
1> with
1> [
1>
Model=boost::DFSVisitorConcept<boost::detail::tarjan_scc_visitor<int
*,boost::iterator_property_map<std::_Vector_iterator<Vertex,std::allocator<Vertex>>,boost::vec_adj_list_vertex_id_map<boost::no_property,unsigned
int>,unsigned int,unsigned int
&>,boost::iterator_property_map<std::_Vector_iterator<Vertex,std::allocator<Vertex>>,boost::vec_adj_list_vertex_id_map<boost::no_property,unsigned
int>,unsigned int,unsigned int
&>,std::stack<Vertex>>,boost::adjacency_list<>>
1> ]
1> c:\boost_1_49_0\boost\graph\depth_first_search.hpp(191) : see
reference to class template instantiation
'boost::concepts::require<Model>' being compiled
1> with
1> [
1>
Model=boost::DFSVisitorConcept<boost::detail::tarjan_scc_visitor<int
*,boost::iterator_property_map<std::_Vector_iterator<Vertex,std::allocator<Vertex>>,boost::vec_adj_list_vertex_id_map<boost::no_property,unsigned
int>,unsigned int,unsigned int
&>,boost::iterator_property_map<std::_Vector_iterator<Vertex,std::allocator<Vertex>>,boost::vec_adj_list_vertex_id_map<boost::no_property,unsigned
int>,unsigned int,unsigned int
&>,std::stack<Vertex>>,boost::adjacency_list<>>
1> ]
1> c:\boost_1_49_0\boost\graph\depth_first_search.hpp(303) : see
reference to function template instantiation 'void
boost::depth_first_search<VertexListGraph,const
Arg,boost::shared_array_property_map<T,IndexMap>>(const VertexListGraph
&,DFSVisitor,ColorMap,unsigned int)' being compiled
1> with
1> [
1> VertexListGraph=boost::adjacency_list<>,
1> Arg=const boost::detail::tarjan_scc_visitor<int
*,boost::iterator_property_map<std::_Vector_iterator<Vertex,std::allocator<Vertex>>,boost::vec_adj_list_vertex_id_map<boost::no_property,unsigned
int>,unsigned int,unsigned int
&>,boost::iterator_property_map<std::_Vector_iterator<Vertex,std::allocator<Vertex>>,boost::vec_adj_list_vertex_id_map<boost::no_property,unsigned
int>,unsigned int,unsigned int &>,std::stack<Vertex>>,
1> T=boost::default_color_type,
1>
IndexMap=boost::vec_adj_list_vertex_id_map<boost::no_property,unsigned
int>,
1> DFSVisitor=const boost::detail::tarjan_scc_visitor<int
*,boost::iterator_property_map<std::_Vector_iterator<Vertex,std::allocator<Vertex>>,boost::vec_adj_list_vertex_id_map<boost::no_property,unsigned
int>,unsigned int,unsigned int
&>,boost::iterator_property_map<std::_Vector_iterator<Vertex,std::allocator<Vertex>>,boost::vec_adj_list_vertex_id_map<boost::no_property,unsigned
int>,unsigned int,unsigned int &>,std::stack<Vertex>>,
1>
ColorMap=boost::shared_array_property_map<boost::default_color_type,boost::vec_adj_list_vertex_id_map<boost::no_property,unsigned
int>>
1> ]
1> c:\boost_1_49_0\boost\graph\strong_components.hpp(109) : see
reference to function template instantiation 'void
boost::depth_first_search<Graph,boost::detail::tarjan_scc_visitor<ComponentMap,RootMap,DiscoverTime,Stack>,boost::graph_visitor_t,boost::bgl_named_params<T,Tag>>(const
VertexListGraph &,const
boost::bgl_named_params<boost::detail::tarjan_scc_visitor<ComponentMap,RootMap,DiscoverTime,Stack>,boost::graph_visitor_t,Base>
&)' being compiled
1> with
1> [
1> Graph=boost::adjacency_list<>,
1> ComponentMap=int *,
1>
RootMap=boost::iterator_property_map<std::_Vector_iterator<Vertex,std::allocator<Vertex>>,boost::vec_adj_list_vertex_id_map<boost::no_property,unsigned
int>,unsigned int,unsigned int &>,
1>
DiscoverTime=boost::iterator_property_map<std::_Vector_iterator<Vertex,std::allocator<Vertex>>,boost::vec_adj_list_vertex_id_map<boost::no_property,unsigned
int>,unsigned int,unsigned int &>,
1> Stack=std::stack<Vertex>,
1> T=int,
1> Tag=int,
1> VertexListGraph=boost::adjacency_list<>,
1> Base=boost::bgl_named_params<int,int>
1> ]
1> c:\boost_1_49_0\boost\graph\strong_components.hpp(152) : see
reference to function template instantiation 'int
boost::detail::strong_components_impl<Graph,ComponentMap,RootMap,boost::iterator_property_map<RandomAccessIterator,IndexMap,T,R>,int,int,boost::no_property>(const
Graph &,ComponentMap,RootMap,DiscoverTime,const
boost::bgl_named_params<int,Tag> &)' being compiled
1> with
1> [
1> Graph=boost::adjacency_list<>,
1> ComponentMap=int *,
1>
RootMap=boost::iterator_property_map<std::_Vector_iterator<Vertex,std::allocator<Vertex>>,boost::vec_adj_list_vertex_id_map<boost::no_property,unsigned
int>,unsigned int,unsigned int &>,
1>
RandomAccessIterator=std::_Vector_iterator<Vertex,std::allocator<Vertex>>,
1>
IndexMap=boost::vec_adj_list_vertex_id_map<boost::no_property,unsigned
int>,
1> T=unsigned int,
1> R=unsigned int &,
1>
DiscoverTime=boost::iterator_property_map<std::_Vector_iterator<Vertex,std::allocator<Vertex>>,boost::vec_adj_list_vertex_id_map<boost::no_property,unsigned
int>,unsigned int,unsigned int &>,
1> Tag=int
1> ]
1> c:\boost_1_49_0\boost\graph\strong_components.hpp(165) : see
reference to function template instantiation 'int
boost::detail::strong_comp_dispatch2<boost::detail::error_property_not_found>::apply<Graph,ComponentMap,RootMap,int,int,boost::no_property>(const
Graph &,ComponentMap,RootMap,const boost::bgl_named_params<T,Tag>
&,boost::detail::error_property_not_found)' being compiled
1> with
1> [
1> Graph=boost::adjacency_list<>,
1> ComponentMap=int *,
1>
RootMap=boost::iterator_property_map<std::_Vector_iterator<Vertex,std::allocator<Vertex>>,boost::vec_adj_list_vertex_id_map<boost::no_property,unsigned
int>,unsigned int,unsigned int &>,
1> T=int,
1> Tag=int
1> ]
1> c:\boost_1_49_0\boost\graph\strong_components.hpp(202) : see
reference to function template instantiation 'int
boost::detail::scc_helper2<Graph,ComponentMap,boost::iterator_property_map<RandomAccessIterator,IndexMap,T,R>,int,int,boost::no_property,boost::detail::error_property_not_found>(const
Graph &,ComponentMap,RootMap,const boost::bgl_named_params<int,Tag>
&,DiscoverTimeMap)' being compiled
1> with
1> [
1> Graph=boost::adjacency_list<>,
1> ComponentMap=int *,
1>
RandomAccessIterator=std::_Vector_iterator<Vertex,std::allocator<Vertex>>,
1>
IndexMap=boost::vec_adj_list_vertex_id_map<boost::no_property,unsigned
int>,
1> T=unsigned int,
1> R=unsigned int &,
1>
RootMap=boost::iterator_property_map<std::_Vector_iterator<Vertex,std::allocator<Vertex>>,boost::vec_adj_list_vertex_id_map<boost::no_property,unsigned
int>,unsigned int,unsigned int &>,
1> Tag=int,
1> DiscoverTimeMap=boost::detail::error_property_not_found
1> ]
1> c:\boost_1_49_0\boost\graph\strong_components.hpp(215) : see
reference to function template instantiation 'int
boost::detail::strong_comp_dispatch1<boost::detail::error_property_not_found>::apply<Graph,ComponentMap,int,int,boost::no_property>(const
Graph &,ComponentMap,const boost::bgl_named_params<T,Tag>
&,boost::detail::error_property_not_found)' being compiled
1> with
1> [
1> Graph=boost::adjacency_list<>,
1> ComponentMap=int *,
1> T=int,
1> Tag=int
1> ]
1> c:\boost_1_49_0\boost\graph\strong_components.hpp(230) : see
reference to function template instantiation 'int
boost::detail::scc_helper1<Graph,ComponentMap,boost::detail::error_property_not_found,int,int,boost::no_property>(const
Graph &,ComponentMap,const boost::bgl_named_params<T,Tag> &,RootMap)'
being compiled
1> with
1> [
1> Graph=boost::adjacency_list<>,
1> ComponentMap=int *,
1> T=int,
1> Tag=int,
1> RootMap=boost::detail::error_property_not_found
1> ]
1> c:\boost_1_49_0\boost\graph\strong_components.hpp(241) : see
reference to function template instantiation 'int
boost::strong_components<Graph,ComponentMap,int,int,boost::no_property>(const
Graph &,ComponentMap,const boost::bgl_named_params<T,Tag>
&,boost::graph::detail::no_parameter)' being compiled
1> with
1> [
1> Graph=boost::adjacency_list<>,
1> ComponentMap=int *,
1> T=int,
1> Tag=int
1> ]
1> c:\boost_graph_test\test\test.cpp(13) : see reference to
function template instantiation 'int
boost::strong_components<boost::adjacency_list<>,int*>(const Graph
&,ComponentMap,boost::graph::detail::no_parameter)' being compiled
1> with
1> [
1> Graph=boost::adjacency_list<>,
1> ComponentMap=int *
1> ]
}}}
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/6647> 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:09 UTC