SubBidirGraphWrapper<..., ..., ...>::Edge is inherited from Graph::Edge. It contains an extra bool flag which is true if and only if the edge is the backward version of the original edge.
=false is needed, or causes problems? If _backward is false, then we get an edge corresponding to the original one, otherwise its oppositely directed pair is obtained.