From: Buola Buola (buola69_at_[hidden])
Date: 2007-06-30 03:24:45


I was getting an strange assertion failed using the dijkstra algorithm from
the graph library. The line that fails with the assertion is line 175:

assert(smallest_value->value != 0);

I don't know how a relaxed heap works, but using assert(smallest_value!=0)
would make more sense to me.
My problem is that I am using the graph library with an adapted graph class,
and I use the indices to some vector as vertex_descriptors, so there is one
node with vertex_descriptor 0. The dijkstra algorithm uses the vertex
descriptor as indices for the relaxes heap, and the assertion fails.
Commenting out the assertion or changing it to what I wrote before (or, I
guess, just defining NDEBUG), everything works just fine.
Is there anyone who knows why this assertion is there and whether it can be
safely removed?

Thanks in advance,

     Xavi