[Boost-bugs] [Boost C++ Libraries] #6647: BGL strong_components do not compile on MSVC 8

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