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@boostpro.com> 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@boostpro.com
> <mailto:dave@boostpro.com>> 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@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users