|
Boost Users : |
Subject: Re: [Boost-users] [graph] predecessor_recorder and VertexList=listS
From: M. Siebeneicher (trashing_at_[hidden])
Date: 2008-11-10 12:00:55
Hello Andrew,
thank you for your suggestions. Unfortunately I still have compile problems. I tried both ways, indexing by bundled properties and by using an external map.
Inside the call of breadth_first_search(...) both ways end with the same compiler error (partially in german) :
boost_1_35_0\boost\graph\visitors.hpp(160): error C2664: 'void put<std::allocator<_Ty>::value_type,Vertex>(T * ,ptrdiff_t,const V & )': Konvertierung des Parameters 2 von 'boost::adjacency_list_traits<OutEdgeListS,VertexListS,DirectedS>::vertex_descriptor ' in 'ptrdiff_t' nicht möglich
with
[
_Ty=boost::detail::adj_list_gen<boost::adjacency_list<boost::listS,boost::listS,boost::bidirectionalS,boost::property<boost::vertex_distance_t,unsigned int,de::audi::scenetree::VertexContainer>,GeoTrafo::cPose>,boost::listS,boost::listS,boost::bidirectionalS,boost::detail::retag_property_list<boost::vertex_bundle_t,boost::property<boost::vertex_distance_t,unsigned int,de::audi::scenetree::VertexContainer>>::type,boost::detail::retag_property_list<boost::edge_bundle_t,GeoTrafo::cPose>::type,boost::no_property,boost::listS>::config::vertex_ptr ,
Vertex=boost::adjacency_list_traits<boost::listS,boost::listS,boost::bidirectionalS>::vertex_descriptor,
T=std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::listS,boost::listS,boost::bidirectionalS,boost::property<boost::vertex_distance_t,unsigned int,de::audi::scenetree::VertexContainer>,GeoTrafo::cPose>,boost::listS,boost::listS,boost::bidirectionalS,boost::detail::retag_property_list<boost::vertex_bundle_t,boost::property<boost::vertex_distance_t,unsigned int,de::audi::scenetree::VertexContainer>>::type,boost::detail::retag_property_list<boost::edge_bundle_t,GeoTrafo::cPose>::type,boost::no_property,boost::listS>::config::vertex_ptr >::value_type,
V=boost::adjacency_list_traits<boost::listS,boost::listS,boost::bidirectionalS>::vertex_descriptor
]
and
[
OutEdgeListS=boost::listS,
VertexListS=boost::listS,
DirectedS=boost::bidirectionalS
]
Diese Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
For example index and property map definition with bundled property:
typedef unsigned int VertexID;
class SCENETREELIB_API VertexContainer
{
public:
VertexID m_idVertex;
}
typedef property_map<BGLGraph, VertexID VertexContainer::*>::type IndexMap;
// Build the property map
IndexMap im = get(&VertexContainer::m_idVertex, graphIn);
std::vector<BGLVertexDescriptor> p(num_vertices(graphIn));
Any further suggestions?
greetz
Manuel
-- Ist Ihr Browser Vista-kompatibel? Jetzt die neuesten Browser-Versionen downloaden: http://www.gmx.net/de/go/browser
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