Opened 15 years ago
Last modified 11 years ago
#1326 reopened Bugs
Unable to check graph isomorphism using LEDA adapter
Reported by: | Owned by: | Jeremiah Willcock | |
---|---|---|---|
Milestone: | To Be Determined | Component: | graph |
Version: | Boost Development Trunk | Severity: | Problem |
Keywords: | LEDA | Cc: | ich@… |
Description
I tried to use isomorphism() algorithm with LEDA graphs and encountered several compilation issues:
- "leda::" namespace is not used in LEDA 4.3.1, therefore declaration "leda::GRAPH<vtype,etype>" might be wrong.
- EdgeListGraph concept must be supported by a graph in order to use it by the isomorphism() algorithm. For me it's unclear why this interface is not implemented in LEDA adapter. Generally, it is possible to iterate through edges in LEDA graphs. Moreover, EdgeListGraph interface implementation may look very similar to VertexListGraph one.
- All LEDA adapter iterators publicly inherit from iterator_facade< Derived, Value, CategoryOrTraversal, Reference, Difference >
but const pointers to Value are incorrectly passed as the last argument (i.e. Difference) while ptrdiff_t is expected. It causes wrong instantiation of count() and count_if() algorithms used by isomorphism() one.
I would like to present my fixes of these problems in LEDA adapter for review. Thanks!
Attachments (1)
Change History (5)
by , 15 years ago
Attachment: | leda_graph.hpp added |
---|
comment:1 by , 13 years ago
Milestone: | To Be Determined → Boost 1.40.0 |
---|---|
Owner: | changed from | to
Status: | new → assigned |
Version: | Boost 1.34.1 → Boost Development Trunk |
I think your patch would be useful, but it needs to be updated to be against the new version of the LEDA adapter. Could you please update it?
comment:2 by , 13 years ago
Milestone: | Boost 1.40.0 → To Be Determined |
---|
comment:3 by , 13 years ago
Resolution: | → wontfix |
---|---|
Status: | assigned → closed |
I am closing all of the LEDA-related bugs unless someone else is willing to fix them.
comment:4 by , 11 years ago
Cc: | added |
---|---|
Resolution: | wontfix |
Status: | closed → reopened |
ad 1: well, LEDA 6.3 uses the LEDA namespace. I guess we should stick to the current version.
ad 3: I also encountered the wrong template parameter to iterator_facade - I will submit the patch soon.
ad 2: leda_graph.hpp now contains an edges(g) function. I will add a concept check for EdgeListGraph to the test case.
Patched LEDA graph adapter