Pass the indexMap parameter through to the dominator_visitor and use it
instead of get(vertex_index, g). This allows this algorithm to be used
for graphs without a vertex_index property.
Addresses bug #11742.
This appears to be fixed, we may have to patch this to ensure there's no backward compatibility issues with older compilers. Thanks for the bug report and patch.
The bug that it never gets called with the current construction remains.
The C++ standard deprecates use of <stdio.h>, <stdlib.h> etc., and suggests using <cstdio>, <cstdlib> etc.
Some trailing whitespace removed in affected files because of a setting in my editor
dead code surrounded by #if 0 ... #endif removed
* Fix labeled_graph constructors
* Wraparound bug leads to out-of-bounds addressing.
Seems obvious that `> 0` was meant (seeing the comments).
Also, if `vertices_size_type` is unsigned - which it usually (always?) is - the loop condition was never false.
* Finally, one constructor didn't properly initialize the graph property
* Copy vertex property on add_vertex
Tested with clang on El Capitan, thanks!
* Fix documentation about type alias edge_size_type -> edges_size_type
This replaces occurences of `edge_size_type` (sg.) in the documentation
with the actual `edges_size_type` (pl.) as it is named in the
implementation.
There is a graph implementation (Stanford graph) that has a type alias
of `edge_size_type` (sg.) --- I did not change that implementation, as
it would break backwards compatibility, and therefore I also did not
change its documentation.
* Fix documentation on push_relabel algorithm, defined in header: preflow_push -> push_relabel
array_binary_tree_node::children_type::iterator pretends to be a bidirectional iterator but does not define operator--, which results in compile breaks with Visual C++ 2015.
This test demonstrates incorrect output in
the order edges are finished. We're using
this test to both ensure finish_edge is
called, and that the output is incorrect.
Once we fix where the visitor is called,
this test will be changed to check for the
correct output.
If compiler doesn't support has_member_function for member
templates, use old TTI syntax to avoid compiler error.
Supported compilers are gcc 4.9 and newer, clang any platform,
and intel 12 and newer.
Changed the usage of TTI so that finish_edge is actually
called when defined. Also regularized the finish_edge
signature so E is passed by value and G by const ref.