template<typename DGR, typename CM, typename FM, typename TL>
class lemon::ResidualDigraph< DGR, CM, FM, TL >
ResidualDigraph can be used for composing the residual digraph for directed flow and circulation problems. Let be a directed graph and let be a number type. Let be functions on the arcs. This adaptor implements a digraph structure with node set and arc set , where and , i.e. the so called residual digraph. When the union is taken, multiplicities are counted, i.e. the adaptor has exactly arcs (it may have parallel arcs). This class conforms to the Digraph concept.
This class provides only linear time counting for nodes and arcs.
Template Parameters
DGR
The type of the adapted digraph. It must conform to the Digraph concept. It is implicitly const.
CM
The type of the capacity map. It must be an arc map of some numerical type, which defines the capacities in the flow problem. It is implicitly const. The default type is GR::ArcMap<int>.
FM
The type of the flow map. It must be an arc map of some numerical type, which defines the flow values in the flow problem. The default type is CM.
TL
The tolerance type for handling inexact computation. The default tolerance type depends on the value type of the capacity map.
The Node type of this adaptor and the adapted digraph are convertible to each other, moreover the Arc type of the adaptor is convertible to the Arc type of the adapted digraph.
template<typename DGR , typename CM , typename FM , typename TL >
void augment
(
const Arc &
a,
const Value &
v ) const
inline
Augments on the given arc in the residual digraph. It increases or decreases the flow value on the original arc according to the direction of the residual arc.