Boost logo

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