Description
It looks to me that most of the methods inOutEdges
or inOutNeighbors
are implemented incorrectly for directed graphs. All these methods use the adjacency matrix to access edges, e.g.,
CXXGraph/include/CXXGraph/Graph/Graph_impl.hpp
Lines 715 to 725 in ae9bc56
This works well-enough for undirected graphs where the adjacency matrix is kept symmetric,
CXXGraph/include/CXXGraph/Graph/Graph_impl.hpp
Lines 94 to 121 in ae9bc56
For directed graphs the adjacency matrix is not symmetric which means that it cannot be used as-is to obtain incoming edges for a node,
CXXGraph/include/CXXGraph/Graph/Graph_impl.hpp
Lines 76 to 93 in ae9bc56
Originally posted by @bbannier in #405 (comment)