Boost logo

Boost Users :

From: Abde Ali Kagalwalla (abdeali.iitb_at_[hidden])
Date: 2008-06-24 13:45:02


Hi,

I want to use bbox as a bundled vertex property, not a bundled edge
property. This is the code I was trying to compile:

vector<bbox> A;
adjacency_list<vecS, vecS, undirectedS, bbox> G;

for (int i=0; i<A.size(), i++){
     add_vertex(A[i]);
}

vector<bbox>::iterator pi;
vector<bbox>::iterator pj;

for(pi = boxVector.begin(); pi!=boxVector.end(); pi++){

     for( pj = pi+1 ; pj!=boxVector.end(); pj++){

               add_edge(*pi, *pj, G);
}}

Should'nt bbox now be accepted as a valid vertex descriptor by the add_edge
function?
on compiling this, I get that "no matching function for add_edge<bbox&,
bbox&,adjacency_list<vecS, vecS, undirectedS, bbox> >"
So, how should I implement this to get bbox as a bundled vertex property?

Thanks

Abde Ali

On Mon, Jun 23, 2008 at 11:30 PM, David Abrahams <dave_at_[hidden]> wrote:

> Abde Ali Kagalwalla wrote:
> > Hi Dave,
> >
> > It is still not clear.
> > What should my parameters be for the function add_edge() to construct
> > the graph with bbox objects as edges?
>
> I'm not sure how to answer you helpfully because there seem to be a few
> misconceptions here. To start with, the edge properties are not the
> edges themselves; they're just associated properties. Secondly, the
> graph you've declared doesn't specify any bundled edge properties; it
> specifies bbox as a bundled vertex property.
>
> ...but the straightforward answer to your question is that the first two
> parameters to add_edge should be vertex descriptors, usually as obtained
> from the add_vertex function.
>
> >
> > Thanks,
> >
> > Abde Ali
> >
> > On Tue, Jun 24, 2008 at 5:45 AM, David Abrahams <dave_at_[hidden]
> > <mailto:dave_at_[hidden]>> wrote:
> >
> > Abde Ali Kagalwalla wrote:
> > > I just started using the graph library.....
> > > I want to store a class I created called bbox as vertices of a
> graph.
> > > So, I just used the bundled properties mentioned as mentioned in
> the
> > > documentation.
> > >
> > > So here is a relevant portion of the code:
> > >
> > > vector<bbox> A;
> > >
> > > boost::adjacency_list<vecS, vecS, undirectedS, bbox> G;
> > >
> > > for (int i=0; i<A.size(); i++){
> > > for(int j=i+1; j<A.size();j++{
> > > add_edge(A[i], A[j], G);
> > > }}
> > >
> >
>
> HTH,
>
> --
> Dave Abrahams
> BoostPro Computing
> http://www.boostpro.com
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>



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