Boost logo

Boost :

From: (noreply_at_[hidden])
Date: 2005-11-11 06:54:18

Bugs item #1353875, was opened at 2005-11-11 03:54
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting:

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Nobody/Anonymous (nobody)
Summary: predicates without default constructor fail to compile (2)

Initial Comment:
The first time I submitted I forgot to check the box for
uploading the zip archive...

I want to draw your attention to a possible flaw in the
implementation of the write_graphviz method from the
Boost Graph Library.

The current implementation uses the assignment
operator for the vertex and edge iterators. This is natural,
but some examples fail to compile with
this version. The problem comes from the predicates
witch don't have default constructors.

When trying to assign a vertex iterator of a graph
filtered with such a predicate, the compiler issues an

: no appropriate default constructor available

If a small modification in the write_graphviz
implementation is made (using copy constructors
instead of assignement operators), the example
compiles and runs sucesfully. I am using the Microsoft
Visual C++ 7.1 compiler.

In conclusion, I think that this modification should be
made, as it grows the flexibility of the library and doesn't
add any overhead.

I have attached the example (main.cpp) and the patch
for graphviz.hpp (graphviz.hpp.patch).

My e-mail adress is pdumitrache_at_[hidden]


You can respond by visiting:

SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP. Click here to play:
Boost-bugs mailing list

Boost list run by bdawes at, gregod at, cpdaniel at, john at