gravatar
kpeter (Peter Kovacs)
kpeter@inf.elte.hu
Rename Residual to ResidualDigraph (#67) The new name is more analogous to other adaptor names.
0 2 0
default
2 files changed with 17 insertions and 18 deletions:
↑ Collapse diff ↑
Ignore white space 6 line context
... ...
@@ -2663,16 +2663,16 @@
2663 2663

	
2664 2664
  /// \ingroup graph_adaptors
2665 2665
  ///
2666 2666
  /// \brief Adaptor class for composing the residual digraph for directed
2667 2667
  /// flow and circulation problems.
2668 2668
  ///
2669
  /// Residual can be used for composing the \e residual digraph for directed
2670
  /// flow and circulation problems. Let \f$ G=(V, A) \f$ be a directed graph
2671
  /// and let \f$ F \f$ be a number type. Let \f$ flow, cap: A\to F \f$ be
2672
  /// functions on the arcs.
2669
  /// ResidualDigraph can be used for composing the \e residual digraph
2670
  /// for directed flow and circulation problems. Let \f$ G=(V, A) \f$
2671
  /// be a directed graph and let \f$ F \f$ be a number type.
2672
  /// Let \f$ flow, cap: A\to F \f$ be functions on the arcs.
2673 2673
  /// This adaptor implements a digraph structure with node set \f$ V \f$
2674 2674
  /// and arc set \f$ A_{forward}\cup A_{backward} \f$,
2675 2675
  /// where \f$ A_{forward}=\{uv : uv\in A, flow(uv)<cap(uv)\} \f$ and
2676 2676
  /// \f$ A_{backward}=\{vu : uv\in A, flow(uv)>0\} \f$, i.e. the so
2677 2677
  /// called residual digraph.
2678 2678
  /// When the union \f$ A_{forward}\cup A_{backward} \f$ is taken,
... ...
@@ -2701,19 +2701,19 @@
2701 2701
  ///
2702 2702
  /// \note The \c Node type of this adaptor and the adapted digraph are
2703 2703
  /// convertible to each other, moreover the \c Arc type of the adaptor
2704 2704
  /// is convertible to the \c Arc type of the adapted digraph.
2705 2705
#ifdef DOXYGEN
2706 2706
  template<typename GR, typename CM, typename FM, typename TL>
2707
  class Residual
2707
  class ResidualDigraph
2708 2708
#else
2709 2709
  template<typename GR,
2710 2710
           typename CM = typename GR::template ArcMap<int>,
2711 2711
           typename FM = CM,
2712 2712
           typename TL = Tolerance<typename CM::Value> >
2713
  class Residual :
2713
  class ResidualDigraph :
2714 2714
    public FilterArcs<
2715 2715
      Undirector<const GR>,
2716 2716
      typename Undirector<const GR>::template CombinedArcMap<
2717 2717
        _adaptor_bits::ResForwardFilter<const GR, CM, FM, TL>,
2718 2718
        _adaptor_bits::ResBackwardFilter<const GR, CM, FM, TL> > >
2719 2719
#endif
... ...
@@ -2727,13 +2727,13 @@
2727 2727
    /// The type of the flow map.
2728 2728
    typedef FM FlowMap;
2729 2729
    /// The tolerance type.
2730 2730
    typedef TL Tolerance;
2731 2731

	
2732 2732
    typedef typename CapacityMap::Value Value;
2733
    typedef Residual Adaptor;
2733
    typedef ResidualDigraph Adaptor;
2734 2734

	
2735 2735
  protected:
2736 2736

	
2737 2737
    typedef Undirector<const Digraph> Undirected;
2738 2738

	
2739 2739
    typedef _adaptor_bits::ResForwardFilter<const Digraph, CapacityMap,
... ...
@@ -2758,14 +2758,14 @@
2758 2758
  public:
2759 2759

	
2760 2760
    /// \brief Constructor
2761 2761
    ///
2762 2762
    /// Constructor of the residual digraph adaptor. The parameters are the
2763 2763
    /// digraph, the capacity map, the flow map, and a tolerance object.
2764
    Residual(const Digraph& digraph, const CapacityMap& capacity,
2765
             FlowMap& flow, const Tolerance& tolerance = Tolerance())
2764
    ResidualDigraph(const Digraph& digraph, const CapacityMap& capacity,
2765
                    FlowMap& flow, const Tolerance& tolerance = Tolerance())
2766 2766
      : Parent(), _capacity(&capacity), _flow(&flow), _graph(digraph),
2767 2767
        _forward_filter(capacity, flow, tolerance),
2768 2768
        _backward_filter(capacity, flow, tolerance),
2769 2769
        _arc_filter(_forward_filter, _backward_filter)
2770 2770
    {
2771 2771
      Parent::setDigraph(_graph);
... ...
@@ -2866,16 +2866,15 @@
2866 2866
  /// \brief Returns a (read-only) Residual adaptor
2867 2867
  ///
2868 2868
  /// This function just returns a (read-only) \ref Residual adaptor.
2869 2869
  /// \ingroup graph_adaptors
2870 2870
  /// \relates Residual
2871 2871
  template<typename GR, typename CM, typename FM>
2872
  Residual<GR, CM, FM> residual(const GR& digraph,
2873
                                const CM& capacity_map,
2874
                                FM& flow_map) {
2875
    return Residual<GR, CM, FM> (digraph, capacity_map, flow_map);
2872
  ResidualDigraph<GR, CM, FM>
2873
  residualDigraph(const GR& digraph, const CM& capacity_map, FM& flow_map) {
2874
    return ResidualDigraph<GR, CM, FM> (digraph, capacity_map, flow_map);
2876 2875
  }
2877 2876

	
2878 2877

	
2879 2878
  template <typename _Digraph>
2880 2879
  class SplitNodesBase {
2881 2880
  public:
Ignore white space 12 line context
... ...
@@ -578,21 +578,21 @@
578 578
  Digraph::Arc ad = e3;
579 579
  ad = e3;
580 580
  Adaptor::Edge ea = a1;
581 581
  ea = a2;
582 582
}
583 583

	
584
void checkResidual() {
584
void checkResidualDigraph() {
585 585
  // Check concepts
586
  checkConcept<concepts::Digraph, Residual<concepts::Digraph> >();
587
  checkConcept<concepts::Digraph, Residual<ListDigraph> >();
586
  checkConcept<concepts::Digraph, ResidualDigraph<concepts::Digraph> >();
587
  checkConcept<concepts::Digraph, ResidualDigraph<ListDigraph> >();
588 588

	
589 589
  // Create a digraph and an adaptor
590 590
  typedef ListDigraph Digraph;
591 591
  typedef Digraph::ArcMap<int> IntArcMap;
592
  typedef Residual<Digraph, IntArcMap> Adaptor;
592
  typedef ResidualDigraph<Digraph, IntArcMap> Adaptor;
593 593

	
594 594
  Digraph digraph;
595 595
  IntArcMap capacity(digraph), flow(digraph);
596 596
  Adaptor adaptor(digraph, capacity, flow);
597 597

	
598 598
  Digraph::Node n1 = digraph.addNode();
... ...
@@ -1467,13 +1467,13 @@
1467 1467
  // Check the digraph adaptors (using ListDigraph)
1468 1468
  checkReverseDigraph();
1469 1469
  checkSubDigraph();
1470 1470
  checkFilterNodes1();
1471 1471
  checkFilterArcs();
1472 1472
  checkUndirector();
1473
  checkResidual();
1473
  checkResidualDigraph();
1474 1474
  checkSplitNodes();
1475 1475

	
1476 1476
  // Check the graph adaptors (using ListGraph)
1477 1477
  checkSubGraph();
1478 1478
  checkFilterNodes2();
1479 1479
  checkFilterEdges();
0 comments (0 inline)