Unify the sources (#339)
authorAlpar Juttner <alpar@cs.elte.hu>
Sat, 06 Mar 2010 14:35:12 +0000
changeset 877141f9c0db4a3
parent 876 7f6e2bd76654
child 879 38213abd2911
child 931 f112c18bc304
Unify the sources (#339)
demo/arg_parser_demo.cc
doc/groups.dox
doc/mainpage.dox
doc/min_cost_flow.dox
lemon/adaptors.h
lemon/arg_parser.cc
lemon/arg_parser.h
lemon/bellman_ford.h
lemon/bfs.h
lemon/binomial_heap.h
lemon/bits/array_map.h
lemon/bits/default_map.h
lemon/bits/edge_set_extender.h
lemon/bits/solver_bits.h
lemon/bits/windows.cc
lemon/bucket_heap.h
lemon/capacity_scaling.h
lemon/cbc.h
lemon/circulation.h
lemon/clp.cc
lemon/clp.h
lemon/concepts/digraph.h
lemon/concepts/graph.h
lemon/concepts/graph_components.h
lemon/concepts/heap.h
lemon/connectivity.h
lemon/core.h
lemon/cost_scaling.h
lemon/cplex.cc
lemon/cycle_canceling.h
lemon/dfs.h
lemon/dijkstra.h
lemon/dimacs.h
lemon/edge_set.h
lemon/euler.h
lemon/fractional_matching.h
lemon/full_graph.h
lemon/glpk.cc
lemon/glpk.h
lemon/gomory_hu.h
lemon/graph_to_eps.h
lemon/hao_orlin.h
lemon/hartmann_orlin_mmc.h
lemon/howard_mmc.h
lemon/karp_mmc.h
lemon/lgf_reader.h
lemon/lgf_writer.h
lemon/list_graph.h
lemon/lp.h
lemon/lp_base.cc
lemon/lp_base.h
lemon/lp_skeleton.cc
lemon/lp_skeleton.h
lemon/maps.h
lemon/matching.h
lemon/math.h
lemon/min_cost_arborescence.h
lemon/network_simplex.h
lemon/path.h
lemon/planarity.h
lemon/preflow.h
lemon/smart_graph.h
lemon/soplex.cc
lemon/soplex.h
lemon/static_graph.h
lemon/suurballe.h
lemon/unionfind.h
test/bellman_ford_test.cc
test/bfs_test.cc
test/circulation_test.cc
test/connectivity_test.cc
test/dfs_test.cc
test/digraph_test.cc
test/dijkstra_test.cc
test/edge_set_test.cc
test/euler_test.cc
test/fractional_matching_test.cc
test/gomory_hu_test.cc
test/graph_test.cc
test/hao_orlin_test.cc
test/maps_test.cc
test/matching_test.cc
test/min_cost_arborescence_test.cc
test/min_cost_flow_test.cc
test/min_mean_cycle_test.cc
test/preflow_test.cc
test/suurballe_test.cc
test/test_tools.h
tools/dimacs-solver.cc
     1.1 --- a/demo/arg_parser_demo.cc	Wed Mar 17 12:35:52 2010 +0100
     1.2 +++ b/demo/arg_parser_demo.cc	Sat Mar 06 14:35:12 2010 +0000
     1.3 @@ -2,7 +2,7 @@
     1.4   *
     1.5   * This file is a part of LEMON, a generic C++ optimization library.
     1.6   *
     1.7 - * Copyright (C) 2003-2009
     1.8 + * Copyright (C) 2003-2010
     1.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
    1.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
    1.11   *
    1.12 @@ -69,7 +69,7 @@
    1.13    // exit(1) on these cases, but this makes Valgrind falsely warn
    1.14    // about memory leaks.
    1.15    ap.throwOnProblems();
    1.16 -  
    1.17 +
    1.18    // Perform the parsing process
    1.19    // (in case of any error it terminates the program)
    1.20    // The try {} construct is necessary only if the ap.trowOnProblems()
     2.1 --- a/doc/groups.dox	Wed Mar 17 12:35:52 2010 +0100
     2.2 +++ b/doc/groups.dox	Sat Mar 06 14:35:12 2010 +0000
     2.3 @@ -2,7 +2,7 @@
     2.4   *
     2.5   * This file is a part of LEMON, a generic C++ optimization library.
     2.6   *
     2.7 - * Copyright (C) 2003-2009
     2.8 + * Copyright (C) 2003-2010
     2.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
    2.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
    2.11   *
     3.1 --- a/doc/mainpage.dox	Wed Mar 17 12:35:52 2010 +0100
     3.2 +++ b/doc/mainpage.dox	Sat Mar 06 14:35:12 2010 +0000
     3.3 @@ -2,7 +2,7 @@
     3.4   *
     3.5   * This file is a part of LEMON, a generic C++ optimization library.
     3.6   *
     3.7 - * Copyright (C) 2003-2009
     3.8 + * Copyright (C) 2003-2010
     3.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
    3.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
    3.11   *
    3.12 @@ -25,7 +25,7 @@
    3.13  and <b>O</b>ptimization in <b>N</b>etworks</i>.
    3.14  It is a C++ template library providing efficient implementations of common
    3.15  data structures and algorithms with focus on combinatorial optimization
    3.16 -tasks connected mainly with graphs and networks. 
    3.17 +tasks connected mainly with graphs and networks.
    3.18  
    3.19  <b>
    3.20  LEMON is an <a class="el" href="http://opensource.org/">open&nbsp;source</a>
    3.21 @@ -35,7 +35,7 @@
    3.22  \ref license "license terms".
    3.23  </b>
    3.24  
    3.25 -The project is maintained by the 
    3.26 +The project is maintained by the
    3.27  <a href="http://www.cs.elte.hu/egres/">Egerv&aacute;ry Research Group on
    3.28  Combinatorial Optimization</a> \ref egres
    3.29  at the Operations Research Department of the
     4.1 --- a/doc/min_cost_flow.dox	Wed Mar 17 12:35:52 2010 +0100
     4.2 +++ b/doc/min_cost_flow.dox	Sat Mar 06 14:35:12 2010 +0000
     4.3 @@ -2,7 +2,7 @@
     4.4   *
     4.5   * This file is a part of LEMON, a generic C++ optimization library.
     4.6   *
     4.7 - * Copyright (C) 2003-2009
     4.8 + * Copyright (C) 2003-2010
     4.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
    4.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
    4.11   *
    4.12 @@ -81,7 +81,7 @@
    4.13     - \f$\pi(u)\leq 0\f$;
    4.14     - if \f$\sum_{uv\in A} f(uv) - \sum_{vu\in A} f(vu) \neq sup(u)\f$,
    4.15       then \f$\pi(u)=0\f$.
    4.16 - 
    4.17 +
    4.18  Here \f$cost^\pi(uv)\f$ denotes the \e reduced \e cost of the arc
    4.19  \f$uv\in A\f$ with respect to the potential function \f$\pi\f$, i.e.
    4.20  \f[ cost^\pi(uv) = cost(uv) + \pi(u) - \pi(v).\f]
    4.21 @@ -119,7 +119,7 @@
    4.22      sup(u) \quad \forall u\in V \f]
    4.23  \f[ lower(uv) \leq f(uv) \leq upper(uv) \quad \forall uv\in A \f]
    4.24  
    4.25 -It means that the total demand must be less or equal to the 
    4.26 +It means that the total demand must be less or equal to the
    4.27  total supply (i.e. \f$\sum_{u\in V} sup(u)\f$ must be zero or
    4.28  positive) and all the demands have to be satisfied, but there
    4.29  could be supplies that are not carried out from the supply
     5.1 --- a/lemon/adaptors.h	Wed Mar 17 12:35:52 2010 +0100
     5.2 +++ b/lemon/adaptors.h	Sat Mar 06 14:35:12 2010 +0000
     5.3 @@ -2,7 +2,7 @@
     5.4   *
     5.5   * This file is a part of LEMON, a generic C++ optimization library.
     5.6   *
     5.7 - * Copyright (C) 2003-2009
     5.8 + * Copyright (C) 2003-2010
     5.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
    5.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
    5.11   *
    5.12 @@ -421,7 +421,7 @@
    5.13      void initialize(DGR& digraph, NF& node_filter, AF& arc_filter) {
    5.14        Parent::initialize(digraph);
    5.15        _node_filter = &node_filter;
    5.16 -      _arc_filter = &arc_filter;      
    5.17 +      _arc_filter = &arc_filter;
    5.18      }
    5.19  
    5.20    public:
    5.21 @@ -508,11 +508,11 @@
    5.22    public:
    5.23  
    5.24      template <typename V>
    5.25 -    class NodeMap 
    5.26 -      : public SubMapExtender<SubDigraphBase<DGR, NF, AF, ch>, 
    5.27 -	      LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, NodeMap<V>)> {
    5.28 +    class NodeMap
    5.29 +      : public SubMapExtender<SubDigraphBase<DGR, NF, AF, ch>,
    5.30 +              LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, NodeMap<V>)> {
    5.31        typedef SubMapExtender<SubDigraphBase<DGR, NF, AF, ch>,
    5.32 -	LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, NodeMap<V>)> Parent;
    5.33 +        LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, NodeMap<V>)> Parent;
    5.34  
    5.35      public:
    5.36        typedef V Value;
    5.37 @@ -535,9 +535,9 @@
    5.38      };
    5.39  
    5.40      template <typename V>
    5.41 -    class ArcMap 
    5.42 +    class ArcMap
    5.43        : public SubMapExtender<SubDigraphBase<DGR, NF, AF, ch>,
    5.44 -	      LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, ArcMap<V>)> {
    5.45 +              LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, ArcMap<V>)> {
    5.46        typedef SubMapExtender<SubDigraphBase<DGR, NF, AF, ch>,
    5.47          LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, ArcMap<V>)> Parent;
    5.48  
    5.49 @@ -582,7 +582,7 @@
    5.50      void initialize(DGR& digraph, NF& node_filter, AF& arc_filter) {
    5.51        Parent::initialize(digraph);
    5.52        _node_filter = &node_filter;
    5.53 -      _arc_filter = &arc_filter;      
    5.54 +      _arc_filter = &arc_filter;
    5.55      }
    5.56  
    5.57    public:
    5.58 @@ -651,10 +651,10 @@
    5.59      }
    5.60  
    5.61      template <typename V>
    5.62 -    class NodeMap 
    5.63 +    class NodeMap
    5.64        : public SubMapExtender<SubDigraphBase<DGR, NF, AF, false>,
    5.65            LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, NodeMap<V>)> {
    5.66 -      typedef SubMapExtender<SubDigraphBase<DGR, NF, AF, false>, 
    5.67 +      typedef SubMapExtender<SubDigraphBase<DGR, NF, AF, false>,
    5.68          LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, NodeMap<V>)> Parent;
    5.69  
    5.70      public:
    5.71 @@ -678,7 +678,7 @@
    5.72      };
    5.73  
    5.74      template <typename V>
    5.75 -    class ArcMap 
    5.76 +    class ArcMap
    5.77        : public SubMapExtender<SubDigraphBase<DGR, NF, AF, false>,
    5.78            LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, ArcMap<V>)> {
    5.79        typedef SubMapExtender<SubDigraphBase<DGR, NF, AF, false>,
    5.80 @@ -1021,10 +1021,10 @@
    5.81      }
    5.82  
    5.83      template <typename V>
    5.84 -    class NodeMap 
    5.85 +    class NodeMap
    5.86        : public SubMapExtender<SubGraphBase<GR, NF, EF, ch>,
    5.87            LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, NodeMap<V>)> {
    5.88 -      typedef SubMapExtender<SubGraphBase<GR, NF, EF, ch>, 
    5.89 +      typedef SubMapExtender<SubGraphBase<GR, NF, EF, ch>,
    5.90          LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, NodeMap<V>)> Parent;
    5.91  
    5.92      public:
    5.93 @@ -1048,10 +1048,10 @@
    5.94      };
    5.95  
    5.96      template <typename V>
    5.97 -    class ArcMap 
    5.98 +    class ArcMap
    5.99        : public SubMapExtender<SubGraphBase<GR, NF, EF, ch>,
   5.100            LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, ArcMap<V>)> {
   5.101 -      typedef SubMapExtender<SubGraphBase<GR, NF, EF, ch>, 
   5.102 +      typedef SubMapExtender<SubGraphBase<GR, NF, EF, ch>,
   5.103          LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, ArcMap<V>)> Parent;
   5.104  
   5.105      public:
   5.106 @@ -1075,10 +1075,10 @@
   5.107      };
   5.108  
   5.109      template <typename V>
   5.110 -    class EdgeMap 
   5.111 +    class EdgeMap
   5.112        : public SubMapExtender<SubGraphBase<GR, NF, EF, ch>,
   5.113          LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, EdgeMap<V>)> {
   5.114 -      typedef SubMapExtender<SubGraphBase<GR, NF, EF, ch>, 
   5.115 +      typedef SubMapExtender<SubGraphBase<GR, NF, EF, ch>,
   5.116          LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, EdgeMap<V>)> Parent;
   5.117  
   5.118      public:
   5.119 @@ -1117,8 +1117,8 @@
   5.120    protected:
   5.121      NF* _node_filter;
   5.122      EF* _edge_filter;
   5.123 -    SubGraphBase() 
   5.124 -	  : Parent(), _node_filter(0), _edge_filter(0) { }
   5.125 +    SubGraphBase()
   5.126 +          : Parent(), _node_filter(0), _edge_filter(0) { }
   5.127  
   5.128      void initialize(GR& graph, NF& node_filter, EF& edge_filter) {
   5.129        Parent::initialize(graph);
   5.130 @@ -1219,10 +1219,10 @@
   5.131      }
   5.132  
   5.133      template <typename V>
   5.134 -    class NodeMap 
   5.135 +    class NodeMap
   5.136        : public SubMapExtender<SubGraphBase<GR, NF, EF, false>,
   5.137            LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, NodeMap<V>)> {
   5.138 -      typedef SubMapExtender<SubGraphBase<GR, NF, EF, false>, 
   5.139 +      typedef SubMapExtender<SubGraphBase<GR, NF, EF, false>,
   5.140          LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, NodeMap<V>)> Parent;
   5.141  
   5.142      public:
   5.143 @@ -1246,10 +1246,10 @@
   5.144      };
   5.145  
   5.146      template <typename V>
   5.147 -    class ArcMap 
   5.148 +    class ArcMap
   5.149        : public SubMapExtender<SubGraphBase<GR, NF, EF, false>,
   5.150            LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, ArcMap<V>)> {
   5.151 -      typedef SubMapExtender<SubGraphBase<GR, NF, EF, false>, 
   5.152 +      typedef SubMapExtender<SubGraphBase<GR, NF, EF, false>,
   5.153          LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, ArcMap<V>)> Parent;
   5.154  
   5.155      public:
   5.156 @@ -1273,11 +1273,11 @@
   5.157      };
   5.158  
   5.159      template <typename V>
   5.160 -    class EdgeMap 
   5.161 +    class EdgeMap
   5.162        : public SubMapExtender<SubGraphBase<GR, NF, EF, false>,
   5.163          LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, EdgeMap<V>)> {
   5.164 -      typedef SubMapExtender<SubGraphBase<GR, NF, EF, false>, 
   5.165 -	LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, EdgeMap<V>)> Parent;
   5.166 +      typedef SubMapExtender<SubGraphBase<GR, NF, EF, false>,
   5.167 +        LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, EdgeMap<V>)> Parent;
   5.168  
   5.169      public:
   5.170        typedef V Value;
   5.171 @@ -1504,7 +1504,7 @@
   5.172                       true> > {
   5.173  #endif
   5.174      typedef DigraphAdaptorExtender<
   5.175 -      SubDigraphBase<GR, NF, ConstMap<typename GR::Arc, Const<bool, true> >, 
   5.176 +      SubDigraphBase<GR, NF, ConstMap<typename GR::Arc, Const<bool, true> >,
   5.177                       true> > Parent;
   5.178  
   5.179    public:
   5.180 @@ -1525,7 +1525,7 @@
   5.181      ///
   5.182      /// Creates a subgraph for the given digraph or graph with the
   5.183      /// given node filter map.
   5.184 -    FilterNodes(GR& graph, NF& node_filter) 
   5.185 +    FilterNodes(GR& graph, NF& node_filter)
   5.186        : Parent(), const_true_map()
   5.187      {
   5.188        Parent::initialize(graph, node_filter, const_true_map);
   5.189 @@ -1563,11 +1563,11 @@
   5.190    class FilterNodes<GR, NF,
   5.191                      typename enable_if<UndirectedTagIndicator<GR> >::type> :
   5.192      public GraphAdaptorExtender<
   5.193 -      SubGraphBase<GR, NF, ConstMap<typename GR::Edge, Const<bool, true> >, 
   5.194 +      SubGraphBase<GR, NF, ConstMap<typename GR::Edge, Const<bool, true> >,
   5.195                     true> > {
   5.196  
   5.197      typedef GraphAdaptorExtender<
   5.198 -      SubGraphBase<GR, NF, ConstMap<typename GR::Edge, Const<bool, true> >, 
   5.199 +      SubGraphBase<GR, NF, ConstMap<typename GR::Edge, Const<bool, true> >,
   5.200                     true> > Parent;
   5.201  
   5.202    public:
   5.203 @@ -1653,7 +1653,7 @@
   5.204                       AF, false> > {
   5.205  #endif
   5.206      typedef DigraphAdaptorExtender<
   5.207 -      SubDigraphBase<DGR, ConstMap<typename DGR::Node, Const<bool, true> >, 
   5.208 +      SubDigraphBase<DGR, ConstMap<typename DGR::Node, Const<bool, true> >,
   5.209                       AF, false> > Parent;
   5.210  
   5.211    public:
   5.212 @@ -1761,11 +1761,11 @@
   5.213             typename EF = typename GR::template EdgeMap<bool> >
   5.214    class FilterEdges :
   5.215      public GraphAdaptorExtender<
   5.216 -      SubGraphBase<GR, ConstMap<typename GR::Node, Const<bool, true> >, 
   5.217 +      SubGraphBase<GR, ConstMap<typename GR::Node, Const<bool, true> >,
   5.218                     EF, false> > {
   5.219  #endif
   5.220      typedef GraphAdaptorExtender<
   5.221 -      SubGraphBase<GR, ConstMap<typename GR::Node, Const<bool, true > >, 
   5.222 +      SubGraphBase<GR, ConstMap<typename GR::Node, Const<bool, true > >,
   5.223                     EF, false> > Parent;
   5.224  
   5.225    public:
   5.226 @@ -1790,7 +1790,7 @@
   5.227      ///
   5.228      /// Creates a subgraph for the given graph with the given edge
   5.229      /// filter map.
   5.230 -    FilterEdges(GR& graph, EF& edge_filter) 
   5.231 +    FilterEdges(GR& graph, EF& edge_filter)
   5.232        : Parent(), const_true_map() {
   5.233        Parent::initialize(graph, const_true_map, edge_filter);
   5.234      }
   5.235 @@ -1858,7 +1858,7 @@
   5.236        Edge _edge;
   5.237        bool _forward;
   5.238  
   5.239 -      Arc(const Edge& edge, bool forward) 
   5.240 +      Arc(const Edge& edge, bool forward)
   5.241          : _edge(edge), _forward(forward) {}
   5.242  
   5.243      public:
   5.244 @@ -2098,7 +2098,7 @@
   5.245          _forward(*adaptor._digraph), _backward(*adaptor._digraph) {}
   5.246  
   5.247        ArcMapBase(const UndirectorBase<DGR>& adaptor, const V& value)
   5.248 -        : _forward(*adaptor._digraph, value), 
   5.249 +        : _forward(*adaptor._digraph, value),
   5.250            _backward(*adaptor._digraph, value) {}
   5.251  
   5.252        void set(const Arc& a, const V& value) {
   5.253 @@ -2216,7 +2216,7 @@
   5.254  
   5.255      typedef typename ItemSetTraits<DGR, Edge>::ItemNotifier EdgeNotifier;
   5.256      EdgeNotifier& notifier(Edge) const { return _digraph->notifier(Edge()); }
   5.257 -    
   5.258 +
   5.259      typedef EdgeNotifier ArcNotifier;
   5.260      ArcNotifier& notifier(Arc) const { return _digraph->notifier(Edge()); }
   5.261  
   5.262 @@ -2728,7 +2728,7 @@
   5.263             typename CM = typename DGR::template ArcMap<int>,
   5.264             typename FM = CM,
   5.265             typename TL = Tolerance<typename CM::Value> >
   5.266 -  class ResidualDigraph 
   5.267 +  class ResidualDigraph
   5.268      : public SubDigraph<
   5.269          Undirector<const DGR>,
   5.270          ConstMap<typename DGR::Node, Const<bool, true> >,
   5.271 @@ -2785,7 +2785,7 @@
   5.272      /// digraph, the capacity map, the flow map, and a tolerance object.
   5.273      ResidualDigraph(const DGR& digraph, const CM& capacity,
   5.274                      FM& flow, const TL& tolerance = Tolerance())
   5.275 -      : Parent(), _capacity(&capacity), _flow(&flow), 
   5.276 +      : Parent(), _capacity(&capacity), _flow(&flow),
   5.277          _graph(digraph), _node_filter(),
   5.278          _forward_filter(capacity, flow, tolerance),
   5.279          _backward_filter(capacity, flow, tolerance),
   5.280 @@ -2867,7 +2867,7 @@
   5.281        typedef typename CapacityMap::Value Value;
   5.282  
   5.283        /// Constructor
   5.284 -      ResidualCapacity(const ResidualDigraph<DGR, CM, FM, TL>& adaptor) 
   5.285 +      ResidualCapacity(const ResidualDigraph<DGR, CM, FM, TL>& adaptor)
   5.286          : _adaptor(&adaptor) {}
   5.287  
   5.288        /// Returns the value associated with the given residual arc
   5.289 @@ -3447,7 +3447,7 @@
   5.290      /// This map adaptor class adapts two node maps of the original digraph
   5.291      /// to get a node map of the split digraph.
   5.292      /// Its value type is inherited from the first node map type (\c IN).
   5.293 -    /// \tparam IN The type of the node map for the in-nodes. 
   5.294 +    /// \tparam IN The type of the node map for the in-nodes.
   5.295      /// \tparam OUT The type of the node map for the out-nodes.
   5.296      template <typename IN, typename OUT>
   5.297      class CombinedNodeMap {
     6.1 --- a/lemon/arg_parser.cc	Wed Mar 17 12:35:52 2010 +0100
     6.2 +++ b/lemon/arg_parser.cc	Sat Mar 06 14:35:12 2010 +0000
     6.3 @@ -2,7 +2,7 @@
     6.4   *
     6.5   * This file is a part of LEMON, a generic C++ optimization library.
     6.6   *
     6.7 - * Copyright (C) 2003-2009
     6.8 + * Copyright (C) 2003-2010
     6.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
    6.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
    6.11   *
    6.12 @@ -26,8 +26,8 @@
    6.13        exit(1);
    6.14      else throw(ArgParserException(reason));
    6.15    }
    6.16 -  
    6.17 -  
    6.18 +
    6.19 +
    6.20    void ArgParser::_showHelp(void *p)
    6.21    {
    6.22      (static_cast<ArgParser*>(p))->showHelp();
     7.1 --- a/lemon/arg_parser.h	Wed Mar 17 12:35:52 2010 +0100
     7.2 +++ b/lemon/arg_parser.h	Sat Mar 06 14:35:12 2010 +0000
     7.3 @@ -2,7 +2,7 @@
     7.4   *
     7.5   * This file is a part of LEMON, a generic C++ optimization library.
     7.6   *
     7.7 - * Copyright (C) 2003-2009
     7.8 + * Copyright (C) 2003-2010
     7.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
    7.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
    7.11   *
    7.12 @@ -42,10 +42,10 @@
    7.13        UNKNOWN_OPT,  /// Unknown option was given
    7.14        INVALID_OPT   /// Invalid combination of options
    7.15      };
    7.16 -    
    7.17 +
    7.18    private:
    7.19      Reason _reason;
    7.20 -    
    7.21 +
    7.22    public:
    7.23      ///Constructor
    7.24      ArgParserException(Reason r) throw() : _reason(r) {}
    7.25 @@ -141,7 +141,7 @@
    7.26      std::vector<std::string> _file_args;
    7.27      std::string _command_name;
    7.28  
    7.29 -    
    7.30 +
    7.31    private:
    7.32      //Bind a function to an option.
    7.33  
    7.34 @@ -155,7 +155,7 @@
    7.35                      void (*func)(void *),void *data);
    7.36  
    7.37      bool _exit_on_problems;
    7.38 -    
    7.39 +
    7.40      void _terminate(ArgParserException::Reason reason) const;
    7.41  
    7.42    public:
    7.43 @@ -423,7 +423,7 @@
    7.44      const std::vector<std::string> &files() const { return _file_args; }
    7.45  
    7.46      ///Throw instead of exit in case of problems
    7.47 -    void throwOnProblems() 
    7.48 +    void throwOnProblems()
    7.49      {
    7.50        _exit_on_problems=false;
    7.51      }
     8.1 --- a/lemon/bellman_ford.h	Wed Mar 17 12:35:52 2010 +0100
     8.2 +++ b/lemon/bellman_ford.h	Sat Mar 06 14:35:12 2010 +0000
     8.3 @@ -1,8 +1,8 @@
     8.4 -/* -*- C++ -*-
     8.5 +/* -*- mode: C++; indent-tabs-mode: nil; -*-
     8.6   *
     8.7 - * This file is a part of LEMON, a generic C++ optimization library
     8.8 + * This file is a part of LEMON, a generic C++ optimization library.
     8.9   *
    8.10 - * Copyright (C) 2003-2008
    8.11 + * Copyright (C) 2003-2010
    8.12   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
    8.13   * (Egervary Research Group on Combinatorial Optimization, EGRES).
    8.14   *
    8.15 @@ -36,7 +36,7 @@
    8.16  namespace lemon {
    8.17  
    8.18    /// \brief Default operation traits for the BellmanFord algorithm class.
    8.19 -  ///  
    8.20 +  ///
    8.21    /// This operation traits class defines all computational operations
    8.22    /// and constants that are used in the Bellman-Ford algorithm.
    8.23    /// The default implementation is based on the \c numeric_limits class.
    8.24 @@ -45,7 +45,7 @@
    8.25    ///
    8.26    /// \see BellmanFordToleranceOperationTraits
    8.27    template <
    8.28 -    typename V, 
    8.29 +    typename V,
    8.30      bool has_inf = std::numeric_limits<V>::has_infinity>
    8.31    struct BellmanFordDefaultOperationTraits {
    8.32      /// \brief Value type for the algorithm.
    8.33 @@ -86,7 +86,7 @@
    8.34        return left < right;
    8.35      }
    8.36    };
    8.37 -  
    8.38 +
    8.39    /// \brief Operation traits for the BellmanFord algorithm class
    8.40    /// using tolerance.
    8.41    ///
    8.42 @@ -139,7 +139,7 @@
    8.43    /// \param LEN The type of the length map.
    8.44    template<typename GR, typename LEN>
    8.45    struct BellmanFordDefaultTraits {
    8.46 -    /// The type of the digraph the algorithm runs on. 
    8.47 +    /// The type of the digraph the algorithm runs on.
    8.48      typedef GR Digraph;
    8.49  
    8.50      /// \brief The type of the map that stores the arc lengths.
    8.51 @@ -158,18 +158,18 @@
    8.52      /// \see BellmanFordDefaultOperationTraits,
    8.53      /// BellmanFordToleranceOperationTraits
    8.54      typedef BellmanFordDefaultOperationTraits<Value> OperationTraits;
    8.55 - 
    8.56 -    /// \brief The type of the map that stores the last arcs of the 
    8.57 +
    8.58 +    /// \brief The type of the map that stores the last arcs of the
    8.59      /// shortest paths.
    8.60 -    /// 
    8.61 +    ///
    8.62      /// The type of the map that stores the last
    8.63      /// arcs of the shortest paths.
    8.64      /// It must conform to the \ref concepts::WriteMap "WriteMap" concept.
    8.65      typedef typename GR::template NodeMap<typename GR::Arc> PredMap;
    8.66  
    8.67      /// \brief Instantiates a \c PredMap.
    8.68 -    /// 
    8.69 -    /// This function instantiates a \ref PredMap. 
    8.70 +    ///
    8.71 +    /// This function instantiates a \ref PredMap.
    8.72      /// \param g is the digraph to which we would like to define the
    8.73      /// \ref PredMap.
    8.74      static PredMap *createPredMap(const GR& g) {
    8.75 @@ -184,19 +184,19 @@
    8.76  
    8.77      /// \brief Instantiates a \c DistMap.
    8.78      ///
    8.79 -    /// This function instantiates a \ref DistMap. 
    8.80 -    /// \param g is the digraph to which we would like to define the 
    8.81 +    /// This function instantiates a \ref DistMap.
    8.82 +    /// \param g is the digraph to which we would like to define the
    8.83      /// \ref DistMap.
    8.84      static DistMap *createDistMap(const GR& g) {
    8.85        return new DistMap(g);
    8.86      }
    8.87  
    8.88    };
    8.89 -  
    8.90 +
    8.91    /// \brief %BellmanFord algorithm class.
    8.92    ///
    8.93    /// \ingroup shortest_path
    8.94 -  /// This class provides an efficient implementation of the Bellman-Ford 
    8.95 +  /// This class provides an efficient implementation of the Bellman-Ford
    8.96    /// algorithm. The maximum time complexity of the algorithm is
    8.97    /// <tt>O(ne)</tt>.
    8.98    ///
    8.99 @@ -207,7 +207,7 @@
   8.100    /// algorithm instead, since it is more efficient.
   8.101    ///
   8.102    /// The arc lengths are passed to the algorithm using a
   8.103 -  /// \ref concepts::ReadMap "ReadMap", so it is easy to change it to any 
   8.104 +  /// \ref concepts::ReadMap "ReadMap", so it is easy to change it to any
   8.105    /// kind of length. The type of the length values is determined by the
   8.106    /// \ref concepts::ReadMap::Value "Value" type of the length map.
   8.107    ///
   8.108 @@ -237,7 +237,7 @@
   8.109  
   8.110      ///The type of the underlying digraph.
   8.111      typedef typename TR::Digraph Digraph;
   8.112 -    
   8.113 +
   8.114      /// \brief The type of the arc lengths.
   8.115      typedef typename TR::LengthMap::Value Value;
   8.116      /// \brief The type of the map that stores the arc lengths.
   8.117 @@ -284,20 +284,20 @@
   8.118      // Creates the maps if necessary.
   8.119      void create_maps() {
   8.120        if(!_pred) {
   8.121 -	_local_pred = true;
   8.122 -	_pred = Traits::createPredMap(*_gr);
   8.123 +        _local_pred = true;
   8.124 +        _pred = Traits::createPredMap(*_gr);
   8.125        }
   8.126        if(!_dist) {
   8.127 -	_local_dist = true;
   8.128 -	_dist = Traits::createDistMap(*_gr);
   8.129 +        _local_dist = true;
   8.130 +        _dist = Traits::createDistMap(*_gr);
   8.131        }
   8.132        if(!_mask) {
   8.133          _mask = new MaskMap(*_gr);
   8.134        }
   8.135      }
   8.136 -    
   8.137 +
   8.138    public :
   8.139 - 
   8.140 +
   8.141      typedef BellmanFord Create;
   8.142  
   8.143      /// \name Named Template Parameters
   8.144 @@ -320,11 +320,11 @@
   8.145      /// \c PredMap type.
   8.146      /// It must conform to the \ref concepts::WriteMap "WriteMap" concept.
   8.147      template <class T>
   8.148 -    struct SetPredMap 
   8.149 +    struct SetPredMap
   8.150        : public BellmanFord< Digraph, LengthMap, SetPredMapTraits<T> > {
   8.151        typedef BellmanFord< Digraph, LengthMap, SetPredMapTraits<T> > Create;
   8.152      };
   8.153 -    
   8.154 +
   8.155      template <class T>
   8.156      struct SetDistMapTraits : public Traits {
   8.157        typedef T DistMap;
   8.158 @@ -341,7 +341,7 @@
   8.159      /// \c DistMap type.
   8.160      /// It must conform to the \ref concepts::WriteMap "WriteMap" concept.
   8.161      template <class T>
   8.162 -    struct SetDistMap 
   8.163 +    struct SetDistMap
   8.164        : public BellmanFord< Digraph, LengthMap, SetDistMapTraits<T> > {
   8.165        typedef BellmanFord< Digraph, LengthMap, SetDistMapTraits<T> > Create;
   8.166      };
   8.167 @@ -350,8 +350,8 @@
   8.168      struct SetOperationTraitsTraits : public Traits {
   8.169        typedef T OperationTraits;
   8.170      };
   8.171 -    
   8.172 -    /// \brief \ref named-templ-param "Named parameter" for setting 
   8.173 +
   8.174 +    /// \brief \ref named-templ-param "Named parameter" for setting
   8.175      /// \c OperationTraits type.
   8.176      ///
   8.177      /// \ref named-templ-param "Named parameter" for setting
   8.178 @@ -363,15 +363,15 @@
   8.179        typedef BellmanFord< Digraph, LengthMap, SetOperationTraitsTraits<T> >
   8.180        Create;
   8.181      };
   8.182 -    
   8.183 +
   8.184      ///@}
   8.185  
   8.186    protected:
   8.187 -    
   8.188 +
   8.189      BellmanFord() {}
   8.190  
   8.191 -  public:      
   8.192 -    
   8.193 +  public:
   8.194 +
   8.195      /// \brief Constructor.
   8.196      ///
   8.197      /// Constructor.
   8.198 @@ -381,7 +381,7 @@
   8.199        _gr(&g), _length(&length),
   8.200        _pred(0), _local_pred(false),
   8.201        _dist(0), _local_dist(false), _mask(0) {}
   8.202 -    
   8.203 +
   8.204      ///Destructor.
   8.205      ~BellmanFord() {
   8.206        if(_local_pred) delete _pred;
   8.207 @@ -408,8 +408,8 @@
   8.208      /// \return <tt>(*this)</tt>
   8.209      BellmanFord &predMap(PredMap &map) {
   8.210        if(_local_pred) {
   8.211 -	delete _pred;
   8.212 -	_local_pred=false;
   8.213 +        delete _pred;
   8.214 +        _local_pred=false;
   8.215        }
   8.216        _pred = &map;
   8.217        return *this;
   8.218 @@ -426,8 +426,8 @@
   8.219      /// \return <tt>(*this)</tt>
   8.220      BellmanFord &distMap(DistMap &map) {
   8.221        if(_local_dist) {
   8.222 -	delete _dist;
   8.223 -	_local_dist=false;
   8.224 +        delete _dist;
   8.225 +        _local_dist=false;
   8.226        }
   8.227        _dist = &map;
   8.228        return *this;
   8.229 @@ -445,28 +445,28 @@
   8.230      ///@{
   8.231  
   8.232      /// \brief Initializes the internal data structures.
   8.233 -    /// 
   8.234 +    ///
   8.235      /// Initializes the internal data structures. The optional parameter
   8.236      /// is the initial distance of each node.
   8.237      void init(const Value value = OperationTraits::infinity()) {
   8.238        create_maps();
   8.239        for (NodeIt it(*_gr); it != INVALID; ++it) {
   8.240 -	_pred->set(it, INVALID);
   8.241 -	_dist->set(it, value);
   8.242 +        _pred->set(it, INVALID);
   8.243 +        _dist->set(it, value);
   8.244        }
   8.245        _process.clear();
   8.246        if (OperationTraits::less(value, OperationTraits::infinity())) {
   8.247 -	for (NodeIt it(*_gr); it != INVALID; ++it) {
   8.248 -	  _process.push_back(it);
   8.249 -	  _mask->set(it, true);
   8.250 -	}
   8.251 +        for (NodeIt it(*_gr); it != INVALID; ++it) {
   8.252 +          _process.push_back(it);
   8.253 +          _mask->set(it, true);
   8.254 +        }
   8.255        } else {
   8.256 -	for (NodeIt it(*_gr); it != INVALID; ++it) {
   8.257 -	  _mask->set(it, false);
   8.258 -	}
   8.259 +        for (NodeIt it(*_gr); it != INVALID; ++it) {
   8.260 +          _mask->set(it, false);
   8.261 +        }
   8.262        }
   8.263      }
   8.264 -    
   8.265 +
   8.266      /// \brief Adds a new source node.
   8.267      ///
   8.268      /// This function adds a new source node. The optional second parameter
   8.269 @@ -474,8 +474,8 @@
   8.270      void addSource(Node source, Value dst = OperationTraits::zero()) {
   8.271        _dist->set(source, dst);
   8.272        if (!(*_mask)[source]) {
   8.273 -	_process.push_back(source);
   8.274 -	_mask->set(source, true);
   8.275 +        _process.push_back(source);
   8.276 +        _mask->set(source, true);
   8.277        }
   8.278      }
   8.279  
   8.280 @@ -500,26 +500,26 @@
   8.281      /// \see ActiveIt
   8.282      bool processNextRound() {
   8.283        for (int i = 0; i < int(_process.size()); ++i) {
   8.284 -	_mask->set(_process[i], false);
   8.285 +        _mask->set(_process[i], false);
   8.286        }
   8.287        std::vector<Node> nextProcess;
   8.288        std::vector<Value> values(_process.size());
   8.289        for (int i = 0; i < int(_process.size()); ++i) {
   8.290 -	values[i] = (*_dist)[_process[i]];
   8.291 +        values[i] = (*_dist)[_process[i]];
   8.292        }
   8.293        for (int i = 0; i < int(_process.size()); ++i) {
   8.294 -	for (OutArcIt it(*_gr, _process[i]); it != INVALID; ++it) {
   8.295 -	  Node target = _gr->target(it);
   8.296 -	  Value relaxed = OperationTraits::plus(values[i], (*_length)[it]);
   8.297 -	  if (OperationTraits::less(relaxed, (*_dist)[target])) {
   8.298 -	    _pred->set(target, it);
   8.299 -	    _dist->set(target, relaxed);
   8.300 -	    if (!(*_mask)[target]) {
   8.301 -	      _mask->set(target, true);
   8.302 -	      nextProcess.push_back(target);
   8.303 -	    }
   8.304 -	  }	  
   8.305 -	}
   8.306 +        for (OutArcIt it(*_gr, _process[i]); it != INVALID; ++it) {
   8.307 +          Node target = _gr->target(it);
   8.308 +          Value relaxed = OperationTraits::plus(values[i], (*_length)[it]);
   8.309 +          if (OperationTraits::less(relaxed, (*_dist)[target])) {
   8.310 +            _pred->set(target, it);
   8.311 +            _dist->set(target, relaxed);
   8.312 +            if (!(*_mask)[target]) {
   8.313 +              _mask->set(target, true);
   8.314 +              nextProcess.push_back(target);
   8.315 +            }
   8.316 +          }
   8.317 +        }
   8.318        }
   8.319        _process.swap(nextProcess);
   8.320        return _process.empty();
   8.321 @@ -541,23 +541,23 @@
   8.322      /// \see ActiveIt
   8.323      bool processNextWeakRound() {
   8.324        for (int i = 0; i < int(_process.size()); ++i) {
   8.325 -	_mask->set(_process[i], false);
   8.326 +        _mask->set(_process[i], false);
   8.327        }
   8.328        std::vector<Node> nextProcess;
   8.329        for (int i = 0; i < int(_process.size()); ++i) {
   8.330 -	for (OutArcIt it(*_gr, _process[i]); it != INVALID; ++it) {
   8.331 -	  Node target = _gr->target(it);
   8.332 -	  Value relaxed = 
   8.333 -	    OperationTraits::plus((*_dist)[_process[i]], (*_length)[it]);
   8.334 -	  if (OperationTraits::less(relaxed, (*_dist)[target])) {
   8.335 -	    _pred->set(target, it);
   8.336 -	    _dist->set(target, relaxed);
   8.337 -	    if (!(*_mask)[target]) {
   8.338 -	      _mask->set(target, true);
   8.339 -	      nextProcess.push_back(target);
   8.340 -	    }
   8.341 -	  }	  
   8.342 -	}
   8.343 +        for (OutArcIt it(*_gr, _process[i]); it != INVALID; ++it) {
   8.344 +          Node target = _gr->target(it);
   8.345 +          Value relaxed =
   8.346 +            OperationTraits::plus((*_dist)[_process[i]], (*_length)[it]);
   8.347 +          if (OperationTraits::less(relaxed, (*_dist)[target])) {
   8.348 +            _pred->set(target, it);
   8.349 +            _dist->set(target, relaxed);
   8.350 +            if (!(*_mask)[target]) {
   8.351 +              _mask->set(target, true);
   8.352 +              nextProcess.push_back(target);
   8.353 +            }
   8.354 +          }
   8.355 +        }
   8.356        }
   8.357        _process.swap(nextProcess);
   8.358        return _process.empty();
   8.359 @@ -579,7 +579,7 @@
   8.360      void start() {
   8.361        int num = countNodes(*_gr) - 1;
   8.362        for (int i = 0; i < num; ++i) {
   8.363 -	if (processNextWeakRound()) break;
   8.364 +        if (processNextWeakRound()) break;
   8.365        }
   8.366      }
   8.367  
   8.368 @@ -591,18 +591,18 @@
   8.369      /// in order to compute the shortest path to each node and also checks
   8.370      /// if the digraph contains cycles with negative total length.
   8.371      ///
   8.372 -    /// The algorithm computes 
   8.373 +    /// The algorithm computes
   8.374      /// - the shortest path tree (forest),
   8.375      /// - the distance of each node from the root(s).
   8.376 -    /// 
   8.377 +    ///
   8.378      /// \return \c false if there is a negative cycle in the digraph.
   8.379      ///
   8.380      /// \pre init() must be called and at least one root node should be
   8.381 -    /// added with addSource() before using this function. 
   8.382 +    /// added with addSource() before using this function.
   8.383      bool checkedStart() {
   8.384        int num = countNodes(*_gr);
   8.385        for (int i = 0; i < num; ++i) {
   8.386 -	if (processNextWeakRound()) return true;
   8.387 +        if (processNextWeakRound()) return true;
   8.388        }
   8.389        return _process.empty();
   8.390      }
   8.391 @@ -626,15 +626,15 @@
   8.392      /// and build the path manually.
   8.393      ///
   8.394      /// \pre init() must be called and at least one root node should be
   8.395 -    /// added with addSource() before using this function. 
   8.396 +    /// added with addSource() before using this function.
   8.397      void limitedStart(int num) {
   8.398        for (int i = 0; i < num; ++i) {
   8.399 -	if (processNextRound()) break;
   8.400 +        if (processNextRound()) break;
   8.401        }
   8.402      }
   8.403 -    
   8.404 +
   8.405      /// \brief Runs the algorithm from the given root node.
   8.406 -    ///    
   8.407 +    ///
   8.408      /// This method runs the Bellman-Ford algorithm from the given root
   8.409      /// node \c s in order to compute the shortest path to each node.
   8.410      ///
   8.411 @@ -653,10 +653,10 @@
   8.412        addSource(s);
   8.413        start();
   8.414      }
   8.415 -    
   8.416 +
   8.417      /// \brief Runs the algorithm from the given root node with arc
   8.418      /// number limit.
   8.419 -    ///    
   8.420 +    ///
   8.421      /// This method runs the Bellman-Ford algorithm from the given root
   8.422      /// node \c s in order to compute the shortest path distance for each
   8.423      /// node using only the paths consisting of at most \c num arcs.
   8.424 @@ -682,7 +682,7 @@
   8.425        addSource(s);
   8.426        limitedStart(num);
   8.427      }
   8.428 -    
   8.429 +
   8.430      ///@}
   8.431  
   8.432      /// \brief LEMON iterator for getting the active nodes.
   8.433 @@ -697,7 +697,7 @@
   8.434        /// \brief Constructor.
   8.435        ///
   8.436        /// Constructor for getting the active nodes of the given BellmanFord
   8.437 -      /// instance. 
   8.438 +      /// instance.
   8.439        ActiveIt(const BellmanFord& algorithm) : _algorithm(&algorithm)
   8.440        {
   8.441          _index = _algorithm->_process.size() - 1;
   8.442 @@ -711,7 +711,7 @@
   8.443        /// \brief Conversion to \c Node.
   8.444        ///
   8.445        /// Conversion to \c Node.
   8.446 -      operator Node() const { 
   8.447 +      operator Node() const {
   8.448          return _index >= 0 ? _algorithm->_process[_index] : INVALID;
   8.449        }
   8.450  
   8.451 @@ -720,33 +720,33 @@
   8.452        /// Increment operator.
   8.453        ActiveIt& operator++() {
   8.454          --_index;
   8.455 -        return *this; 
   8.456 +        return *this;
   8.457        }
   8.458  
   8.459 -      bool operator==(const ActiveIt& it) const { 
   8.460 -        return static_cast<Node>(*this) == static_cast<Node>(it); 
   8.461 +      bool operator==(const ActiveIt& it) const {
   8.462 +        return static_cast<Node>(*this) == static_cast<Node>(it);
   8.463        }
   8.464 -      bool operator!=(const ActiveIt& it) const { 
   8.465 -        return static_cast<Node>(*this) != static_cast<Node>(it); 
   8.466 +      bool operator!=(const ActiveIt& it) const {
   8.467 +        return static_cast<Node>(*this) != static_cast<Node>(it);
   8.468        }
   8.469 -      bool operator<(const ActiveIt& it) const { 
   8.470 -        return static_cast<Node>(*this) < static_cast<Node>(it); 
   8.471 +      bool operator<(const ActiveIt& it) const {
   8.472 +        return static_cast<Node>(*this) < static_cast<Node>(it);
   8.473        }
   8.474 -      
   8.475 +
   8.476      private:
   8.477        const BellmanFord* _algorithm;
   8.478        int _index;
   8.479      };
   8.480 -    
   8.481 +
   8.482      /// \name Query Functions
   8.483      /// The result of the Bellman-Ford algorithm can be obtained using these
   8.484      /// functions.\n
   8.485      /// Either \ref run() or \ref init() should be called before using them.
   8.486 -    
   8.487 +
   8.488      ///@{
   8.489  
   8.490      /// \brief The shortest path to the given node.
   8.491 -    ///    
   8.492 +    ///
   8.493      /// Gives back the shortest path to the given node from the root(s).
   8.494      ///
   8.495      /// \warning \c t should be reached from the root(s).
   8.496 @@ -757,7 +757,7 @@
   8.497      {
   8.498        return Path(*_gr, *_pred, t);
   8.499      }
   8.500 -	  
   8.501 +
   8.502      /// \brief The distance of the given node from the root(s).
   8.503      ///
   8.504      /// Returns the distance of the given node from the root(s).
   8.505 @@ -797,10 +797,10 @@
   8.506      ///
   8.507      /// \pre Either \ref run() or \ref init() must be called before
   8.508      /// using this function.
   8.509 -    Node predNode(Node v) const { 
   8.510 -      return (*_pred)[v] == INVALID ? INVALID : _gr->source((*_pred)[v]); 
   8.511 +    Node predNode(Node v) const {
   8.512 +      return (*_pred)[v] == INVALID ? INVALID : _gr->source((*_pred)[v]);
   8.513      }
   8.514 -    
   8.515 +
   8.516      /// \brief Returns a const reference to the node map that stores the
   8.517      /// distances of the nodes.
   8.518      ///
   8.519 @@ -810,7 +810,7 @@
   8.520      /// \pre Either \ref run() or \ref init() must be called before
   8.521      /// using this function.
   8.522      const DistMap &distMap() const { return *_dist;}
   8.523 - 
   8.524 +
   8.525      /// \brief Returns a const reference to the node map that stores the
   8.526      /// predecessor arcs.
   8.527      ///
   8.528 @@ -820,7 +820,7 @@
   8.529      /// \pre Either \ref run() or \ref init() must be called before
   8.530      /// using this function.
   8.531      const PredMap &predMap() const { return *_pred; }
   8.532 - 
   8.533 +
   8.534      /// \brief Checks if a node is reached from the root(s).
   8.535      ///
   8.536      /// Returns \c true if \c v is reached from the root(s).
   8.537 @@ -832,7 +832,7 @@
   8.538      }
   8.539  
   8.540      /// \brief Gives back a negative cycle.
   8.541 -    ///    
   8.542 +    ///
   8.543      /// This function gives back a directed cycle with negative total
   8.544      /// length if the algorithm has already found one.
   8.545      /// Otherwise it gives back an empty path.
   8.546 @@ -859,10 +859,10 @@
   8.547        }
   8.548        return cycle;
   8.549      }
   8.550 -    
   8.551 +
   8.552      ///@}
   8.553    };
   8.554 - 
   8.555 +
   8.556    /// \brief Default traits class of bellmanFord() function.
   8.557    ///
   8.558    /// Default traits class of bellmanFord() function.
   8.559 @@ -870,7 +870,7 @@
   8.560    /// \tparam LEN The type of the length map.
   8.561    template <typename GR, typename LEN>
   8.562    struct BellmanFordWizardDefaultTraits {
   8.563 -    /// The type of the digraph the algorithm runs on. 
   8.564 +    /// The type of the digraph the algorithm runs on.
   8.565      typedef GR Digraph;
   8.566  
   8.567      /// \brief The type of the map that stores the arc lengths.
   8.568 @@ -892,13 +892,13 @@
   8.569  
   8.570      /// \brief The type of the map that stores the last
   8.571      /// arcs of the shortest paths.
   8.572 -    /// 
   8.573 +    ///
   8.574      /// The type of the map that stores the last arcs of the shortest paths.
   8.575      /// It must conform to the \ref concepts::WriteMap "WriteMap" concept.
   8.576      typedef typename GR::template NodeMap<typename GR::Arc> PredMap;
   8.577  
   8.578      /// \brief Instantiates a \c PredMap.
   8.579 -    /// 
   8.580 +    ///
   8.581      /// This function instantiates a \ref PredMap.
   8.582      /// \param g is the digraph to which we would like to define the
   8.583      /// \ref PredMap.
   8.584 @@ -914,7 +914,7 @@
   8.585  
   8.586      /// \brief Instantiates a \c DistMap.
   8.587      ///
   8.588 -    /// This function instantiates a \ref DistMap. 
   8.589 +    /// This function instantiates a \ref DistMap.
   8.590      /// \param g is the digraph to which we would like to define the
   8.591      /// \ref DistMap.
   8.592      static DistMap *createDistMap(const GR &g) {
   8.593 @@ -927,14 +927,14 @@
   8.594      ///It must meet the \ref concepts::Path "Path" concept.
   8.595      typedef lemon::Path<Digraph> Path;
   8.596    };
   8.597 -  
   8.598 +
   8.599    /// \brief Default traits class used by BellmanFordWizard.
   8.600    ///
   8.601    /// Default traits class used by BellmanFordWizard.
   8.602    /// \tparam GR The type of the digraph.
   8.603    /// \tparam LEN The type of the length map.
   8.604    template <typename GR, typename LEN>
   8.605 -  class BellmanFordWizardBase 
   8.606 +  class BellmanFordWizardBase
   8.607      : public BellmanFordWizardDefaultTraits<GR, LEN> {
   8.608  
   8.609      typedef BellmanFordWizardDefaultTraits<GR, LEN> Base;
   8.610 @@ -957,26 +957,26 @@
   8.611  
   8.612      public:
   8.613      /// Constructor.
   8.614 -    
   8.615 +
   8.616      /// This constructor does not require parameters, it initiates
   8.617      /// all of the attributes to default values \c 0.
   8.618      BellmanFordWizardBase() :
   8.619        _graph(0), _length(0), _pred(0), _dist(0), _path(0), _di(0) {}
   8.620  
   8.621      /// Constructor.
   8.622 -    
   8.623 +
   8.624      /// This constructor requires two parameters,
   8.625      /// others are initiated to \c 0.
   8.626      /// \param gr The digraph the algorithm runs on.
   8.627      /// \param len The length map.
   8.628 -    BellmanFordWizardBase(const GR& gr, 
   8.629 -			  const LEN& len) :
   8.630 -      _graph(reinterpret_cast<void*>(const_cast<GR*>(&gr))), 
   8.631 -      _length(reinterpret_cast<void*>(const_cast<LEN*>(&len))), 
   8.632 +    BellmanFordWizardBase(const GR& gr,
   8.633 +                          const LEN& len) :
   8.634 +      _graph(reinterpret_cast<void*>(const_cast<GR*>(&gr))),
   8.635 +      _length(reinterpret_cast<void*>(const_cast<LEN*>(&len))),
   8.636        _pred(0), _dist(0), _path(0), _di(0) {}
   8.637  
   8.638    };
   8.639 -  
   8.640 +
   8.641    /// \brief Auxiliary class for the function-type interface of the
   8.642    /// \ref BellmanFord "Bellman-Ford" algorithm.
   8.643    ///
   8.644 @@ -1001,7 +1001,7 @@
   8.645      typedef typename Digraph::NodeIt NodeIt;
   8.646      typedef typename Digraph::Arc Arc;
   8.647      typedef typename Digraph::OutArcIt ArcIt;
   8.648 -    
   8.649 +
   8.650      typedef typename TR::LengthMap LengthMap;
   8.651      typedef typename LengthMap::Value Value;
   8.652      typedef typename TR::PredMap PredMap;
   8.653 @@ -1018,7 +1018,7 @@
   8.654      /// These parameters will be the default values for the traits class.
   8.655      /// \param gr The digraph the algorithm runs on.
   8.656      /// \param len The length map.
   8.657 -    BellmanFordWizard(const Digraph& gr, const LengthMap& len) 
   8.658 +    BellmanFordWizard(const Digraph& gr, const LengthMap& len)
   8.659        : TR(gr, len) {}
   8.660  
   8.661      /// \brief Copy constructor
   8.662 @@ -1027,12 +1027,12 @@
   8.663      ~BellmanFordWizard() {}
   8.664  
   8.665      /// \brief Runs the Bellman-Ford algorithm from the given source node.
   8.666 -    ///    
   8.667 +    ///
   8.668      /// This method runs the Bellman-Ford algorithm from the given source
   8.669      /// node in order to compute the shortest path to each node.
   8.670      void run(Node s) {
   8.671 -      BellmanFord<Digraph,LengthMap,TR> 
   8.672 -	bf(*reinterpret_cast<const Digraph*>(Base::_graph), 
   8.673 +      BellmanFord<Digraph,LengthMap,TR>
   8.674 +        bf(*reinterpret_cast<const Digraph*>(Base::_graph),
   8.675             *reinterpret_cast<const LengthMap*>(Base::_length));
   8.676        if (Base::_pred) bf.predMap(*reinterpret_cast<PredMap*>(Base::_pred));
   8.677        if (Base::_dist) bf.distMap(*reinterpret_cast<DistMap*>(Base::_dist));
   8.678 @@ -1067,7 +1067,7 @@
   8.679        static PredMap *createPredMap(const Digraph &) { return 0; };
   8.680        SetPredMapBase(const TR &b) : TR(b) {}
   8.681      };
   8.682 -    
   8.683 +
   8.684      /// \brief \ref named-templ-param "Named parameter" for setting
   8.685      /// the predecessor map.
   8.686      ///
   8.687 @@ -1078,14 +1078,14 @@
   8.688        Base::_pred=reinterpret_cast<void*>(const_cast<T*>(&t));
   8.689        return BellmanFordWizard<SetPredMapBase<T> >(*this);
   8.690      }
   8.691 -    
   8.692 +
   8.693      template<class T>
   8.694      struct SetDistMapBase : public Base {
   8.695        typedef T DistMap;
   8.696        static DistMap *createDistMap(const Digraph &) { return 0; };
   8.697        SetDistMapBase(const TR &b) : TR(b) {}
   8.698      };
   8.699 -    
   8.700 +
   8.701      /// \brief \ref named-templ-param "Named parameter" for setting
   8.702      /// the distance map.
   8.703      ///
   8.704 @@ -1126,9 +1126,9 @@
   8.705        Base::_di=reinterpret_cast<void*>(const_cast<Value*>(&d));
   8.706        return *this;
   8.707      }
   8.708 -    
   8.709 +
   8.710    };
   8.711 -  
   8.712 +
   8.713    /// \brief Function type interface for the \ref BellmanFord "Bellman-Ford"
   8.714    /// algorithm.
   8.715    ///
   8.716 @@ -1136,8 +1136,8 @@
   8.717    /// Function type interface for the \ref BellmanFord "Bellman-Ford"
   8.718    /// algorithm.
   8.719    ///
   8.720 -  /// This function also has several \ref named-templ-func-param 
   8.721 -  /// "named parameters", they are declared as the members of class 
   8.722 +  /// This function also has several \ref named-templ-func-param
   8.723 +  /// "named parameters", they are declared as the members of class
   8.724    /// \ref BellmanFordWizard.
   8.725    /// The following examples show how to use these parameters.
   8.726    /// \code
   8.727 @@ -1154,7 +1154,7 @@
   8.728    template<typename GR, typename LEN>
   8.729    BellmanFordWizard<BellmanFordWizardBase<GR,LEN> >
   8.730    bellmanFord(const GR& digraph,
   8.731 -	      const LEN& length)
   8.732 +              const LEN& length)
   8.733    {
   8.734      return BellmanFordWizard<BellmanFordWizardBase<GR,LEN> >(digraph, length);
   8.735    }
     9.1 --- a/lemon/bfs.h	Wed Mar 17 12:35:52 2010 +0100
     9.2 +++ b/lemon/bfs.h	Sat Mar 06 14:35:12 2010 +0000
     9.3 @@ -2,7 +2,7 @@
     9.4   *
     9.5   * This file is a part of LEMON, a generic C++ optimization library.
     9.6   *
     9.7 - * Copyright (C) 2003-2009
     9.8 + * Copyright (C) 2003-2010
     9.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
    9.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
    9.11   *
    9.12 @@ -82,7 +82,8 @@
    9.13      ///The type of the map that indicates which nodes are reached.
    9.14  
    9.15      ///The type of the map that indicates which nodes are reached.
    9.16 -    ///It must conform to the \ref concepts::ReadWriteMap "ReadWriteMap" concept.
    9.17 +    ///It must conform to
    9.18 +    ///the \ref concepts::ReadWriteMap "ReadWriteMap" concept.
    9.19      typedef typename Digraph::template NodeMap<bool> ReachedMap;
    9.20      ///Instantiates a \c ReachedMap.
    9.21  
    9.22 @@ -271,7 +272,8 @@
    9.23      ///
    9.24      ///\ref named-templ-param "Named parameter" for setting
    9.25      ///\c ReachedMap type.
    9.26 -    ///It must conform to the \ref concepts::ReadWriteMap "ReadWriteMap" concept.
    9.27 +    ///It must conform to
    9.28 +    ///the \ref concepts::ReadWriteMap "ReadWriteMap" concept.
    9.29      template <class T>
    9.30      struct SetReachedMap : public Bfs< Digraph, SetReachedMapTraits<T> > {
    9.31        typedef Bfs< Digraph, SetReachedMapTraits<T> > Create;
    9.32 @@ -872,7 +874,8 @@
    9.33      ///The type of the map that indicates which nodes are reached.
    9.34  
    9.35      ///The type of the map that indicates which nodes are reached.
    9.36 -    ///It must conform to the \ref concepts::ReadWriteMap "ReadWriteMap" concept.
    9.37 +    ///It must conform to
    9.38 +    ///the \ref concepts::ReadWriteMap "ReadWriteMap" concept.
    9.39      typedef typename Digraph::template NodeMap<bool> ReachedMap;
    9.40      ///Instantiates a ReachedMap.
    9.41  
    9.42 @@ -1265,7 +1268,8 @@
    9.43      /// \brief The type of the map that indicates which nodes are reached.
    9.44      ///
    9.45      /// The type of the map that indicates which nodes are reached.
    9.46 -    /// It must conform to the \ref concepts::ReadWriteMap "ReadWriteMap" concept.
    9.47 +    /// It must conform to
    9.48 +    ///the \ref concepts::ReadWriteMap "ReadWriteMap" concept.
    9.49      typedef typename Digraph::template NodeMap<bool> ReachedMap;
    9.50  
    9.51      /// \brief Instantiates a ReachedMap.
    10.1 --- a/lemon/binomial_heap.h	Wed Mar 17 12:35:52 2010 +0100
    10.2 +++ b/lemon/binomial_heap.h	Sat Mar 06 14:35:12 2010 +0000
    10.3 @@ -2,7 +2,7 @@
    10.4   *
    10.5   * This file is a part of LEMON, a generic C++ optimization library.
    10.6   *
    10.7 - * Copyright (C) 2003-2009
    10.8 + * Copyright (C) 2003-2010
    10.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   10.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   10.11   *
   10.12 @@ -258,7 +258,7 @@
   10.13        int i=_iim[item];
   10.14        int p=_data[i].parent;
   10.15        _data[i].prio=value;
   10.16 -      
   10.17 +
   10.18        while( p!=-1 && _comp(value, _data[p].prio) ) {
   10.19          _data[i].name=_data[p].name;
   10.20          _data[i].prio=_data[p].prio;
   10.21 @@ -322,7 +322,7 @@
   10.22      }
   10.23  
   10.24    private:
   10.25 -    
   10.26 +
   10.27      // Find the minimum of the roots
   10.28      int findMin() {
   10.29        if( _head!=-1 ) {
   10.30 @@ -350,7 +350,7 @@
   10.31          interleave(a);
   10.32        }
   10.33        if( _data[_head].right_neighbor==-1 ) return;
   10.34 -      
   10.35 +
   10.36        int x=_head;
   10.37        int x_prev=-1, x_next=_data[x].right_neighbor;
   10.38        while( x_next!=-1 ) {
   10.39 @@ -384,7 +384,7 @@
   10.40        int p=_head, q=a;
   10.41        int curr=_data.size();
   10.42        _data.push_back(Store());
   10.43 -      
   10.44 +
   10.45        while( p!=-1 || q!=-1 ) {
   10.46          if( q==-1 || ( p!=-1 && _data[p].degree<_data[q].degree ) ) {
   10.47            _data[curr].right_neighbor=p;
   10.48 @@ -397,7 +397,7 @@
   10.49            q=_data[q].right_neighbor;
   10.50          }
   10.51        }
   10.52 -      
   10.53 +
   10.54        _head=_data.back().right_neighbor;
   10.55        _data.pop_back();
   10.56      }
    11.1 --- a/lemon/bits/array_map.h	Wed Mar 17 12:35:52 2010 +0100
    11.2 +++ b/lemon/bits/array_map.h	Sat Mar 06 14:35:12 2010 +0000
    11.3 @@ -2,7 +2,7 @@
    11.4   *
    11.5   * This file is a part of LEMON, a generic C++ optimization library.
    11.6   *
    11.7 - * Copyright (C) 2003-2009
    11.8 + * Copyright (C) 2003-2010
    11.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   11.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   11.11   *
   11.12 @@ -70,7 +70,7 @@
   11.13      typedef typename ItemSetTraits<_Graph, _Item>::ItemNotifier Notifier;
   11.14  
   11.15    private:
   11.16 -  
   11.17 +
   11.18      // The MapBase of the Map which imlements the core regisitry function.
   11.19      typedef typename Notifier::ObserverBase Parent;
   11.20  
    12.1 --- a/lemon/bits/default_map.h	Wed Mar 17 12:35:52 2010 +0100
    12.2 +++ b/lemon/bits/default_map.h	Sat Mar 06 14:35:12 2010 +0000
    12.3 @@ -2,7 +2,7 @@
    12.4   *
    12.5   * This file is a part of LEMON, a generic C++ optimization library.
    12.6   *
    12.7 - * Copyright (C) 2003-2009
    12.8 + * Copyright (C) 2003-2010
    12.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   12.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   12.11   *
   12.12 @@ -157,7 +157,7 @@
   12.13  
   12.14    public:
   12.15      typedef DefaultMap<_Graph, _Item, _Value> Map;
   12.16 -    
   12.17 +
   12.18      typedef typename Parent::GraphType GraphType;
   12.19      typedef typename Parent::Value Value;
   12.20  
    13.1 --- a/lemon/bits/edge_set_extender.h	Wed Mar 17 12:35:52 2010 +0100
    13.2 +++ b/lemon/bits/edge_set_extender.h	Sat Mar 06 14:35:12 2010 +0000
    13.3 @@ -1,8 +1,8 @@
    13.4 -/* -*- C++ -*-
    13.5 +/* -*- mode: C++; indent-tabs-mode: nil; -*-
    13.6   *
    13.7 - * This file is a part of LEMON, a generic C++ optimization library
    13.8 + * This file is a part of LEMON, a generic C++ optimization library.
    13.9   *
   13.10 - * Copyright (C) 2003-2008
   13.11 + * Copyright (C) 2003-2010
   13.12   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   13.13   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   13.14   *
   13.15 @@ -63,11 +63,11 @@
   13.16  
   13.17      Node oppositeNode(const Node &n, const Arc &e) const {
   13.18        if (n == Parent::source(e))
   13.19 -	return Parent::target(e);
   13.20 +        return Parent::target(e);
   13.21        else if(n==Parent::target(e))
   13.22 -	return Parent::source(e);
   13.23 +        return Parent::source(e);
   13.24        else
   13.25 -	return INVALID;
   13.26 +        return INVALID;
   13.27      }
   13.28  
   13.29  
   13.30 @@ -91,7 +91,7 @@
   13.31  
   13.32      // Iterable extensions
   13.33  
   13.34 -    class NodeIt : public Node { 
   13.35 +    class NodeIt : public Node {
   13.36        const Digraph* digraph;
   13.37      public:
   13.38  
   13.39 @@ -100,21 +100,21 @@
   13.40        NodeIt(Invalid i) : Node(i) { }
   13.41  
   13.42        explicit NodeIt(const Digraph& _graph) : digraph(&_graph) {
   13.43 -	_graph.first(static_cast<Node&>(*this));
   13.44 +        _graph.first(static_cast<Node&>(*this));
   13.45        }
   13.46  
   13.47 -      NodeIt(const Digraph& _graph, const Node& node) 
   13.48 -	: Node(node), digraph(&_graph) {}
   13.49 +      NodeIt(const Digraph& _graph, const Node& node)
   13.50 +        : Node(node), digraph(&_graph) {}
   13.51  
   13.52 -      NodeIt& operator++() { 
   13.53 -	digraph->next(*this);
   13.54 -	return *this; 
   13.55 +      NodeIt& operator++() {
   13.56 +        digraph->next(*this);
   13.57 +        return *this;
   13.58        }
   13.59  
   13.60      };
   13.61  
   13.62  
   13.63 -    class ArcIt : public Arc { 
   13.64 +    class ArcIt : public Arc {
   13.65        const Digraph* digraph;
   13.66      public:
   13.67  
   13.68 @@ -123,21 +123,21 @@
   13.69        ArcIt(Invalid i) : Arc(i) { }
   13.70  
   13.71        explicit ArcIt(const Digraph& _graph) : digraph(&_graph) {
   13.72 -	_graph.first(static_cast<Arc&>(*this));
   13.73 +        _graph.first(static_cast<Arc&>(*this));
   13.74        }
   13.75  
   13.76 -      ArcIt(const Digraph& _graph, const Arc& e) : 
   13.77 -	Arc(e), digraph(&_graph) { }
   13.78 +      ArcIt(const Digraph& _graph, const Arc& e) :
   13.79 +        Arc(e), digraph(&_graph) { }
   13.80  
   13.81 -      ArcIt& operator++() { 
   13.82 -	digraph->next(*this);
   13.83 -	return *this; 
   13.84 +      ArcIt& operator++() {
   13.85 +        digraph->next(*this);
   13.86 +        return *this;
   13.87        }
   13.88  
   13.89      };
   13.90  
   13.91  
   13.92 -    class OutArcIt : public Arc { 
   13.93 +    class OutArcIt : public Arc {
   13.94        const Digraph* digraph;
   13.95      public:
   13.96  
   13.97 @@ -145,23 +145,23 @@
   13.98  
   13.99        OutArcIt(Invalid i) : Arc(i) { }
  13.100  
  13.101 -      OutArcIt(const Digraph& _graph, const Node& node) 
  13.102 -	: digraph(&_graph) {
  13.103 -	_graph.firstOut(*this, node);
  13.104 +      OutArcIt(const Digraph& _graph, const Node& node)
  13.105 +        : digraph(&_graph) {
  13.106 +        _graph.firstOut(*this, node);
  13.107        }
  13.108  
  13.109 -      OutArcIt(const Digraph& _graph, const Arc& arc) 
  13.110 -	: Arc(arc), digraph(&_graph) {}
  13.111 +      OutArcIt(const Digraph& _graph, const Arc& arc)
  13.112 +        : Arc(arc), digraph(&_graph) {}
  13.113  
  13.114 -      OutArcIt& operator++() { 
  13.115 -	digraph->nextOut(*this);
  13.116 -	return *this; 
  13.117 +      OutArcIt& operator++() {
  13.118 +        digraph->nextOut(*this);
  13.119 +        return *this;
  13.120        }
  13.121  
  13.122      };
  13.123  
  13.124  
  13.125 -    class InArcIt : public Arc { 
  13.126 +    class InArcIt : public Arc {
  13.127        const Digraph* digraph;
  13.128      public:
  13.129  
  13.130 @@ -169,17 +169,17 @@
  13.131  
  13.132        InArcIt(Invalid i) : Arc(i) { }
  13.133  
  13.134 -      InArcIt(const Digraph& _graph, const Node& node) 
  13.135 -	: digraph(&_graph) {
  13.136 -	_graph.firstIn(*this, node);
  13.137 +      InArcIt(const Digraph& _graph, const Node& node)
  13.138 +        : digraph(&_graph) {
  13.139 +        _graph.firstIn(*this, node);
  13.140        }
  13.141  
  13.142 -      InArcIt(const Digraph& _graph, const Arc& arc) : 
  13.143 -	Arc(arc), digraph(&_graph) {}
  13.144 +      InArcIt(const Digraph& _graph, const Arc& arc) :
  13.145 +        Arc(arc), digraph(&_graph) {}
  13.146  
  13.147 -      InArcIt& operator++() { 
  13.148 -	digraph->nextIn(*this);
  13.149 -	return *this; 
  13.150 +      InArcIt& operator++() {
  13.151 +        digraph->nextIn(*this);
  13.152 +        return *this;
  13.153        }
  13.154  
  13.155      };
  13.156 @@ -215,26 +215,26 @@
  13.157      using Parent::first;
  13.158  
  13.159      // Mappable extension
  13.160 -    
  13.161 +
  13.162      template <typename _Value>
  13.163 -    class ArcMap 
  13.164 +    class ArcMap
  13.165        : public MapExtender<DefaultMap<Digraph, Arc, _Value> > {
  13.166        typedef MapExtender<DefaultMap<Digraph, Arc, _Value> > Parent;
  13.167  
  13.168      public:
  13.169 -      explicit ArcMap(const Digraph& _g) 
  13.170 -	: Parent(_g) {}
  13.171 -      ArcMap(const Digraph& _g, const _Value& _v) 
  13.172 -	: Parent(_g, _v) {}
  13.173 +      explicit ArcMap(const Digraph& _g)
  13.174 +        : Parent(_g) {}
  13.175 +      ArcMap(const Digraph& _g, const _Value& _v)
  13.176 +        : Parent(_g, _v) {}
  13.177  
  13.178        ArcMap& operator=(const ArcMap& cmap) {
  13.179 -	return operator=<ArcMap>(cmap);
  13.180 +        return operator=<ArcMap>(cmap);
  13.181        }
  13.182  
  13.183        template <typename CMap>
  13.184        ArcMap& operator=(const CMap& cmap) {
  13.185          Parent::operator=(cmap);
  13.186 -	return *this;
  13.187 +        return *this;
  13.188        }
  13.189  
  13.190      };
  13.191 @@ -247,7 +247,7 @@
  13.192        notifier(Arc()).add(arc);
  13.193        return arc;
  13.194      }
  13.195 -    
  13.196 +
  13.197      void clear() {
  13.198        notifier(Arc()).clear();
  13.199        Parent::clear();
  13.200 @@ -310,11 +310,11 @@
  13.201  
  13.202      Node oppositeNode(const Node &n, const Edge &e) const {
  13.203        if( n == Parent::u(e))
  13.204 -	return Parent::v(e);
  13.205 +        return Parent::v(e);
  13.206        else if( n == Parent::v(e))
  13.207 -	return Parent::u(e);
  13.208 +        return Parent::u(e);
  13.209        else
  13.210 -	return INVALID;
  13.211 +        return INVALID;
  13.212      }
  13.213  
  13.214      Arc oppositeArc(const Arc &e) const {
  13.215 @@ -338,7 +338,7 @@
  13.216    public:
  13.217  
  13.218      using Parent::notifier;
  13.219 -    
  13.220 +
  13.221      ArcNotifier& notifier(Arc) const {
  13.222        return arc_notifier;
  13.223      }
  13.224 @@ -348,7 +348,7 @@
  13.225      }
  13.226  
  13.227  
  13.228 -    class NodeIt : public Node { 
  13.229 +    class NodeIt : public Node {
  13.230        const Graph* graph;
  13.231      public:
  13.232  
  13.233 @@ -357,21 +357,21 @@
  13.234        NodeIt(Invalid i) : Node(i) { }
  13.235  
  13.236        explicit NodeIt(const Graph& _graph) : graph(&_graph) {
  13.237 -	_graph.first(static_cast<Node&>(*this));
  13.238 +        _graph.first(static_cast<Node&>(*this));
  13.239        }
  13.240  
  13.241 -      NodeIt(const Graph& _graph, const Node& node) 
  13.242 -	: Node(node), graph(&_graph) {}
  13.243 +      NodeIt(const Graph& _graph, const Node& node)
  13.244 +        : Node(node), graph(&_graph) {}
  13.245  
  13.246 -      NodeIt& operator++() { 
  13.247 -	graph->next(*this);
  13.248 -	return *this; 
  13.249 +      NodeIt& operator++() {
  13.250 +        graph->next(*this);
  13.251 +        return *this;
  13.252        }
  13.253  
  13.254      };
  13.255  
  13.256  
  13.257 -    class ArcIt : public Arc { 
  13.258 +    class ArcIt : public Arc {
  13.259        const Graph* graph;
  13.260      public:
  13.261  
  13.262 @@ -380,21 +380,21 @@
  13.263        ArcIt(Invalid i) : Arc(i) { }
  13.264  
  13.265        explicit ArcIt(const Graph& _graph) : graph(&_graph) {
  13.266 -	_graph.first(static_cast<Arc&>(*this));
  13.267 +        _graph.first(static_cast<Arc&>(*this));
  13.268        }
  13.269  
  13.270 -      ArcIt(const Graph& _graph, const Arc& e) : 
  13.271 -	Arc(e), graph(&_graph) { }
  13.272 +      ArcIt(const Graph& _graph, const Arc& e) :
  13.273 +        Arc(e), graph(&_graph) { }
  13.274  
  13.275 -      ArcIt& operator++() { 
  13.276 -	graph->next(*this);
  13.277 -	return *this; 
  13.278 +      ArcIt& operator++() {
  13.279 +        graph->next(*this);
  13.280 +        return *this;
  13.281        }
  13.282  
  13.283      };
  13.284  
  13.285  
  13.286 -    class OutArcIt : public Arc { 
  13.287 +    class OutArcIt : public Arc {
  13.288        const Graph* graph;
  13.289      public:
  13.290  
  13.291 @@ -402,23 +402,23 @@
  13.292  
  13.293        OutArcIt(Invalid i) : Arc(i) { }
  13.294  
  13.295 -      OutArcIt(const Graph& _graph, const Node& node) 
  13.296 -	: graph(&_graph) {
  13.297 -	_graph.firstOut(*this, node);
  13.298 +      OutArcIt(const Graph& _graph, const Node& node)
  13.299 +        : graph(&_graph) {
  13.300 +        _graph.firstOut(*this, node);
  13.301        }
  13.302  
  13.303 -      OutArcIt(const Graph& _graph, const Arc& arc) 
  13.304 -	: Arc(arc), graph(&_graph) {}
  13.305 +      OutArcIt(const Graph& _graph, const Arc& arc)
  13.306 +        : Arc(arc), graph(&_graph) {}
  13.307  
  13.308 -      OutArcIt& operator++() { 
  13.309 -	graph->nextOut(*this);
  13.310 -	return *this; 
  13.311 +      OutArcIt& operator++() {
  13.312 +        graph->nextOut(*this);
  13.313 +        return *this;
  13.314        }
  13.315  
  13.316      };
  13.317  
  13.318  
  13.319 -    class InArcIt : public Arc { 
  13.320 +    class InArcIt : public Arc {
  13.321        const Graph* graph;
  13.322      public:
  13.323  
  13.324 @@ -426,23 +426,23 @@
  13.325  
  13.326        InArcIt(Invalid i) : Arc(i) { }
  13.327  
  13.328 -      InArcIt(const Graph& _graph, const Node& node) 
  13.329 -	: graph(&_graph) {
  13.330 -	_graph.firstIn(*this, node);
  13.331 +      InArcIt(const Graph& _graph, const Node& node)
  13.332 +        : graph(&_graph) {
  13.333 +        _graph.firstIn(*this, node);
  13.334        }
  13.335  
  13.336 -      InArcIt(const Graph& _graph, const Arc& arc) : 
  13.337 -	Arc(arc), graph(&_graph) {}
  13.338 +      InArcIt(const Graph& _graph, const Arc& arc) :
  13.339 +        Arc(arc), graph(&_graph) {}
  13.340  
  13.341 -      InArcIt& operator++() { 
  13.342 -	graph->nextIn(*this);
  13.343 -	return *this; 
  13.344 +      InArcIt& operator++() {
  13.345 +        graph->nextIn(*this);
  13.346 +        return *this;
  13.347        }
  13.348  
  13.349      };
  13.350  
  13.351  
  13.352 -    class EdgeIt : public Parent::Edge { 
  13.353 +    class EdgeIt : public Parent::Edge {
  13.354        const Graph* graph;
  13.355      public:
  13.356  
  13.357 @@ -451,15 +451,15 @@
  13.358        EdgeIt(Invalid i) : Edge(i) { }
  13.359  
  13.360        explicit EdgeIt(const Graph& _graph) : graph(&_graph) {
  13.361 -	_graph.first(static_cast<Edge&>(*this));
  13.362 +        _graph.first(static_cast<Edge&>(*this));
  13.363        }
  13.364  
  13.365 -      EdgeIt(const Graph& _graph, const Edge& e) : 
  13.366 -	Edge(e), graph(&_graph) { }
  13.367 +      EdgeIt(const Graph& _graph, const Edge& e) :
  13.368 +        Edge(e), graph(&_graph) { }
  13.369  
  13.370 -      EdgeIt& operator++() { 
  13.371 -	graph->next(*this);
  13.372 -	return *this; 
  13.373 +      EdgeIt& operator++() {
  13.374 +        graph->next(*this);
  13.375 +        return *this;
  13.376        }
  13.377  
  13.378      };
  13.379 @@ -475,17 +475,17 @@
  13.380        IncEdgeIt(Invalid i) : Edge(i), direction(false) { }
  13.381  
  13.382        IncEdgeIt(const Graph& _graph, const Node &n) : graph(&_graph) {
  13.383 -	_graph.firstInc(*this, direction, n);
  13.384 +        _graph.firstInc(*this, direction, n);
  13.385        }
  13.386  
  13.387        IncEdgeIt(const Graph& _graph, const Edge &ue, const Node &n)
  13.388 -	: graph(&_graph), Edge(ue) {
  13.389 -	direction = (_graph.source(ue) == n);
  13.390 +        : graph(&_graph), Edge(ue) {
  13.391 +        direction = (_graph.source(ue) == n);
  13.392        }
  13.393  
  13.394        IncEdgeIt& operator++() {
  13.395 -	graph->nextInc(*this, direction);
  13.396 -	return *this; 
  13.397 +        graph->nextInc(*this, direction);
  13.398 +        return *this;
  13.399        }
  13.400      };
  13.401  
  13.402 @@ -532,49 +532,49 @@
  13.403  
  13.404  
  13.405      template <typename _Value>
  13.406 -    class ArcMap 
  13.407 +    class ArcMap
  13.408        : public MapExtender<DefaultMap<Graph, Arc, _Value> > {
  13.409        typedef MapExtender<DefaultMap<Graph, Arc, _Value> > Parent;
  13.410  
  13.411      public:
  13.412 -      explicit ArcMap(const Graph& _g) 
  13.413 -	: Parent(_g) {}
  13.414 -      ArcMap(const Graph& _g, const _Value& _v) 
  13.415 -	: Parent(_g, _v) {}
  13.416 +      explicit ArcMap(const Graph& _g)
  13.417 +        : Parent(_g) {}
  13.418 +      ArcMap(const Graph& _g, const _Value& _v)
  13.419 +        : Parent(_g, _v) {}
  13.420  
  13.421        ArcMap& operator=(const ArcMap& cmap) {
  13.422 -	return operator=<ArcMap>(cmap);
  13.423 +        return operator=<ArcMap>(cmap);
  13.424        }
  13.425  
  13.426        template <typename CMap>
  13.427        ArcMap& operator=(const CMap& cmap) {
  13.428          Parent::operator=(cmap);
  13.429 -	return *this;
  13.430 +        return *this;
  13.431        }
  13.432  
  13.433      };
  13.434  
  13.435  
  13.436      template <typename _Value>
  13.437 -    class EdgeMap 
  13.438 +    class EdgeMap
  13.439        : public MapExtender<DefaultMap<Graph, Edge, _Value> > {
  13.440        typedef MapExtender<DefaultMap<Graph, Edge, _Value> > Parent;
  13.441  
  13.442      public:
  13.443 -      explicit EdgeMap(const Graph& _g) 
  13.444 -	: Parent(_g) {}
  13.445 +      explicit EdgeMap(const Graph& _g)
  13.446 +        : Parent(_g) {}
  13.447  
  13.448 -      EdgeMap(const Graph& _g, const _Value& _v) 
  13.449 -	: Parent(_g, _v) {}
  13.450 +      EdgeMap(const Graph& _g, const _Value& _v)
  13.451 +        : Parent(_g, _v) {}
  13.452  
  13.453        EdgeMap& operator=(const EdgeMap& cmap) {
  13.454 -	return operator=<EdgeMap>(cmap);
  13.455 +        return operator=<EdgeMap>(cmap);
  13.456        }
  13.457  
  13.458        template <typename CMap>
  13.459        EdgeMap& operator=(const CMap& cmap) {
  13.460          Parent::operator=(cmap);
  13.461 -	return *this;
  13.462 +        return *this;
  13.463        }
  13.464  
  13.465      };
  13.466 @@ -591,7 +591,7 @@
  13.467        notifier(Arc()).add(arcs);
  13.468        return edge;
  13.469      }
  13.470 -    
  13.471 +
  13.472      void clear() {
  13.473        notifier(Arc()).clear();
  13.474        notifier(Edge()).clear();
  13.475 @@ -617,7 +617,7 @@
  13.476        edge_notifier.clear();
  13.477        arc_notifier.clear();
  13.478      }
  13.479 -    
  13.480 +
  13.481    };
  13.482  
  13.483  }
    14.1 --- a/lemon/bits/solver_bits.h	Wed Mar 17 12:35:52 2010 +0100
    14.2 +++ b/lemon/bits/solver_bits.h	Sat Mar 06 14:35:12 2010 +0000
    14.3 @@ -2,7 +2,7 @@
    14.4   *
    14.5   * This file is a part of LEMON, a generic C++ optimization library.
    14.6   *
    14.7 - * Copyright (C) 2003-2008
    14.8 + * Copyright (C) 2003-2010
    14.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   14.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   14.11   *
    15.1 --- a/lemon/bits/windows.cc	Wed Mar 17 12:35:52 2010 +0100
    15.2 +++ b/lemon/bits/windows.cc	Sat Mar 06 14:35:12 2010 +0000
    15.3 @@ -2,7 +2,7 @@
    15.4   *
    15.5   * This file is a part of LEMON, a generic C++ optimization library.
    15.6   *
    15.7 - * Copyright (C) 2003-2009
    15.8 + * Copyright (C) 2003-2010
    15.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   15.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   15.11   *
   15.12 @@ -96,7 +96,7 @@
   15.13        SYSTEMTIME time;
   15.14        GetSystemTime(&time);
   15.15        char buf1[11], buf2[9], buf3[5];
   15.16 -	  if (GetDateFormat(MY_LOCALE, 0, &time,
   15.17 +          if (GetDateFormat(MY_LOCALE, 0, &time,
   15.18                          ("ddd MMM dd"), buf1, 11) &&
   15.19            GetTimeFormat(MY_LOCALE, 0, &time,
   15.20                          ("HH':'mm':'ss"), buf2, 9) &&
    16.1 --- a/lemon/bucket_heap.h	Wed Mar 17 12:35:52 2010 +0100
    16.2 +++ b/lemon/bucket_heap.h	Sat Mar 06 14:35:12 2010 +0000
    16.3 @@ -2,7 +2,7 @@
    16.4   *
    16.5   * This file is a part of LEMON, a generic C++ optimization library.
    16.6   *
    16.7 - * Copyright (C) 2003-2009
    16.8 + * Copyright (C) 2003-2010
    16.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   16.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   16.11   *
   16.12 @@ -384,7 +384,7 @@
   16.13    /// key increasing and decreasing.
   16.14    ///
   16.15    /// Note that this implementation does not conform to the
   16.16 -  /// \ref concepts::Heap "heap concept" due to the lack of some 
   16.17 +  /// \ref concepts::Heap "heap concept" due to the lack of some
   16.18    /// functionality.
   16.19    ///
   16.20    /// \tparam IM A read-writable item map with \c int values, used
    17.1 --- a/lemon/capacity_scaling.h	Wed Mar 17 12:35:52 2010 +0100
    17.2 +++ b/lemon/capacity_scaling.h	Sat Mar 06 14:35:12 2010 +0000
    17.3 @@ -1,8 +1,8 @@
    17.4 -/* -*- C++ -*-
    17.5 +/* -*- mode: C++; indent-tabs-mode: nil; -*-
    17.6   *
    17.7 - * This file is a part of LEMON, a generic C++ optimization library
    17.8 + * This file is a part of LEMON, a generic C++ optimization library.
    17.9   *
   17.10 - * Copyright (C) 2003-2008
   17.11 + * Copyright (C) 2003-2010
   17.12   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   17.13   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   17.14   *
   17.15 @@ -133,7 +133,7 @@
   17.16        /// these cases.
   17.17        UNBOUNDED
   17.18      };
   17.19 -  
   17.20 +
   17.21    private:
   17.22  
   17.23      TEMPLATE_DIGRAPH_TYPEDEFS(GR);
   17.24 @@ -184,7 +184,7 @@
   17.25      IntVector _pred;
   17.26  
   17.27    public:
   17.28 -  
   17.29 +
   17.30      /// \brief Constant for infinite upper bounds (capacities).
   17.31      ///
   17.32      /// Constant for infinite upper bounds (capacities).
   17.33 @@ -211,10 +211,10 @@
   17.34        const ValueVector &_excess;
   17.35        CostVector &_pi;
   17.36        IntVector &_pred;
   17.37 -      
   17.38 +
   17.39        IntVector _proc_nodes;
   17.40        CostVector _dist;
   17.41 -      
   17.42 +
   17.43      public:
   17.44  
   17.45        ResidualDijkstra(CapacityScaling& cs) :
   17.46 @@ -439,7 +439,7 @@
   17.47        _supply[_node_id[t]] = -k;
   17.48        return *this;
   17.49      }
   17.50 -    
   17.51 +
   17.52      /// @}
   17.53  
   17.54      /// \name Execution control
   17.55 @@ -575,7 +575,7 @@
   17.56        _upper.resize(_res_arc_num);
   17.57        _cost.resize(_res_arc_num);
   17.58        _supply.resize(_node_num);
   17.59 -      
   17.60 +
   17.61        _res_cap.resize(_res_arc_num);
   17.62        _pi.resize(_node_num);
   17.63        _excess.resize(_node_num);
   17.64 @@ -619,7 +619,7 @@
   17.65          _reverse[fi] = bi;
   17.66          _reverse[bi] = fi;
   17.67        }
   17.68 -      
   17.69 +
   17.70        // Reset parameters
   17.71        resetParams();
   17.72        return *this;
   17.73 @@ -728,7 +728,7 @@
   17.74          _sum_supply += _supply[i];
   17.75        }
   17.76        if (_sum_supply > 0) return INFEASIBLE;
   17.77 -      
   17.78 +
   17.79        // Initialize vectors
   17.80        for (int i = 0; i != _root; ++i) {
   17.81          _pi[i] = 0;
   17.82 @@ -776,7 +776,7 @@
   17.83            }
   17.84          }
   17.85        }
   17.86 -      
   17.87 +
   17.88        // Handle GEQ supply type
   17.89        if (_sum_supply < 0) {
   17.90          _pi[_root] = 0;
   17.91 @@ -844,9 +844,9 @@
   17.92        if (_sum_supply < 0 || pr > 0) {
   17.93          for (int i = 0; i != _node_num; ++i) {
   17.94            _pi[i] -= pr;
   17.95 -        }        
   17.96 +        }
   17.97        }
   17.98 -      
   17.99 +
  17.100        return pt;
  17.101      }
  17.102  
    18.1 --- a/lemon/cbc.h	Wed Mar 17 12:35:52 2010 +0100
    18.2 +++ b/lemon/cbc.h	Sat Mar 06 14:35:12 2010 +0000
    18.3 @@ -2,7 +2,7 @@
    18.4   *
    18.5   * This file is a part of LEMON, a generic C++ optimization library.
    18.6   *
    18.7 - * Copyright (C) 2003-2009
    18.8 + * Copyright (C) 2003-2010
    18.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   18.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   18.11   *
   18.12 @@ -121,7 +121,7 @@
   18.13  
   18.14      int _message_level;
   18.15  
   18.16 -    
   18.17 +
   18.18  
   18.19    };
   18.20  
    19.1 --- a/lemon/circulation.h	Wed Mar 17 12:35:52 2010 +0100
    19.2 +++ b/lemon/circulation.h	Sat Mar 06 14:35:12 2010 +0000
    19.3 @@ -2,7 +2,7 @@
    19.4   *
    19.5   * This file is a part of LEMON, a generic C++ optimization library.
    19.6   *
    19.7 - * Copyright (C) 2003-2009
    19.8 + * Copyright (C) 2003-2010
    19.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   19.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   19.11   *
   19.12 @@ -59,8 +59,8 @@
   19.13  
   19.14      /// \brief The type of supply map.
   19.15      ///
   19.16 -    /// The type of the map that stores the signed supply values of the 
   19.17 -    /// nodes. 
   19.18 +    /// The type of the map that stores the signed supply values of the
   19.19 +    /// nodes.
   19.20      /// It must conform to the \ref concepts::ReadMap "ReadMap" concept.
   19.21      typedef SM SupplyMap;
   19.22  
   19.23 @@ -141,7 +141,7 @@
   19.24       \f[ \sum_{uv\in A} f(uv) - \sum_{vu\in A} f(vu)
   19.25       \geq sup(u) \quad \forall u\in V, \f]
   19.26       \f[ lower(uv) \leq f(uv) \leq upper(uv) \quad \forall uv\in A. \f]
   19.27 -     
   19.28 +
   19.29       The sum of the supply values, i.e. \f$\sum_{u\in V} sup(u)\f$ must be
   19.30       zero or negative in order to have a feasible solution (since the sum
   19.31       of the expressions on the left-hand side of the inequalities is zero).
   19.32 @@ -151,7 +151,7 @@
   19.33       If \f$\sum_{u\in V} sup(u)\f$ is zero, then all the supply/demand
   19.34       constraints have to be satisfied with equality, i.e. all demands
   19.35       have to be satisfied and all supplies have to be used.
   19.36 -     
   19.37 +
   19.38       If you need the opposite inequalities in the supply/demand constraints
   19.39       (i.e. the total demand is less than the total supply and all the demands
   19.40       have to be satisfied while there could be supplies that are not used),
   19.41 @@ -337,7 +337,7 @@
   19.42      ///
   19.43      /// \param graph The digraph the algorithm runs on.
   19.44      /// \param lower The lower bounds for the flow values on the arcs.
   19.45 -    /// \param upper The upper bounds (capacities) for the flow values 
   19.46 +    /// \param upper The upper bounds (capacities) for the flow values
   19.47      /// on the arcs.
   19.48      /// \param supply The signed supply values of the nodes.
   19.49      Circulation(const Digraph &graph, const LowerMap &lower,
    20.1 --- a/lemon/clp.cc	Wed Mar 17 12:35:52 2010 +0100
    20.2 +++ b/lemon/clp.cc	Sat Mar 06 14:35:12 2010 +0000
    20.3 @@ -2,7 +2,7 @@
    20.4   *
    20.5   * This file is a part of LEMON, a generic C++ optimization library.
    20.6   *
    20.7 - * Copyright (C) 2003-2008
    20.8 + * Copyright (C) 2003-2010
    20.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   20.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   20.11   *
    21.1 --- a/lemon/clp.h	Wed Mar 17 12:35:52 2010 +0100
    21.2 +++ b/lemon/clp.h	Sat Mar 06 14:35:12 2010 +0000
    21.3 @@ -2,7 +2,7 @@
    21.4   *
    21.5   * This file is a part of LEMON, a generic C++ optimization library.
    21.6   *
    21.7 - * Copyright (C) 2003-2008
    21.8 + * Copyright (C) 2003-2010
    21.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   21.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   21.11   *
   21.12 @@ -138,7 +138,7 @@
   21.13      virtual void _clear();
   21.14  
   21.15      virtual void _messageLevel(MessageLevel);
   21.16 -    
   21.17 +
   21.18    public:
   21.19  
   21.20      ///Solves LP with primal simplex method.
    22.1 --- a/lemon/concepts/digraph.h	Wed Mar 17 12:35:52 2010 +0100
    22.2 +++ b/lemon/concepts/digraph.h	Sat Mar 06 14:35:12 2010 +0000
    22.3 @@ -2,7 +2,7 @@
    22.4   *
    22.5   * This file is a part of LEMON, a generic C++ optimization library.
    22.6   *
    22.7 - * Copyright (C) 2003-2009
    22.8 + * Copyright (C) 2003-2010
    22.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   22.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   22.11   *
   22.12 @@ -434,7 +434,7 @@
   22.13  
   22.14        private:
   22.15          ///Copy constructor
   22.16 -        NodeMap(const NodeMap& nm) : 
   22.17 +        NodeMap(const NodeMap& nm) :
   22.18            ReferenceMap<Node, T, T&, const T&>(nm) { }
   22.19          ///Assignment operator
   22.20          template <typename CMap>
    23.1 --- a/lemon/concepts/graph.h	Wed Mar 17 12:35:52 2010 +0100
    23.2 +++ b/lemon/concepts/graph.h	Sat Mar 06 14:35:12 2010 +0000
    23.3 @@ -2,7 +2,7 @@
    23.4   *
    23.5   * This file is a part of LEMON, a generic C++ optimization library.
    23.6   *
    23.7 - * Copyright (C) 2003-2009
    23.8 + * Copyright (C) 2003-2010
    23.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   23.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   23.11   *
   23.12 @@ -43,7 +43,7 @@
   23.13      /// undirected graphs should compile with this class, but it will not
   23.14      /// run properly, of course.
   23.15      /// An actual graph implementation like \ref ListGraph or
   23.16 -    /// \ref SmartGraph may have additional functionality.    
   23.17 +    /// \ref SmartGraph may have additional functionality.
   23.18      ///
   23.19      /// The undirected graphs also fulfill the concept of \ref Digraph
   23.20      /// "directed graphs", since each edge can also be regarded as two
   23.21 @@ -85,7 +85,7 @@
   23.22        /// \brief Undirected graphs should be tagged with \c UndirectedTag.
   23.23        ///
   23.24        /// Undirected graphs should be tagged with \c UndirectedTag.
   23.25 -      /// 
   23.26 +      ///
   23.27        /// This tag helps the \c enable_if technics to make compile time
   23.28        /// specializations for undirected graphs.
   23.29        typedef True UndirectedTag;
   23.30 @@ -360,7 +360,7 @@
   23.31          bool operator<(Arc) const { return false; }
   23.32  
   23.33          /// Converison to \c Edge
   23.34 -        
   23.35 +
   23.36          /// Converison to \c Edge.
   23.37          ///
   23.38          operator Edge() const { return Edge(); }
    24.1 --- a/lemon/concepts/graph_components.h	Wed Mar 17 12:35:52 2010 +0100
    24.2 +++ b/lemon/concepts/graph_components.h	Sat Mar 06 14:35:12 2010 +0000
    24.3 @@ -2,7 +2,7 @@
    24.4   *
    24.5   * This file is a part of LEMON, a generic C++ optimization library.
    24.6   *
    24.7 - * Copyright (C) 2003-2009
    24.8 + * Copyright (C) 2003-2010
    24.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   24.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   24.11   *
   24.12 @@ -38,7 +38,7 @@
   24.13      ///
   24.14      /// \note This class is a template class so that we can use it to
   24.15      /// create graph skeleton classes. The reason for this is that \c Node
   24.16 -    /// and \c Arc (or \c Edge) types should \e not derive from the same 
   24.17 +    /// and \c Arc (or \c Edge) types should \e not derive from the same
   24.18      /// base class. For \c Node you should instantiate it with character
   24.19      /// \c 'n', for \c Arc with \c 'a' and for \c Edge with \c 'e'.
   24.20  #ifndef DOXYGEN
   24.21 @@ -89,7 +89,7 @@
   24.22        /// \brief Ordering operator.
   24.23        ///
   24.24        /// This operator defines an ordering of the items.
   24.25 -      /// It makes possible to use graph item types as key types in 
   24.26 +      /// It makes possible to use graph item types as key types in
   24.27        /// associative containers (e.g. \c std::map).
   24.28        ///
   24.29        /// \note This operator only has to define some strict ordering of
   24.30 @@ -122,7 +122,7 @@
   24.31      ///
   24.32      /// This class describes the base interface of directed graph types.
   24.33      /// All digraph %concepts have to conform to this class.
   24.34 -    /// It just provides types for nodes and arcs and functions 
   24.35 +    /// It just provides types for nodes and arcs and functions
   24.36      /// to get the source and the target nodes of arcs.
   24.37      class BaseDigraphComponent {
   24.38      public:
   24.39 @@ -426,7 +426,7 @@
   24.40  
   24.41      /// \brief Concept class for \c NodeIt, \c ArcIt and \c EdgeIt types.
   24.42      ///
   24.43 -    /// This class describes the concept of \c NodeIt, \c ArcIt and 
   24.44 +    /// This class describes the concept of \c NodeIt, \c ArcIt and
   24.45      /// \c EdgeIt subtypes of digraph and graph types.
   24.46      template <typename GR, typename Item>
   24.47      class GraphItemIt : public Item {
   24.48 @@ -466,7 +466,7 @@
   24.49        /// This operator increments the iterator, i.e. assigns it to the
   24.50        /// next item.
   24.51        GraphItemIt& operator++() { return *this; }
   24.52 - 
   24.53 +
   24.54        /// \brief Equality operator
   24.55        ///
   24.56        /// Equality operator.
   24.57 @@ -501,15 +501,15 @@
   24.58        };
   24.59      };
   24.60  
   24.61 -    /// \brief Concept class for \c InArcIt, \c OutArcIt and 
   24.62 +    /// \brief Concept class for \c InArcIt, \c OutArcIt and
   24.63      /// \c IncEdgeIt types.
   24.64      ///
   24.65 -    /// This class describes the concept of \c InArcIt, \c OutArcIt 
   24.66 +    /// This class describes the concept of \c InArcIt, \c OutArcIt
   24.67      /// and \c IncEdgeIt subtypes of digraph and graph types.
   24.68      ///
   24.69      /// \note Since these iterator classes do not inherit from the same
   24.70      /// base class, there is an additional template parameter (selector)
   24.71 -    /// \c sel. For \c InArcIt you should instantiate it with character 
   24.72 +    /// \c sel. For \c InArcIt you should instantiate it with character
   24.73      /// \c 'i', for \c OutArcIt with \c 'o' and for \c IncEdgeIt with \c 'e'.
   24.74      template <typename GR,
   24.75                typename Item = typename GR::Arc,
   24.76 @@ -530,10 +530,10 @@
   24.77        /// Copy constructor.
   24.78        GraphIncIt(const GraphIncIt& it) : Item(it) {}
   24.79  
   24.80 -      /// \brief Constructor that sets the iterator to the first 
   24.81 +      /// \brief Constructor that sets the iterator to the first
   24.82        /// incoming or outgoing arc.
   24.83        ///
   24.84 -      /// Constructor that sets the iterator to the first arc 
   24.85 +      /// Constructor that sets the iterator to the first arc
   24.86        /// incoming to or outgoing from the given node.
   24.87        explicit GraphIncIt(const GR&, const Base&) {}
   24.88  
   24.89 @@ -804,16 +804,16 @@
   24.90  
   24.91        /// \brief Return the first edge incident to the given node.
   24.92        ///
   24.93 -      /// This function gives back the first edge incident to the given 
   24.94 +      /// This function gives back the first edge incident to the given
   24.95        /// node. The bool parameter gives back the direction for which the
   24.96 -      /// source node of the directed arc representing the edge is the 
   24.97 +      /// source node of the directed arc representing the edge is the
   24.98        /// given node.
   24.99        void firstInc(Edge&, bool&, const Node&) const {}
  24.100  
  24.101        /// \brief Gives back the next of the edges from the
  24.102        /// given node.
  24.103        ///
  24.104 -      /// This function gives back the next edge incident to the given 
  24.105 +      /// This function gives back the next edge incident to the given
  24.106        /// node. The bool parameter should be used as \c firstInc() use it.
  24.107        void nextInc(Edge&, bool&) const {}
  24.108  
  24.109 @@ -990,7 +990,7 @@
  24.110      /// \brief Concept class for standard graph maps.
  24.111      ///
  24.112      /// This class describes the concept of standard graph maps, i.e.
  24.113 -    /// the \c NodeMap, \c ArcMap and \c EdgeMap subtypes of digraph and 
  24.114 +    /// the \c NodeMap, \c ArcMap and \c EdgeMap subtypes of digraph and
  24.115      /// graph types, which can be used for associating data to graph items.
  24.116      /// The standard graph maps must conform to the ReferenceMap concept.
  24.117      template <typename GR, typename K, typename V>
  24.118 @@ -1045,7 +1045,7 @@
  24.119              <ReferenceMap<Key, Value, Value&, const Value&>, _Map>();
  24.120            _Map m1(g);
  24.121            _Map m2(g,t);
  24.122 -          
  24.123 +
  24.124            // Copy constructor
  24.125            // _Map m3(m);
  24.126  
  24.127 @@ -1068,7 +1068,7 @@
  24.128      /// \brief Skeleton class for mappable directed graphs.
  24.129      ///
  24.130      /// This class describes the interface of mappable directed graphs.
  24.131 -    /// It extends \ref BaseDigraphComponent with the standard digraph 
  24.132 +    /// It extends \ref BaseDigraphComponent with the standard digraph
  24.133      /// map classes, namely \c NodeMap and \c ArcMap.
  24.134      /// This concept is part of the Digraph concept.
  24.135      template <typename BAS = BaseDigraphComponent>
  24.136 @@ -1205,7 +1205,7 @@
  24.137      /// \brief Skeleton class for mappable undirected graphs.
  24.138      ///
  24.139      /// This class describes the interface of mappable undirected graphs.
  24.140 -    /// It extends \ref MappableDigraphComponent with the standard graph 
  24.141 +    /// It extends \ref MappableDigraphComponent with the standard graph
  24.142      /// map class for edges (\c EdgeMap).
  24.143      /// This concept is part of the Graph concept.
  24.144      template <typename BAS = BaseGraphComponent>
  24.145 @@ -1290,7 +1290,7 @@
  24.146      /// \brief Skeleton class for extendable directed graphs.
  24.147      ///
  24.148      /// This class describes the interface of extendable directed graphs.
  24.149 -    /// It extends \ref BaseDigraphComponent with functions for adding 
  24.150 +    /// It extends \ref BaseDigraphComponent with functions for adding
  24.151      /// nodes and arcs to the digraph.
  24.152      /// This concept requires \ref AlterableDigraphComponent.
  24.153      template <typename BAS = BaseDigraphComponent>
  24.154 @@ -1334,7 +1334,7 @@
  24.155      /// \brief Skeleton class for extendable undirected graphs.
  24.156      ///
  24.157      /// This class describes the interface of extendable undirected graphs.
  24.158 -    /// It extends \ref BaseGraphComponent with functions for adding 
  24.159 +    /// It extends \ref BaseGraphComponent with functions for adding
  24.160      /// nodes and edges to the graph.
  24.161      /// This concept requires \ref AlterableGraphComponent.
  24.162      template <typename BAS = BaseGraphComponent>
  24.163 @@ -1378,7 +1378,7 @@
  24.164      /// \brief Skeleton class for erasable directed graphs.
  24.165      ///
  24.166      /// This class describes the interface of erasable directed graphs.
  24.167 -    /// It extends \ref BaseDigraphComponent with functions for removing 
  24.168 +    /// It extends \ref BaseDigraphComponent with functions for removing
  24.169      /// nodes and arcs from the digraph.
  24.170      /// This concept requires \ref AlterableDigraphComponent.
  24.171      template <typename BAS = BaseDigraphComponent>
  24.172 @@ -1391,7 +1391,7 @@
  24.173  
  24.174        /// \brief Erase a node from the digraph.
  24.175        ///
  24.176 -      /// This function erases the given node from the digraph and all arcs 
  24.177 +      /// This function erases the given node from the digraph and all arcs
  24.178        /// connected to the node.
  24.179        void erase(const Node&) {}
  24.180  
  24.181 @@ -1417,7 +1417,7 @@
  24.182      /// \brief Skeleton class for erasable undirected graphs.
  24.183      ///
  24.184      /// This class describes the interface of erasable undirected graphs.
  24.185 -    /// It extends \ref BaseGraphComponent with functions for removing 
  24.186 +    /// It extends \ref BaseGraphComponent with functions for removing
  24.187      /// nodes and edges from the graph.
  24.188      /// This concept requires \ref AlterableGraphComponent.
  24.189      template <typename BAS = BaseGraphComponent>
    25.1 --- a/lemon/concepts/heap.h	Wed Mar 17 12:35:52 2010 +0100
    25.2 +++ b/lemon/concepts/heap.h	Sat Mar 06 14:35:12 2010 +0000
    25.3 @@ -2,7 +2,7 @@
    25.4   *
    25.5   * This file is a part of LEMON, a generic C++ optimization library.
    25.6   *
    25.7 - * Copyright (C) 2003-2009
    25.8 + * Copyright (C) 2003-2010
    25.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   25.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   25.11   *
   25.12 @@ -92,7 +92,7 @@
   25.13        explicit Heap(ItemIntMap &map) {}
   25.14  #else
   25.15        explicit Heap(ItemIntMap&) {}
   25.16 -#endif      
   25.17 +#endif
   25.18  
   25.19        /// \brief Constructor.
   25.20        ///
   25.21 @@ -106,7 +106,7 @@
   25.22        explicit Heap(ItemIntMap &map, const CMP &comp) {}
   25.23  #else
   25.24        explicit Heap(ItemIntMap&, const CMP&) {}
   25.25 -#endif      
   25.26 +#endif
   25.27  
   25.28        /// \brief The number of items stored in the heap.
   25.29        ///
   25.30 @@ -138,7 +138,7 @@
   25.31        void push(const Item &i, const Prio &p) {}
   25.32  #else
   25.33        void push(const Item&, const Prio&) {}
   25.34 -#endif      
   25.35 +#endif
   25.36  
   25.37        /// \brief Return the item having minimum priority.
   25.38        ///
   25.39 @@ -168,7 +168,7 @@
   25.40        void erase(const Item &i) {}
   25.41  #else
   25.42        void erase(const Item&) {}
   25.43 -#endif      
   25.44 +#endif
   25.45  
   25.46        /// \brief The priority of the given item.
   25.47        ///
   25.48 @@ -179,7 +179,7 @@
   25.49        Prio operator[](const Item &i) const {}
   25.50  #else
   25.51        Prio operator[](const Item&) const { return Prio(); }
   25.52 -#endif      
   25.53 +#endif
   25.54  
   25.55        /// \brief Set the priority of an item or insert it, if it is
   25.56        /// not stored in the heap.
   25.57 @@ -194,7 +194,7 @@
   25.58        void set(const Item &i, const Prio &p) {}
   25.59  #else
   25.60        void set(const Item&, const Prio&) {}
   25.61 -#endif      
   25.62 +#endif
   25.63  
   25.64        /// \brief Decrease the priority of an item to the given value.
   25.65        ///
   25.66 @@ -206,7 +206,7 @@
   25.67        void decrease(const Item &i, const Prio &p) {}
   25.68  #else
   25.69        void decrease(const Item&, const Prio&) {}
   25.70 -#endif      
   25.71 +#endif
   25.72  
   25.73        /// \brief Increase the priority of an item to the given value.
   25.74        ///
   25.75 @@ -218,7 +218,7 @@
   25.76        void increase(const Item &i, const Prio &p) {}
   25.77  #else
   25.78        void increase(const Item&, const Prio&) {}
   25.79 -#endif      
   25.80 +#endif
   25.81  
   25.82        /// \brief Return the state of an item.
   25.83        ///
   25.84 @@ -232,7 +232,7 @@
   25.85        State state(const Item &i) const {}
   25.86  #else
   25.87        State state(const Item&) const { return PRE_HEAP; }
   25.88 -#endif      
   25.89 +#endif
   25.90  
   25.91        /// \brief Set the state of an item in the heap.
   25.92        ///
   25.93 @@ -245,7 +245,7 @@
   25.94        void state(const Item& i, State st) {}
   25.95  #else
   25.96        void state(const Item&, State) {}
   25.97 -#endif      
   25.98 +#endif
   25.99  
  25.100  
  25.101        template <typename _Heap>
    26.1 --- a/lemon/connectivity.h	Wed Mar 17 12:35:52 2010 +0100
    26.2 +++ b/lemon/connectivity.h	Sat Mar 06 14:35:12 2010 +0000
    26.3 @@ -2,7 +2,7 @@
    26.4   *
    26.5   * This file is a part of LEMON, a generic C++ optimization library.
    26.6   *
    26.7 - * Copyright (C) 2003-2009
    26.8 + * Copyright (C) 2003-2010
    26.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   26.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   26.11   *
   26.12 @@ -258,7 +258,7 @@
   26.13    ///
   26.14    /// \return \c true if the digraph is strongly connected.
   26.15    /// \note By definition, the empty digraph is strongly connected.
   26.16 -  /// 
   26.17 +  ///
   26.18    /// \see countStronglyConnectedComponents(), stronglyConnectedComponents()
   26.19    /// \see connected()
   26.20    template <typename Digraph>
   26.21 @@ -310,7 +310,7 @@
   26.22  
   26.23    /// \ingroup graph_properties
   26.24    ///
   26.25 -  /// \brief Count the number of strongly connected components of a 
   26.26 +  /// \brief Count the number of strongly connected components of a
   26.27    /// directed graph
   26.28    ///
   26.29    /// This function counts the number of strongly connected components of
   26.30 @@ -744,7 +744,7 @@
   26.31    ///
   26.32    /// \brief Check whether an undirected graph is bi-node-connected.
   26.33    ///
   26.34 -  /// This function checks whether the given undirected graph is 
   26.35 +  /// This function checks whether the given undirected graph is
   26.36    /// bi-node-connected, i.e. any two edges are on same circle.
   26.37    ///
   26.38    /// \return \c true if the graph bi-node-connected.
   26.39 @@ -758,7 +758,7 @@
   26.40  
   26.41    /// \ingroup graph_properties
   26.42    ///
   26.43 -  /// \brief Count the number of bi-node-connected components of an 
   26.44 +  /// \brief Count the number of bi-node-connected components of an
   26.45    /// undirected graph.
   26.46    ///
   26.47    /// This function counts the number of bi-node-connected components of
   26.48 @@ -812,7 +812,7 @@
   26.49    /// \param graph The undirected graph.
   26.50    /// \retval compMap A writable edge map. The values will be set from 0
   26.51    /// to the number of the bi-node-connected components minus one. Each
   26.52 -  /// value of the map will be set exactly once, and the values of a 
   26.53 +  /// value of the map will be set exactly once, and the values of a
   26.54    /// certain component will be set continuously.
   26.55    /// \return The number of bi-node-connected components.
   26.56    ///
   26.57 @@ -858,7 +858,7 @@
   26.58    /// the components.
   26.59    ///
   26.60    /// \param graph The undirected graph.
   26.61 -  /// \retval cutMap A writable node map. The values will be set to 
   26.62 +  /// \retval cutMap A writable node map. The values will be set to
   26.63    /// \c true for the nodes that separate two or more components
   26.64    /// (exactly once for each cut node), and will not be changed for
   26.65    /// other nodes.
   26.66 @@ -1085,7 +1085,7 @@
   26.67    ///
   26.68    /// \brief Check whether an undirected graph is bi-edge-connected.
   26.69    ///
   26.70 -  /// This function checks whether the given undirected graph is 
   26.71 +  /// This function checks whether the given undirected graph is
   26.72    /// bi-edge-connected, i.e. any two nodes are connected with at least
   26.73    /// two edge-disjoint paths.
   26.74    ///
   26.75 @@ -1192,7 +1192,7 @@
   26.76    /// \brief Find the bi-edge-connected cut edges in an undirected graph.
   26.77    ///
   26.78    /// This function finds the bi-edge-connected cut edges in the given
   26.79 -  /// undirected graph. 
   26.80 +  /// undirected graph.
   26.81    ///
   26.82    /// The bi-edge-connected components are the classes of an equivalence
   26.83    /// relation on the nodes of an undirected graph. Two nodes are in the
   26.84 @@ -1349,7 +1349,7 @@
   26.85    ///
   26.86    /// \param digraph The digraph.
   26.87    /// \retval order A readable and writable node map. The values will be
   26.88 -  /// set from 0 to the number of the nodes in the digraph minus one. 
   26.89 +  /// set from 0 to the number of the nodes in the digraph minus one.
   26.90    /// Each value of the map will be set exactly once, and the values will
   26.91    /// be set descending order.
   26.92    /// \return \c false if the digraph is not DAG.
    27.1 --- a/lemon/core.h	Wed Mar 17 12:35:52 2010 +0100
    27.2 +++ b/lemon/core.h	Sat Mar 06 14:35:12 2010 +0000
    27.3 @@ -2,7 +2,7 @@
    27.4   *
    27.5   * This file is a part of LEMON, a generic C++ optimization library.
    27.6   *
    27.7 - * Copyright (C) 2003-2009
    27.8 + * Copyright (C) 2003-2010
    27.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   27.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   27.11   *
   27.12 @@ -1239,7 +1239,8 @@
   27.13  
   27.14    protected:
   27.15  
   27.16 -    class AutoNodeMap : public ItemSetTraits<GR, Node>::template Map<Arc>::Type {
   27.17 +    class AutoNodeMap : public ItemSetTraits<GR, Node>::template Map<Arc>::Type
   27.18 +    {
   27.19        typedef typename ItemSetTraits<GR, Node>::template Map<Arc>::Type Parent;
   27.20  
   27.21      public:
   27.22 @@ -1278,7 +1279,7 @@
   27.23        }
   27.24      };
   27.25  
   27.26 -  protected: 
   27.27 +  protected:
   27.28  
   27.29      const Digraph &_g;
   27.30      AutoNodeMap _head;
    28.1 --- a/lemon/cost_scaling.h	Wed Mar 17 12:35:52 2010 +0100
    28.2 +++ b/lemon/cost_scaling.h	Sat Mar 06 14:35:12 2010 +0000
    28.3 @@ -1,8 +1,8 @@
    28.4 -/* -*- C++ -*-
    28.5 +/* -*- mode: C++; indent-tabs-mode: nil; -*-
    28.6   *
    28.7 - * This file is a part of LEMON, a generic C++ optimization library
    28.8 + * This file is a part of LEMON, a generic C++ optimization library.
    28.9   *
   28.10 - * Copyright (C) 2003-2008
   28.11 + * Copyright (C) 2003-2010
   28.12   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   28.13   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   28.14   *
   28.15 @@ -92,7 +92,7 @@
   28.16    /// \ref CostScaling implements a cost scaling algorithm that performs
   28.17    /// push/augment and relabel operations for finding a \ref min_cost_flow
   28.18    /// "minimum cost flow" \ref amo93networkflows, \ref goldberg90approximation,
   28.19 -  /// \ref goldberg97efficient, \ref bunnagel98efficient. 
   28.20 +  /// \ref goldberg97efficient, \ref bunnagel98efficient.
   28.21    /// It is a highly efficient primal-dual solution method, which
   28.22    /// can be viewed as the generalization of the \ref Preflow
   28.23    /// "preflow push-relabel" algorithm for the maximum flow problem.
   28.24 @@ -189,7 +189,7 @@
   28.25        /// Augment operations are used, i.e. flow is moved on admissible
   28.26        /// paths from a node with excess to a node with deficit.
   28.27        AUGMENT,
   28.28 -      /// Partial augment operations are used, i.e. flow is moved on 
   28.29 +      /// Partial augment operations are used, i.e. flow is moved on
   28.30        /// admissible paths started from a node with excess, but the
   28.31        /// lengths of these paths are limited. This method can be viewed
   28.32        /// as a combined version of the previous two operations.
   28.33 @@ -208,15 +208,15 @@
   28.34      // Note: vector<char> is used instead of vector<bool> for efficiency reasons
   28.35  
   28.36    private:
   28.37 -  
   28.38 +
   28.39      template <typename KT, typename VT>
   28.40      class StaticVectorMap {
   28.41      public:
   28.42        typedef KT Key;
   28.43        typedef VT Value;
   28.44 -      
   28.45 +
   28.46        StaticVectorMap(std::vector<Value>& v) : _v(v) {}
   28.47 -      
   28.48 +
   28.49        const Value& operator[](const Key& key) const {
   28.50          return _v[StaticDigraph::id(key)];
   28.51        }
   28.52 @@ -224,7 +224,7 @@
   28.53        Value& operator[](const Key& key) {
   28.54          return _v[StaticDigraph::id(key)];
   28.55        }
   28.56 -      
   28.57 +
   28.58        void set(const Key& key, const Value& val) {
   28.59          _v[StaticDigraph::id(key)] = val;
   28.60        }
   28.61 @@ -283,7 +283,7 @@
   28.62      IntVector _bucket_prev;
   28.63      IntVector _rank;
   28.64      int _max_rank;
   28.65 -  
   28.66 +
   28.67      // Data for a StaticDigraph structure
   28.68      typedef std::pair<int, int> IntPair;
   28.69      StaticDigraph _sgr;
   28.70 @@ -291,9 +291,9 @@
   28.71      std::vector<LargeCost> _cost_vec;
   28.72      LargeCostArcMap _cost_map;
   28.73      LargeCostNodeMap _pi_map;
   28.74 -  
   28.75 +
   28.76    public:
   28.77 -  
   28.78 +
   28.79      /// \brief Constant for infinite upper bounds (capacities).
   28.80      ///
   28.81      /// Constant for infinite upper bounds (capacities).
   28.82 @@ -348,7 +348,7 @@
   28.83          "The flow type of CostScaling must be signed");
   28.84        LEMON_ASSERT(std::numeric_limits<Cost>::is_signed,
   28.85          "The cost type of CostScaling must be signed");
   28.86 -      
   28.87 +
   28.88        // Reset data structures
   28.89        reset();
   28.90      }
   28.91 @@ -464,7 +464,7 @@
   28.92        _supply[_node_id[t]] = -k;
   28.93        return *this;
   28.94      }
   28.95 -    
   28.96 +
   28.97      /// @}
   28.98  
   28.99      /// \name Execution control
  28.100 @@ -566,7 +566,7 @@
  28.101          _upper[j] = INF;
  28.102          _scost[j] = 0;
  28.103          _scost[_reverse[j]] = 0;
  28.104 -      }      
  28.105 +      }
  28.106        _have_lower = false;
  28.107        return *this;
  28.108      }
  28.109 @@ -601,7 +601,7 @@
  28.110        _upper.resize(_res_arc_num);
  28.111        _scost.resize(_res_arc_num);
  28.112        _supply.resize(_res_node_num);
  28.113 -      
  28.114 +
  28.115        _res_cap.resize(_res_arc_num);
  28.116        _cost.resize(_res_arc_num);
  28.117        _pi.resize(_res_node_num);
  28.118 @@ -649,7 +649,7 @@
  28.119          _reverse[fi] = bi;
  28.120          _reverse[bi] = fi;
  28.121        }
  28.122 -      
  28.123 +
  28.124        // Reset parameters
  28.125        resetParams();
  28.126        return *this;
  28.127 @@ -758,14 +758,14 @@
  28.128          _sum_supply += _supply[i];
  28.129        }
  28.130        if (_sum_supply > 0) return INFEASIBLE;
  28.131 -      
  28.132 +
  28.133  
  28.134        // Initialize vectors
  28.135        for (int i = 0; i != _res_node_num; ++i) {
  28.136          _pi[i] = 0;
  28.137          _excess[i] = _supply[i];
  28.138        }
  28.139 -      
  28.140 +
  28.141        // Remove infinite upper bounds and check negative arcs
  28.142        const Value MAX = std::numeric_limits<Value>::max();
  28.143        int last_out;
  28.144 @@ -885,7 +885,7 @@
  28.145            _cost[ra] = 0;
  28.146          }
  28.147        }
  28.148 -      
  28.149 +
  28.150        return OPTIMAL;
  28.151      }
  28.152  
  28.153 @@ -894,13 +894,13 @@
  28.154        // Maximum path length for partial augment
  28.155        const int MAX_PATH_LENGTH = 4;
  28.156  
  28.157 -      // Initialize data structures for buckets      
  28.158 +      // Initialize data structures for buckets
  28.159        _max_rank = _alpha * _res_node_num;
  28.160        _buckets.resize(_max_rank);
  28.161        _bucket_next.resize(_res_node_num + 1);
  28.162        _bucket_prev.resize(_res_node_num + 1);
  28.163        _rank.resize(_res_node_num + 1);
  28.164 -  
  28.165 +
  28.166        // Execute the algorithm
  28.167        switch (method) {
  28.168          case PUSH:
  28.169 @@ -939,7 +939,7 @@
  28.170          }
  28.171        }
  28.172      }
  28.173 -    
  28.174 +
  28.175      // Initialize a cost scaling phase
  28.176      void initPhase() {
  28.177        // Saturate arcs not satisfying the optimality condition
  28.178 @@ -957,7 +957,7 @@
  28.179            }
  28.180          }
  28.181        }
  28.182 -      
  28.183 +
  28.184        // Find active nodes (i.e. nodes with positive excess)
  28.185        for (int u = 0; u != _res_node_num; ++u) {
  28.186          if (_excess[u] > 0) _active_nodes.push_back(u);
  28.187 @@ -968,7 +968,7 @@
  28.188          _next_out[u] = _first_out[u];
  28.189        }
  28.190      }
  28.191 -    
  28.192 +
  28.193      // Early termination heuristic
  28.194      bool earlyTermination() {
  28.195        const double EARLY_TERM_FACTOR = 3.0;
  28.196 @@ -998,7 +998,7 @@
  28.197      // Global potential update heuristic
  28.198      void globalUpdate() {
  28.199        int bucket_end = _root + 1;
  28.200 -    
  28.201 +
  28.202        // Initialize buckets
  28.203        for (int r = 0; r != _max_rank; ++r) {
  28.204          _buckets[r] = bucket_end;
  28.205 @@ -1024,7 +1024,7 @@
  28.206            // Remove the first node from the current bucket
  28.207            int u = _buckets[r];
  28.208            _buckets[r] = _bucket_next[u];
  28.209 -          
  28.210 +
  28.211            // Search the incomming arcs of u
  28.212            LargeCost pi_u = _pi[u];
  28.213            int last_out = _first_out[u+1];
  28.214 @@ -1039,12 +1039,12 @@
  28.215                  int new_rank_v = old_rank_v;
  28.216                  if (nrc < LargeCost(_max_rank))
  28.217                    new_rank_v = r + 1 + int(nrc);
  28.218 -                  
  28.219 +
  28.220                  // Change the rank of v
  28.221                  if (new_rank_v < old_rank_v) {
  28.222                    _rank[v] = new_rank_v;
  28.223                    _next_out[v] = _first_out[v];
  28.224 -                  
  28.225 +
  28.226                    // Remove v from its old bucket
  28.227                    if (old_rank_v < _max_rank) {
  28.228                      if (_buckets[old_rank_v] == v) {
  28.229 @@ -1054,7 +1054,7 @@
  28.230                        _bucket_prev[_bucket_next[v]] = _bucket_prev[v];
  28.231                      }
  28.232                    }
  28.233 -                  
  28.234 +
  28.235                    // Insert v to its new bucket
  28.236                    _bucket_next[v] = _buckets[new_rank_v];
  28.237                    _bucket_prev[_buckets[new_rank_v]] = v;
  28.238 @@ -1072,7 +1072,7 @@
  28.239          }
  28.240          if (total_excess <= 0) break;
  28.241        }
  28.242 -      
  28.243 +
  28.244        // Relabel nodes
  28.245        for (int u = 0; u != _res_node_num; ++u) {
  28.246          int k = std::min(_rank[u], r);
  28.247 @@ -1092,9 +1092,9 @@
  28.248        const int global_update_freq = int(GLOBAL_UPDATE_FACTOR *
  28.249          (_res_node_num + _sup_node_num * _sup_node_num));
  28.250        int next_update_limit = global_update_freq;
  28.251 -      
  28.252 +
  28.253        int relabel_cnt = 0;
  28.254 -      
  28.255 +
  28.256        // Perform cost scaling phases
  28.257        std::vector<int> path;
  28.258        for ( ; _epsilon >= 1; _epsilon = _epsilon < _alpha && _epsilon > 1 ?
  28.259 @@ -1104,10 +1104,10 @@
  28.260          if (_epsilon <= EARLY_TERM_EPSILON_LIMIT) {
  28.261            if (earlyTermination()) break;
  28.262          }
  28.263 -        
  28.264 +
  28.265          // Initialize current phase
  28.266          initPhase();
  28.267 -        
  28.268 +
  28.269          // Perform partial augment and relabel operations
  28.270          while (true) {
  28.271            // Select an active node (FIFO selection)
  28.272 @@ -1196,7 +1196,7 @@
  28.273        int next_update_limit = global_update_freq;
  28.274  
  28.275        int relabel_cnt = 0;
  28.276 -      
  28.277 +
  28.278        // Perform cost scaling phases
  28.279        BoolVector hyper(_res_node_num, false);
  28.280        LargeCostVector hyper_cost(_res_node_num);
  28.281 @@ -1207,7 +1207,7 @@
  28.282          if (_epsilon <= EARLY_TERM_EPSILON_LIMIT) {
  28.283            if (earlyTermination()) break;
  28.284          }
  28.285 -        
  28.286 +
  28.287          // Initialize current phase
  28.288          initPhase();
  28.289  
  28.290 @@ -1222,7 +1222,7 @@
  28.291            n = _active_nodes.front();
  28.292            last_out = _first_out[n+1];
  28.293            pi_n = _pi[n];
  28.294 -          
  28.295 +
  28.296            // Perform push operations if there are admissible arcs
  28.297            if (_excess[n] > 0) {
  28.298              for (a = _next_out[n]; a != last_out; ++a) {
  28.299 @@ -1236,7 +1236,7 @@
  28.300                  int last_out_t = _first_out[t+1];
  28.301                  LargeCost pi_t = _pi[t];
  28.302                  for (int ta = _next_out[t]; ta != last_out_t; ++ta) {
  28.303 -                  if (_res_cap[ta] > 0 && 
  28.304 +                  if (_res_cap[ta] > 0 &&
  28.305                        _cost[ta] + pi_t - _pi[_target[ta]] < 0)
  28.306                      ahead += _res_cap[ta];
  28.307                    if (ahead >= delta) break;
  28.308 @@ -1287,7 +1287,7 @@
  28.309              hyper[n] = false;
  28.310              ++relabel_cnt;
  28.311            }
  28.312 -        
  28.313 +
  28.314            // Remove nodes that are not active nor hyper
  28.315          remove_nodes:
  28.316            while ( _active_nodes.size() > 0 &&
  28.317 @@ -1295,7 +1295,7 @@
  28.318                    !hyper[_active_nodes.front()] ) {
  28.319              _active_nodes.pop_front();
  28.320            }
  28.321 -          
  28.322 +
  28.323            // Global update heuristic
  28.324            if (relabel_cnt >= next_update_limit) {
  28.325              globalUpdate();
    29.1 --- a/lemon/cplex.cc	Wed Mar 17 12:35:52 2010 +0100
    29.2 +++ b/lemon/cplex.cc	Sat Mar 06 14:35:12 2010 +0000
    29.3 @@ -2,7 +2,7 @@
    29.4   *
    29.5   * This file is a part of LEMON, a generic C++ optimization library.
    29.6   *
    29.7 - * Copyright (C) 2003-2009
    29.8 + * Copyright (C) 2003-2010
    29.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   29.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   29.11   *
   29.12 @@ -111,7 +111,7 @@
   29.13      return i;
   29.14    }
   29.15  
   29.16 -  int CplexBase::_addRow(Value lb, ExprIterator b, 
   29.17 +  int CplexBase::_addRow(Value lb, ExprIterator b,
   29.18                           ExprIterator e, Value ub) {
   29.19      int i = CPXgetnumrows(cplexEnv(), _prob);
   29.20      if (lb == -INF) {
   29.21 @@ -489,7 +489,7 @@
   29.22    }
   29.23  
   29.24    void CplexBase::_applyMessageLevel() {
   29.25 -    CPXsetintparam(cplexEnv(), CPX_PARAM_SCRIND, 
   29.26 +    CPXsetintparam(cplexEnv(), CPX_PARAM_SCRIND,
   29.27                     _message_enabled ? CPX_ON : CPX_OFF);
   29.28    }
   29.29  
    30.1 --- a/lemon/cycle_canceling.h	Wed Mar 17 12:35:52 2010 +0100
    30.2 +++ b/lemon/cycle_canceling.h	Sat Mar 06 14:35:12 2010 +0000
    30.3 @@ -1,8 +1,8 @@
    30.4 -/* -*- C++ -*-
    30.5 +/* -*- mode: C++; indent-tabs-mode: nil; -*-
    30.6   *
    30.7 - * This file is a part of LEMON, a generic C++ optimization library
    30.8 + * This file is a part of LEMON, a generic C++ optimization library.
    30.9   *
   30.10 - * Copyright (C) 2003-2008
   30.11 + * Copyright (C) 2003-2010
   30.12   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   30.13   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   30.14   *
   30.15 @@ -142,7 +142,7 @@
   30.16    private:
   30.17  
   30.18      TEMPLATE_DIGRAPH_TYPEDEFS(GR);
   30.19 -    
   30.20 +
   30.21      typedef std::vector<int> IntVector;
   30.22      typedef std::vector<double> DoubleVector;
   30.23      typedef std::vector<Value> ValueVector;
   30.24 @@ -151,15 +151,15 @@
   30.25      // Note: vector<char> is used instead of vector<bool> for efficiency reasons
   30.26  
   30.27    private:
   30.28 -  
   30.29 +
   30.30      template <typename KT, typename VT>
   30.31      class StaticVectorMap {
   30.32      public:
   30.33        typedef KT Key;
   30.34        typedef VT Value;
   30.35 -      
   30.36 +
   30.37        StaticVectorMap(std::vector<Value>& v) : _v(v) {}
   30.38 -      
   30.39 +
   30.40        const Value& operator[](const Key& key) const {
   30.41          return _v[StaticDigraph::id(key)];
   30.42        }
   30.43 @@ -167,7 +167,7 @@
   30.44        Value& operator[](const Key& key) {
   30.45          return _v[StaticDigraph::id(key)];
   30.46        }
   30.47 -      
   30.48 +
   30.49        void set(const Key& key, const Value& val) {
   30.50          _v[StaticDigraph::id(key)] = val;
   30.51        }
   30.52 @@ -221,9 +221,9 @@
   30.53      IntVector _id_vec;
   30.54      CostArcMap _cost_map;
   30.55      CostNodeMap _pi_map;
   30.56 -  
   30.57 +
   30.58    public:
   30.59 -  
   30.60 +
   30.61      /// \brief Constant for infinite upper bounds (capacities).
   30.62      ///
   30.63      /// Constant for infinite upper bounds (capacities).
   30.64 @@ -366,7 +366,7 @@
   30.65        _supply[_node_id[t]] = -k;
   30.66        return *this;
   30.67      }
   30.68 -    
   30.69 +
   30.70      /// @}
   30.71  
   30.72      /// \name Execution control
   30.73 @@ -466,7 +466,7 @@
   30.74          _upper[j] = INF;
   30.75          _cost[j] = 0;
   30.76          _cost[_reverse[j]] = 0;
   30.77 -      }      
   30.78 +      }
   30.79        _have_lower = false;
   30.80        return *this;
   30.81      }
   30.82 @@ -508,7 +508,7 @@
   30.83        _upper.resize(_res_arc_num);
   30.84        _cost.resize(_res_arc_num);
   30.85        _supply.resize(_res_node_num);
   30.86 -      
   30.87 +
   30.88        _res_cap.resize(_res_arc_num);
   30.89        _pi.resize(_res_node_num);
   30.90  
   30.91 @@ -554,7 +554,7 @@
   30.92          _reverse[fi] = bi;
   30.93          _reverse[bi] = fi;
   30.94        }
   30.95 -      
   30.96 +
   30.97        // Reset parameters
   30.98        resetParams();
   30.99        return *this;
  30.100 @@ -663,14 +663,14 @@
  30.101          _sum_supply += _supply[i];
  30.102        }
  30.103        if (_sum_supply > 0) return INFEASIBLE;
  30.104 -      
  30.105 +
  30.106  
  30.107        // Initialize vectors
  30.108        for (int i = 0; i != _res_node_num; ++i) {
  30.109          _pi[i] = 0;
  30.110        }
  30.111        ValueVector excess(_supply);
  30.112 -      
  30.113 +
  30.114        // Remove infinite upper bounds and check negative arcs
  30.115        const Value MAX = std::numeric_limits<Value>::max();
  30.116        int last_out;
  30.117 @@ -770,10 +770,10 @@
  30.118            _cost[ra] = 0;
  30.119          }
  30.120        }
  30.121 -      
  30.122 +
  30.123        return OPTIMAL;
  30.124      }
  30.125 -    
  30.126 +
  30.127      // Build a StaticDigraph structure containing the current
  30.128      // residual network
  30.129      void buildResidualNetwork() {
  30.130 @@ -829,14 +829,14 @@
  30.131        // Constants for computing the iteration limits
  30.132        const int BF_FIRST_LIMIT  = 2;
  30.133        const double BF_LIMIT_FACTOR = 1.5;
  30.134 -      
  30.135 +
  30.136        typedef StaticVectorMap<StaticDigraph::Arc, Value> FilterMap;
  30.137        typedef FilterArcs<StaticDigraph, FilterMap> ResDigraph;
  30.138        typedef StaticVectorMap<StaticDigraph::Node, StaticDigraph::Arc> PredMap;
  30.139        typedef typename BellmanFord<ResDigraph, CostArcMap>
  30.140          ::template SetDistMap<CostNodeMap>
  30.141          ::template SetPredMap<PredMap>::Create BF;
  30.142 -      
  30.143 +
  30.144        // Build the residual network
  30.145        _arc_vec.clear();
  30.146        _cost_vec.clear();
  30.147 @@ -926,7 +926,7 @@
  30.148        typedef typename SPath::ArcIt SPathArcIt;
  30.149        typedef typename HowardMmc<StaticDigraph, CostArcMap>
  30.150          ::template SetPath<SPath>::Create MMC;
  30.151 -      
  30.152 +
  30.153        SPath cycle;
  30.154        MMC mmc(_sgr, _cost_map);
  30.155        mmc.cycle(cycle);
  30.156 @@ -949,7 +949,7 @@
  30.157            _res_cap[_reverse[j]] += delta;
  30.158          }
  30.159  
  30.160 -        // Rebuild the residual network        
  30.161 +        // Rebuild the residual network
  30.162          buildResidualNetwork();
  30.163        }
  30.164      }
  30.165 @@ -1143,7 +1143,7 @@
  30.166            epsilon = -mmc.cycleMean();
  30.167            Cost cycle_cost = mmc.cycleCost();
  30.168            int cycle_size = mmc.cycleSize();
  30.169 -          
  30.170 +
  30.171            // Compute feasible potentials for the current epsilon
  30.172            for (int i = 0; i != int(_cost_vec.size()); ++i) {
  30.173              _cost_vec[i] = cycle_size * _cost_vec[i] - cycle_cost;
  30.174 @@ -1155,7 +1155,7 @@
  30.175            for (int u = 0; u != _res_node_num; ++u) {
  30.176              pi[u] = static_cast<double>(_pi[u]) / cycle_size;
  30.177            }
  30.178 -        
  30.179 +
  30.180            iter = limit;
  30.181          }
  30.182        }
    31.1 --- a/lemon/dfs.h	Wed Mar 17 12:35:52 2010 +0100
    31.2 +++ b/lemon/dfs.h	Sat Mar 06 14:35:12 2010 +0000
    31.3 @@ -2,7 +2,7 @@
    31.4   *
    31.5   * This file is a part of LEMON, a generic C++ optimization library.
    31.6   *
    31.7 - * Copyright (C) 2003-2009
    31.8 + * Copyright (C) 2003-2010
    31.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   31.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   31.11   *
   31.12 @@ -82,7 +82,8 @@
   31.13      ///The type of the map that indicates which nodes are reached.
   31.14  
   31.15      ///The type of the map that indicates which nodes are reached.
   31.16 -    ///It must conform to the \ref concepts::ReadWriteMap "ReadWriteMap" concept.
   31.17 +    ///It must conform to
   31.18 +    ///the \ref concepts::ReadWriteMap "ReadWriteMap" concept.
   31.19      typedef typename Digraph::template NodeMap<bool> ReachedMap;
   31.20      ///Instantiates a \c ReachedMap.
   31.21  
   31.22 @@ -270,7 +271,8 @@
   31.23      ///
   31.24      ///\ref named-templ-param "Named parameter" for setting
   31.25      ///\c ReachedMap type.
   31.26 -    ///It must conform to the \ref concepts::ReadWriteMap "ReadWriteMap" concept.
   31.27 +    ///It must conform to
   31.28 +    ///the \ref concepts::ReadWriteMap "ReadWriteMap" concept.
   31.29      template <class T>
   31.30      struct SetReachedMap : public Dfs< Digraph, SetReachedMapTraits<T> > {
   31.31        typedef Dfs< Digraph, SetReachedMapTraits<T> > Create;
   31.32 @@ -802,7 +804,8 @@
   31.33      ///The type of the map that indicates which nodes are reached.
   31.34  
   31.35      ///The type of the map that indicates which nodes are reached.
   31.36 -    ///It must conform to the \ref concepts::ReadWriteMap "ReadWriteMap" concept.
   31.37 +    ///It must conform to
   31.38 +    ///the \ref concepts::ReadWriteMap "ReadWriteMap" concept.
   31.39      typedef typename Digraph::template NodeMap<bool> ReachedMap;
   31.40      ///Instantiates a ReachedMap.
   31.41  
   31.42 @@ -1207,7 +1210,8 @@
   31.43      /// \brief The type of the map that indicates which nodes are reached.
   31.44      ///
   31.45      /// The type of the map that indicates which nodes are reached.
   31.46 -    /// It must conform to the \ref concepts::ReadWriteMap "ReadWriteMap" concept.
   31.47 +    /// It must conform to the
   31.48 +    /// \ref concepts::ReadWriteMap "ReadWriteMap" concept.
   31.49      typedef typename Digraph::template NodeMap<bool> ReachedMap;
   31.50  
   31.51      /// \brief Instantiates a ReachedMap.
    32.1 --- a/lemon/dijkstra.h	Wed Mar 17 12:35:52 2010 +0100
    32.2 +++ b/lemon/dijkstra.h	Sat Mar 06 14:35:12 2010 +0000
    32.3 @@ -2,7 +2,7 @@
    32.4   *
    32.5   * This file is a part of LEMON, a generic C++ optimization library.
    32.6   *
    32.7 - * Copyright (C) 2003-2009
    32.8 + * Copyright (C) 2003-2010
    32.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   32.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   32.11   *
    33.1 --- a/lemon/dimacs.h	Wed Mar 17 12:35:52 2010 +0100
    33.2 +++ b/lemon/dimacs.h	Sat Mar 06 14:35:12 2010 +0000
    33.3 @@ -2,7 +2,7 @@
    33.4   *
    33.5   * This file is a part of LEMON, a generic C++ optimization library.
    33.6   *
    33.7 - * Copyright (C) 2003-2009
    33.8 + * Copyright (C) 2003-2010
    33.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   33.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   33.11   *
   33.12 @@ -61,7 +61,7 @@
   33.13    ///Discover the type of a DIMACS file
   33.14  
   33.15    ///This function starts seeking the beginning of the given file for the
   33.16 -  ///problem type and size info. 
   33.17 +  ///problem type and size info.
   33.18    ///The found data is returned in a special struct that can be evaluated
   33.19    ///and passed to the appropriate reader function.
   33.20    DimacsDescriptor dimacsType(std::istream& is)
   33.21 @@ -212,7 +212,7 @@
   33.22        infty = std::numeric_limits<Capacity>::has_infinity ?
   33.23          std::numeric_limits<Capacity>::infinity() :
   33.24          std::numeric_limits<Capacity>::max();
   33.25 - 
   33.26 +
   33.27      while (is >> c) {
   33.28        switch (c) {
   33.29        case 'c': // comment line
   33.30 @@ -237,7 +237,7 @@
   33.31            getline(is, str);
   33.32            e = g.addArc(nodes[i], nodes[j]);
   33.33            capacity.set(e, _cap);
   33.34 -        } 
   33.35 +        }
   33.36          else if (desc.type==DimacsDescriptor::MAX) {
   33.37            is >> i >> j >> _cap;
   33.38            getline(is, str);
   33.39 @@ -362,11 +362,11 @@
   33.40    {
   33.41      g.addArc(s,t);
   33.42    }
   33.43 -  
   33.44 +
   33.45    /// \brief DIMACS plain (di)graph reader function.
   33.46    ///
   33.47    /// This function reads a plain (di)graph without any designated nodes
   33.48 -  /// and maps (e.g. a matching instance) from DIMACS format, i.e. from 
   33.49 +  /// and maps (e.g. a matching instance) from DIMACS format, i.e. from
   33.50    /// DIMACS files having a line starting with
   33.51    /// \code
   33.52    ///   p mat
   33.53 @@ -392,7 +392,7 @@
   33.54      for (int k = 1; k <= desc.nodeNum; ++k) {
   33.55        nodes[k] = g.addNode();
   33.56      }
   33.57 -    
   33.58 +
   33.59      while (is >> c) {
   33.60        switch (c) {
   33.61        case 'c': // comment line
    34.1 --- a/lemon/edge_set.h	Wed Mar 17 12:35:52 2010 +0100
    34.2 +++ b/lemon/edge_set.h	Sat Mar 06 14:35:12 2010 +0000
    34.3 @@ -2,7 +2,7 @@
    34.4   *
    34.5   * This file is a part of LEMON, a generic C++ optimization library.
    34.6   *
    34.7 - * Copyright (C) 2003-2008
    34.8 + * Copyright (C) 2003-2010
    34.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   34.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   34.11   *
    35.1 --- a/lemon/euler.h	Wed Mar 17 12:35:52 2010 +0100
    35.2 +++ b/lemon/euler.h	Sat Mar 06 14:35:12 2010 +0000
    35.3 @@ -2,7 +2,7 @@
    35.4   *
    35.5   * This file is a part of LEMON, a generic C++ optimization library.
    35.6   *
    35.7 - * Copyright (C) 2003-2009
    35.8 + * Copyright (C) 2003-2010
    35.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   35.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   35.11   *
   35.12 @@ -26,7 +26,7 @@
   35.13  
   35.14  /// \ingroup graph_properties
   35.15  /// \file
   35.16 -/// \brief Euler tour iterators and a function for checking the \e Eulerian 
   35.17 +/// \brief Euler tour iterators and a function for checking the \e Eulerian
   35.18  /// property.
   35.19  ///
   35.20  ///This file provides Euler tour iterators and a function to check
   35.21 @@ -41,7 +41,7 @@
   35.22    ///graph (if there exists) and it converts to the \c Arc type of the digraph.
   35.23    ///
   35.24    ///For example, if the given digraph has an Euler tour (i.e it has only one
   35.25 -  ///non-trivial component and the in-degree is equal to the out-degree 
   35.26 +  ///non-trivial component and the in-degree is equal to the out-degree
   35.27    ///for all nodes), then the following code will put the arcs of \c g
   35.28    ///to the vector \c et according to an Euler tour of \c g.
   35.29    ///\code
   35.30 @@ -138,7 +138,7 @@
   35.31    ///\e undirected graph (if there exists) and it converts to the \c Arc
   35.32    ///and \c Edge types of the graph.
   35.33    ///
   35.34 -  ///For example, if the given graph has an Euler tour (i.e it has only one 
   35.35 +  ///For example, if the given graph has an Euler tour (i.e it has only one
   35.36    ///non-trivial component and the degree of each node is even),
   35.37    ///the following code will print the arc IDs according to an
   35.38    ///Euler tour of \c g.
   35.39 @@ -147,7 +147,7 @@
   35.40    ///    std::cout << g.id(Edge(e)) << std::eol;
   35.41    ///  }
   35.42    ///\endcode
   35.43 -  ///Although this iterator is for undirected graphs, it still returns 
   35.44 +  ///Although this iterator is for undirected graphs, it still returns
   35.45    ///arcs in order to indicate the direction of the tour.
   35.46    ///(But arcs convert to edges, of course.)
   35.47    ///
   35.48 @@ -233,7 +233,7 @@
   35.49  
   35.50      /// Postfix incrementation.
   35.51      ///
   35.52 -    ///\warning This incrementation returns an \c Arc (which converts to 
   35.53 +    ///\warning This incrementation returns an \c Arc (which converts to
   35.54      ///an \c Edge), not an \ref EulerIt, as one may expect.
   35.55      Arc operator++(int)
   35.56      {
    36.1 --- a/lemon/fractional_matching.h	Wed Mar 17 12:35:52 2010 +0100
    36.2 +++ b/lemon/fractional_matching.h	Sat Mar 06 14:35:12 2010 +0000
    36.3 @@ -2,7 +2,7 @@
    36.4   *
    36.5   * This file is a part of LEMON, a generic C++ optimization library.
    36.6   *
    36.7 - * Copyright (C) 2003-2009
    36.8 + * Copyright (C) 2003-2010
    36.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   36.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   36.11   *
   36.12 @@ -2009,7 +2009,7 @@
   36.13  
   36.14      /// \brief Run the algorithm.
   36.15      ///
   36.16 -    /// This method runs the \c %MaxWeightedPerfectFractionalMatching 
   36.17 +    /// This method runs the \c %MaxWeightedPerfectFractionalMatching
   36.18      /// algorithm.
   36.19      ///
   36.20      /// \note mwfm.run() is just a shortcut of the following code.
    37.1 --- a/lemon/full_graph.h	Wed Mar 17 12:35:52 2010 +0100
    37.2 +++ b/lemon/full_graph.h	Sat Mar 06 14:35:12 2010 +0000
    37.3 @@ -2,7 +2,7 @@
    37.4   *
    37.5   * This file is a part of LEMON, a generic C++ optimization library.
    37.6   *
    37.7 - * Copyright (C) 2003-2009
    37.8 + * Copyright (C) 2003-2010
    37.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   37.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   37.11   *
   37.12 @@ -203,7 +203,7 @@
   37.13  
   37.14      /// \brief Returns the node with the given index.
   37.15      ///
   37.16 -    /// Returns the node with the given index. Since this structure is 
   37.17 +    /// Returns the node with the given index. Since this structure is
   37.18      /// completely static, the nodes can be indexed with integers from
   37.19      /// the range <tt>[0..nodeNum()-1]</tt>.
   37.20      /// The index of a node is the same as its ID.
   37.21 @@ -212,7 +212,7 @@
   37.22  
   37.23      /// \brief Returns the index of the given node.
   37.24      ///
   37.25 -    /// Returns the index of the given node. Since this structure is 
   37.26 +    /// Returns the index of the given node. Since this structure is
   37.27      /// completely static, the nodes can be indexed with integers from
   37.28      /// the range <tt>[0..nodeNum()-1]</tt>.
   37.29      /// The index of a node is the same as its ID.
   37.30 @@ -582,7 +582,7 @@
   37.31  
   37.32      /// \brief Returns the node with the given index.
   37.33      ///
   37.34 -    /// Returns the node with the given index. Since this structure is 
   37.35 +    /// Returns the node with the given index. Since this structure is
   37.36      /// completely static, the nodes can be indexed with integers from
   37.37      /// the range <tt>[0..nodeNum()-1]</tt>.
   37.38      /// The index of a node is the same as its ID.
   37.39 @@ -591,7 +591,7 @@
   37.40  
   37.41      /// \brief Returns the index of the given node.
   37.42      ///
   37.43 -    /// Returns the index of the given node. Since this structure is 
   37.44 +    /// Returns the index of the given node. Since this structure is
   37.45      /// completely static, the nodes can be indexed with integers from
   37.46      /// the range <tt>[0..nodeNum()-1]</tt>.
   37.47      /// The index of a node is the same as its ID.
    38.1 --- a/lemon/glpk.cc	Wed Mar 17 12:35:52 2010 +0100
    38.2 +++ b/lemon/glpk.cc	Sat Mar 06 14:35:12 2010 +0000
    38.3 @@ -2,7 +2,7 @@
    38.4   *
    38.5   * This file is a part of LEMON, a generic C++ optimization library.
    38.6   *
    38.7 - * Copyright (C) 2003-2009
    38.8 + * Copyright (C) 2003-2010
    38.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   38.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   38.11   *
   38.12 @@ -59,7 +59,7 @@
   38.13      return i;
   38.14    }
   38.15  
   38.16 -  int GlpkBase::_addRow(Value lo, ExprIterator b, 
   38.17 +  int GlpkBase::_addRow(Value lo, ExprIterator b,
   38.18                          ExprIterator e, Value up) {
   38.19      int i = glp_add_rows(lp, 1);
   38.20  
   38.21 @@ -68,11 +68,11 @@
   38.22          glp_set_row_bnds(lp, i, GLP_FR, lo, up);
   38.23        } else {
   38.24          glp_set_row_bnds(lp, i, GLP_UP, lo, up);
   38.25 -      }    
   38.26 +      }
   38.27      } else {
   38.28        if (up == INF) {
   38.29          glp_set_row_bnds(lp, i, GLP_LO, lo, up);
   38.30 -      } else if (lo != up) {        
   38.31 +      } else if (lo != up) {
   38.32          glp_set_row_bnds(lp, i, GLP_DB, lo, up);
   38.33        } else {
   38.34          glp_set_row_bnds(lp, i, GLP_FX, lo, up);
    39.1 --- a/lemon/glpk.h	Wed Mar 17 12:35:52 2010 +0100
    39.2 +++ b/lemon/glpk.h	Sat Mar 06 14:35:12 2010 +0000
    39.3 @@ -2,7 +2,7 @@
    39.4   *
    39.5   * This file is a part of LEMON, a generic C++ optimization library.
    39.6   *
    39.7 - * Copyright (C) 2003-2008
    39.8 + * Copyright (C) 2003-2010
    39.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   39.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   39.11   *
   39.12 @@ -30,7 +30,7 @@
   39.13    namespace _solver_bits {
   39.14      class VoidPtr {
   39.15      private:
   39.16 -      void *_ptr;      
   39.17 +      void *_ptr;
   39.18      public:
   39.19        VoidPtr() : _ptr(0) {}
   39.20  
   39.21 @@ -38,8 +38,8 @@
   39.22        VoidPtr(T* ptr) : _ptr(reinterpret_cast<void*>(ptr)) {}
   39.23  
   39.24        template <typename T>
   39.25 -      VoidPtr& operator=(T* ptr) { 
   39.26 -        _ptr = reinterpret_cast<void*>(ptr); 
   39.27 +      VoidPtr& operator=(T* ptr) {
   39.28 +        _ptr = reinterpret_cast<void*>(ptr);
   39.29          return *this;
   39.30        }
   39.31  
   39.32 @@ -124,13 +124,13 @@
   39.33          freeEnv();
   39.34        }
   39.35      };
   39.36 -    
   39.37 +
   39.38      static FreeEnvHelper freeEnvHelper;
   39.39  
   39.40    protected:
   39.41 -    
   39.42 +
   39.43      int _message_level;
   39.44 -    
   39.45 +
   39.46    public:
   39.47  
   39.48      ///Pointer to the underlying GLPK data structure.
    40.1 --- a/lemon/gomory_hu.h	Wed Mar 17 12:35:52 2010 +0100
    40.2 +++ b/lemon/gomory_hu.h	Sat Mar 06 14:35:12 2010 +0000
    40.3 @@ -1,8 +1,8 @@
    40.4 -/* -*- C++ -*-
    40.5 +/* -*- mode: C++; indent-tabs-mode: nil; -*-
    40.6   *
    40.7 - * This file is a part of LEMON, a generic C++ optimization library
    40.8 + * This file is a part of LEMON, a generic C++ optimization library.
    40.9   *
   40.10 - * Copyright (C) 2003-2008
   40.11 + * Copyright (C) 2003-2010
   40.12   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   40.13   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   40.14   *
   40.15 @@ -27,7 +27,7 @@
   40.16  #include <lemon/concepts/maps.h>
   40.17  
   40.18  /// \ingroup min_cut
   40.19 -/// \file 
   40.20 +/// \file
   40.21  /// \brief Gomory-Hu cut tree in graphs.
   40.22  
   40.23  namespace lemon {
   40.24 @@ -38,13 +38,13 @@
   40.25    ///
   40.26    /// The Gomory-Hu tree is a tree on the node set of a given graph, but it
   40.27    /// may contain edges which are not in the original graph. It has the
   40.28 -  /// property that the minimum capacity edge of the path between two nodes 
   40.29 +  /// property that the minimum capacity edge of the path between two nodes
   40.30    /// in this tree has the same weight as the minimum cut in the graph
   40.31    /// between these nodes. Moreover the components obtained by removing
   40.32    /// this edge from the tree determine the corresponding minimum cut.
   40.33    /// Therefore once this tree is computed, the minimum cut between any pair
   40.34    /// of nodes can easily be obtained.
   40.35 -  /// 
   40.36 +  ///
   40.37    /// The algorithm calculates \e n-1 distinct minimum cuts (currently with
   40.38    /// the \ref Preflow algorithm), thus it has \f$O(n^3\sqrt{e})\f$ overall
   40.39    /// time complexity. It calculates a rooted Gomory-Hu tree.
   40.40 @@ -60,10 +60,10 @@
   40.41    /// The default map type is \ref concepts::Graph::EdgeMap "GR::EdgeMap<int>".
   40.42  #ifdef DOXYGEN
   40.43    template <typename GR,
   40.44 -	    typename CAP>
   40.45 +            typename CAP>
   40.46  #else
   40.47    template <typename GR,
   40.48 -	    typename CAP = typename GR::template EdgeMap<int> >
   40.49 +            typename CAP = typename GR::template EdgeMap<int> >
   40.50  #endif
   40.51    class GomoryHu {
   40.52    public:
   40.53 @@ -74,7 +74,7 @@
   40.54      typedef CAP Capacity;
   40.55      /// The value type of capacities
   40.56      typedef typename Capacity::Value Value;
   40.57 -    
   40.58 +
   40.59    private:
   40.60  
   40.61      TEMPLATE_GRAPH_TYPEDEFS(Graph);
   40.62 @@ -89,28 +89,28 @@
   40.63  
   40.64      void createStructures() {
   40.65        if (!_pred) {
   40.66 -	_pred = new typename Graph::template NodeMap<Node>(_graph);
   40.67 +        _pred = new typename Graph::template NodeMap<Node>(_graph);
   40.68        }
   40.69        if (!_weight) {
   40.70 -	_weight = new typename Graph::template NodeMap<Value>(_graph);
   40.71 +        _weight = new typename Graph::template NodeMap<Value>(_graph);
   40.72        }
   40.73        if (!_order) {
   40.74 -	_order = new typename Graph::template NodeMap<int>(_graph);
   40.75 +        _order = new typename Graph::template NodeMap<int>(_graph);
   40.76        }
   40.77      }
   40.78  
   40.79      void destroyStructures() {
   40.80        if (_pred) {
   40.81 -	delete _pred;
   40.82 +        delete _pred;
   40.83        }
   40.84        if (_weight) {
   40.85 -	delete _weight;
   40.86 +        delete _weight;
   40.87        }
   40.88        if (_order) {
   40.89 -	delete _order;
   40.90 +        delete _order;
   40.91        }
   40.92      }
   40.93 -  
   40.94 +
   40.95    public:
   40.96  
   40.97      /// \brief Constructor
   40.98 @@ -118,9 +118,9 @@
   40.99      /// Constructor.
  40.100      /// \param graph The undirected graph the algorithm runs on.
  40.101      /// \param capacity The edge capacity map.
  40.102 -    GomoryHu(const Graph& graph, const Capacity& capacity) 
  40.103 +    GomoryHu(const Graph& graph, const Capacity& capacity)
  40.104        : _graph(graph), _capacity(capacity),
  40.105 -	_pred(0), _weight(0), _order(0) 
  40.106 +        _pred(0), _weight(0), _order(0)
  40.107      {
  40.108        checkConcept<concepts::ReadMap<Edge, Value>, Capacity>();
  40.109      }
  40.110 @@ -134,7 +134,7 @@
  40.111      }
  40.112  
  40.113    private:
  40.114 -  
  40.115 +
  40.116      // Initialize the internal data structures
  40.117      void init() {
  40.118        createStructures();
  40.119 @@ -145,7 +145,7 @@
  40.120          (*_order)[n] = -1;
  40.121        }
  40.122        (*_pred)[_root] = INVALID;
  40.123 -      (*_weight)[_root] = std::numeric_limits<Value>::max(); 
  40.124 +      (*_weight)[_root] = std::numeric_limits<Value>::max();
  40.125      }
  40.126  
  40.127  
  40.128 @@ -154,50 +154,50 @@
  40.129        Preflow<Graph, Capacity> fa(_graph, _capacity, _root, INVALID);
  40.130  
  40.131        for (NodeIt n(_graph); n != INVALID; ++n) {
  40.132 -	if (n == _root) continue;
  40.133 +        if (n == _root) continue;
  40.134  
  40.135 -	Node pn = (*_pred)[n];
  40.136 -	fa.source(n);
  40.137 -	fa.target(pn);
  40.138 +        Node pn = (*_pred)[n];
  40.139 +        fa.source(n);
  40.140 +        fa.target(pn);
  40.141  
  40.142 -	fa.runMinCut();
  40.143 +        fa.runMinCut();
  40.144  
  40.145 -	(*_weight)[n] = fa.flowValue();
  40.146 +        (*_weight)[n] = fa.flowValue();
  40.147  
  40.148 -	for (NodeIt nn(_graph); nn != INVALID; ++nn) {
  40.149 -	  if (nn != n && fa.minCut(nn) && (*_pred)[nn] == pn) {
  40.150 -	    (*_pred)[nn] = n;
  40.151 -	  }
  40.152 -	}
  40.153 -	if ((*_pred)[pn] != INVALID && fa.minCut((*_pred)[pn])) {
  40.154 -	  (*_pred)[n] = (*_pred)[pn];
  40.155 -	  (*_pred)[pn] = n;
  40.156 -	  (*_weight)[n] = (*_weight)[pn];
  40.157 -	  (*_weight)[pn] = fa.flowValue();
  40.158 -	}
  40.159 +        for (NodeIt nn(_graph); nn != INVALID; ++nn) {
  40.160 +          if (nn != n && fa.minCut(nn) && (*_pred)[nn] == pn) {
  40.161 +            (*_pred)[nn] = n;
  40.162 +          }
  40.163 +        }
  40.164 +        if ((*_pred)[pn] != INVALID && fa.minCut((*_pred)[pn])) {
  40.165 +          (*_pred)[n] = (*_pred)[pn];
  40.166 +          (*_pred)[pn] = n;
  40.167 +          (*_weight)[n] = (*_weight)[pn];
  40.168 +          (*_weight)[pn] = fa.flowValue();
  40.169 +        }
  40.170        }
  40.171  
  40.172        (*_order)[_root] = 0;
  40.173        int index = 1;
  40.174  
  40.175        for (NodeIt n(_graph); n != INVALID; ++n) {
  40.176 -	std::vector<Node> st;
  40.177 -	Node nn = n;
  40.178 -	while ((*_order)[nn] == -1) {
  40.179 -	  st.push_back(nn);
  40.180 -	  nn = (*_pred)[nn];
  40.181 -	}
  40.182 -	while (!st.empty()) {
  40.183 -	  (*_order)[st.back()] = index++;
  40.184 -	  st.pop_back();
  40.185 -	}
  40.186 +        std::vector<Node> st;
  40.187 +        Node nn = n;
  40.188 +        while ((*_order)[nn] == -1) {
  40.189 +          st.push_back(nn);
  40.190 +          nn = (*_pred)[nn];
  40.191 +        }
  40.192 +        while (!st.empty()) {
  40.193 +          (*_order)[st.back()] = index++;
  40.194 +          st.pop_back();
  40.195 +        }
  40.196        }
  40.197      }
  40.198  
  40.199    public:
  40.200  
  40.201      ///\name Execution Control
  40.202 - 
  40.203 +
  40.204      ///@{
  40.205  
  40.206      /// \brief Run the Gomory-Hu algorithm.
  40.207 @@ -207,7 +207,7 @@
  40.208        init();
  40.209        start();
  40.210      }
  40.211 -    
  40.212 +
  40.213      /// @}
  40.214  
  40.215      ///\name Query Functions
  40.216 @@ -232,7 +232,7 @@
  40.217      /// \brief Return the weight of the predecessor edge in the
  40.218      /// Gomory-Hu tree.
  40.219      ///
  40.220 -    /// This function returns the weight of the predecessor edge of the 
  40.221 +    /// This function returns the weight of the predecessor edge of the
  40.222      /// given node in the Gomory-Hu tree.
  40.223      /// If \c node is the root of the tree, the result is undefined.
  40.224      ///
  40.225 @@ -254,7 +254,7 @@
  40.226      /// \brief Return the minimum cut value between two nodes
  40.227      ///
  40.228      /// This function returns the minimum cut value between the nodes
  40.229 -    /// \c s and \c t. 
  40.230 +    /// \c s and \c t.
  40.231      /// It finds the nearest common ancestor of the given nodes in the
  40.232      /// Gomory-Hu tree and calculates the minimum weight edge on the
  40.233      /// paths to the ancestor.
  40.234 @@ -263,15 +263,15 @@
  40.235      Value minCutValue(const Node& s, const Node& t) const {
  40.236        Node sn = s, tn = t;
  40.237        Value value = std::numeric_limits<Value>::max();
  40.238 -      
  40.239 +
  40.240        while (sn != tn) {
  40.241 -	if ((*_order)[sn] < (*_order)[tn]) {
  40.242 -	  if ((*_weight)[tn] <= value) value = (*_weight)[tn];
  40.243 -	  tn = (*_pred)[tn];
  40.244 -	} else {
  40.245 -	  if ((*_weight)[sn] <= value) value = (*_weight)[sn];
  40.246 -	  sn = (*_pred)[sn];
  40.247 -	}
  40.248 +        if ((*_order)[sn] < (*_order)[tn]) {
  40.249 +          if ((*_weight)[tn] <= value) value = (*_weight)[tn];
  40.250 +          tn = (*_pred)[tn];
  40.251 +        } else {
  40.252 +          if ((*_weight)[sn] <= value) value = (*_weight)[sn];
  40.253 +          sn = (*_pred)[sn];
  40.254 +        }
  40.255        }
  40.256        return value;
  40.257      }
  40.258 @@ -302,23 +302,23 @@
  40.259        bool s_root=false;
  40.260        Node rn = INVALID;
  40.261        Value value = std::numeric_limits<Value>::max();
  40.262 -      
  40.263 +
  40.264        while (sn != tn) {
  40.265 -	if ((*_order)[sn] < (*_order)[tn]) {
  40.266 -	  if ((*_weight)[tn] <= value) {
  40.267 -	    rn = tn;
  40.268 +        if ((*_order)[sn] < (*_order)[tn]) {
  40.269 +          if ((*_weight)[tn] <= value) {
  40.270 +            rn = tn;
  40.271              s_root = false;
  40.272 -	    value = (*_weight)[tn];
  40.273 -	  }
  40.274 -	  tn = (*_pred)[tn];
  40.275 -	} else {
  40.276 -	  if ((*_weight)[sn] <= value) {
  40.277 -	    rn = sn;
  40.278 +            value = (*_weight)[tn];
  40.279 +          }
  40.280 +          tn = (*_pred)[tn];
  40.281 +        } else {
  40.282 +          if ((*_weight)[sn] <= value) {
  40.283 +            rn = sn;
  40.284              s_root = true;
  40.285 -	    value = (*_weight)[sn];
  40.286 -	  }
  40.287 -	  sn = (*_pred)[sn];
  40.288 -	}
  40.289 +            value = (*_weight)[sn];
  40.290 +          }
  40.291 +          sn = (*_pred)[sn];
  40.292 +        }
  40.293        }
  40.294  
  40.295        typename Graph::template NodeMap<bool> reached(_graph, false);
  40.296 @@ -329,18 +329,18 @@
  40.297  
  40.298        std::vector<Node> st;
  40.299        for (NodeIt n(_graph); n != INVALID; ++n) {
  40.300 -	st.clear();
  40.301 +        st.clear();
  40.302          Node nn = n;
  40.303 -	while (!reached[nn]) {
  40.304 -	  st.push_back(nn);
  40.305 -	  nn = (*_pred)[nn];
  40.306 -	}
  40.307 -	while (!st.empty()) {
  40.308 -	  cutMap.set(st.back(), cutMap[nn]);
  40.309 -	  st.pop_back();
  40.310 -	}
  40.311 +        while (!reached[nn]) {
  40.312 +          st.push_back(nn);
  40.313 +          nn = (*_pred)[nn];
  40.314 +        }
  40.315 +        while (!st.empty()) {
  40.316 +          cutMap.set(st.back(), cutMap[nn]);
  40.317 +          st.pop_back();
  40.318 +        }
  40.319        }
  40.320 -      
  40.321 +
  40.322        return value;
  40.323      }
  40.324  
  40.325 @@ -349,7 +349,7 @@
  40.326      friend class MinCutNodeIt;
  40.327  
  40.328      /// Iterate on the nodes of a minimum cut
  40.329 -    
  40.330 +
  40.331      /// This iterator class lists the nodes of a minimum cut found by
  40.332      /// GomoryHu. Before using it, you must allocate a GomoryHu class
  40.333      /// and call its \ref GomoryHu::run() "run()" method.
  40.334 @@ -442,11 +442,11 @@
  40.335          return n;
  40.336        }
  40.337      };
  40.338 -    
  40.339 +
  40.340      friend class MinCutEdgeIt;
  40.341 -    
  40.342 +
  40.343      /// Iterate on the edges of a minimum cut
  40.344 -    
  40.345 +
  40.346      /// This iterator class lists the edges of a minimum cut found by
  40.347      /// GomoryHu. Before using it, you must allocate a GomoryHu class
  40.348      /// and call its \ref GomoryHu::run() "run()" method.
  40.349 @@ -479,7 +479,7 @@
  40.350                _arc_it=typename Graph::OutArcIt(_graph,_node_it);
  40.351            }
  40.352        }
  40.353 -      
  40.354 +
  40.355      public:
  40.356        /// Constructor
  40.357  
  40.358 @@ -548,7 +548,7 @@
  40.359          return *this;
  40.360        }
  40.361        /// Postfix incrementation
  40.362 -      
  40.363 +
  40.364        /// Postfix incrementation.
  40.365        ///
  40.366        /// \warning This incrementation
    41.1 --- a/lemon/graph_to_eps.h	Wed Mar 17 12:35:52 2010 +0100
    41.2 +++ b/lemon/graph_to_eps.h	Sat Mar 06 14:35:12 2010 +0000
    41.3 @@ -2,7 +2,7 @@
    41.4   *
    41.5   * This file is a part of LEMON, a generic C++ optimization library.
    41.6   *
    41.7 - * Copyright (C) 2003-2009
    41.8 + * Copyright (C) 2003-2010
    41.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   41.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   41.11   *
    42.1 --- a/lemon/hao_orlin.h	Wed Mar 17 12:35:52 2010 +0100
    42.2 +++ b/lemon/hao_orlin.h	Sat Mar 06 14:35:12 2010 +0000
    42.3 @@ -2,7 +2,7 @@
    42.4   *
    42.5   * This file is a part of LEMON, a generic C++ optimization library.
    42.6   *
    42.7 - * Copyright (C) 2003-2009
    42.8 + * Copyright (C) 2003-2010
    42.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   42.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   42.11   *
   42.12 @@ -31,7 +31,7 @@
   42.13  /// \ingroup min_cut
   42.14  /// \brief Implementation of the Hao-Orlin algorithm.
   42.15  ///
   42.16 -/// Implementation of the Hao-Orlin algorithm for finding a minimum cut 
   42.17 +/// Implementation of the Hao-Orlin algorithm for finding a minimum cut
   42.18  /// in a digraph.
   42.19  
   42.20  namespace lemon {
   42.21 @@ -41,7 +41,7 @@
   42.22    /// \brief Hao-Orlin algorithm for finding a minimum cut in a digraph.
   42.23    ///
   42.24    /// This class implements the Hao-Orlin algorithm for finding a minimum
   42.25 -  /// value cut in a directed graph \f$D=(V,A)\f$. 
   42.26 +  /// value cut in a directed graph \f$D=(V,A)\f$.
   42.27    /// It takes a fixed node \f$ source \in V \f$ and
   42.28    /// consists of two phases: in the first phase it determines a
   42.29    /// minimum cut with \f$ source \f$ on the source-side (i.e. a set
   42.30 @@ -58,7 +58,7 @@
   42.31    ///
   42.32    /// For an undirected graph you can run just the first phase of the
   42.33    /// algorithm or you can use the algorithm of Nagamochi and Ibaraki,
   42.34 -  /// which solves the undirected problem in \f$ O(nm + n^2 \log n) \f$ 
   42.35 +  /// which solves the undirected problem in \f$ O(nm + n^2 \log n) \f$
   42.36    /// time. It is implemented in the NagamochiIbaraki algorithm class.
   42.37    ///
   42.38    /// \tparam GR The type of the digraph the algorithm runs on.
   42.39 @@ -76,7 +76,7 @@
   42.40  #endif
   42.41    class HaoOrlin {
   42.42    public:
   42.43 -   
   42.44 +
   42.45      /// The digraph type of the algorithm
   42.46      typedef GR Digraph;
   42.47      /// The capacity map type of the algorithm
   42.48 @@ -864,7 +864,7 @@
   42.49      /// \brief Initialize the internal data structures.
   42.50      ///
   42.51      /// This function initializes the internal data structures. It creates
   42.52 -    /// the maps and some bucket structures for the algorithm. 
   42.53 +    /// the maps and some bucket structures for the algorithm.
   42.54      /// The given node is used as the source node for the push-relabel
   42.55      /// algorithm.
   42.56      void init(const Node& source) {
   42.57 @@ -944,7 +944,7 @@
   42.58  
   42.59      /// \brief Run the algorithm.
   42.60      ///
   42.61 -    /// This function runs the algorithm. It uses the given \c source node, 
   42.62 +    /// This function runs the algorithm. It uses the given \c source node,
   42.63      /// finds a proper \c target node and then calls the \ref init(),
   42.64      /// \ref calculateOut() and \ref calculateIn().
   42.65      void run(const Node& s) {
   42.66 @@ -958,7 +958,7 @@
   42.67      /// \name Query Functions
   42.68      /// The result of the %HaoOrlin algorithm
   42.69      /// can be obtained using these functions.\n
   42.70 -    /// \ref run(), \ref calculateOut() or \ref calculateIn() 
   42.71 +    /// \ref run(), \ref calculateOut() or \ref calculateIn()
   42.72      /// should be called before using them.
   42.73  
   42.74      /// @{
   42.75 @@ -967,7 +967,7 @@
   42.76      ///
   42.77      /// This function returns the value of the minimum cut.
   42.78      ///
   42.79 -    /// \pre \ref run(), \ref calculateOut() or \ref calculateIn() 
   42.80 +    /// \pre \ref run(), \ref calculateOut() or \ref calculateIn()
   42.81      /// must be called before using this function.
   42.82      Value minCutValue() const {
   42.83        return _min_cut;
   42.84 @@ -986,7 +986,7 @@
   42.85      ///
   42.86      /// \return The value of the minimum cut.
   42.87      ///
   42.88 -    /// \pre \ref run(), \ref calculateOut() or \ref calculateIn() 
   42.89 +    /// \pre \ref run(), \ref calculateOut() or \ref calculateIn()
   42.90      /// must be called before using this function.
   42.91      template <typename CutMap>
   42.92      Value minCutMap(CutMap& cutMap) const {
    43.1 --- a/lemon/hartmann_orlin_mmc.h	Wed Mar 17 12:35:52 2010 +0100
    43.2 +++ b/lemon/hartmann_orlin_mmc.h	Sat Mar 06 14:35:12 2010 +0000
    43.3 @@ -1,8 +1,8 @@
    43.4 -/* -*- C++ -*-
    43.5 +/* -*- mode: C++; indent-tabs-mode: nil; -*-
    43.6   *
    43.7 - * This file is a part of LEMON, a generic C++ optimization library
    43.8 + * This file is a part of LEMON, a generic C++ optimization library.
    43.9   *
   43.10 - * Copyright (C) 2003-2008
   43.11 + * Copyright (C) 2003-2010
   43.12   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   43.13   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   43.14   *
   43.15 @@ -343,14 +343,14 @@
   43.16        // Initialization and find strongly connected components
   43.17        init();
   43.18        findComponents();
   43.19 -      
   43.20 +
   43.21        // Find the minimum cycle mean in the components
   43.22        for (int comp = 0; comp < _comp_num; ++comp) {
   43.23          if (!initComponent(comp)) continue;
   43.24          processRounds();
   43.25 -        
   43.26 +
   43.27          // Update the best cycle (global minimum mean cycle)
   43.28 -        if ( _curr_found && (!_best_found || 
   43.29 +        if ( _curr_found && (!_best_found ||
   43.30               _curr_cost * _best_size < _best_cost * _curr_size) ) {
   43.31            _best_found = true;
   43.32            _best_cost = _curr_cost;
   43.33 @@ -503,7 +503,7 @@
   43.34        int n = _nodes->size();
   43.35        if (n < 1 || (n == 1 && _out_arcs[(*_nodes)[0]].size() == 0)) {
   43.36          return false;
   43.37 -      }      
   43.38 +      }
   43.39        for (int i = 0; i < n; ++i) {
   43.40          _data[(*_nodes)[i]].resize(n + 1, PathData(INF));
   43.41        }
   43.42 @@ -576,7 +576,7 @@
   43.43          }
   43.44        }
   43.45      }
   43.46 -    
   43.47 +
   43.48      // Check early termination
   43.49      bool checkTermination(int k) {
   43.50        typedef std::pair<int, int> Pair;
   43.51 @@ -586,7 +586,7 @@
   43.52        LargeCost cost;
   43.53        int size;
   43.54        Node u;
   43.55 -      
   43.56 +
   43.57        // Search for cycles that are already found
   43.58        _curr_found = false;
   43.59        for (int i = 0; i < n; ++i) {
   43.60 @@ -607,8 +607,8 @@
   43.61            }
   43.62            level[u] = Pair(i, j);
   43.63            if (j != 0) {
   43.64 -	    u = _gr.source(_data[u][j].pred);
   43.65 -	  }
   43.66 +            u = _gr.source(_data[u][j].pred);
   43.67 +          }
   43.68          }
   43.69        }
   43.70  
    44.1 --- a/lemon/howard_mmc.h	Wed Mar 17 12:35:52 2010 +0100
    44.2 +++ b/lemon/howard_mmc.h	Sat Mar 06 14:35:12 2010 +0000
    44.3 @@ -1,8 +1,8 @@
    44.4 -/* -*- C++ -*-
    44.5 +/* -*- mode: C++; indent-tabs-mode: nil; -*-
    44.6   *
    44.7 - * This file is a part of LEMON, a generic C++ optimization library
    44.8 + * This file is a part of LEMON, a generic C++ optimization library.
    44.9   *
   44.10 - * Copyright (C) 2003-2008
   44.11 + * Copyright (C) 2003-2010
   44.12   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   44.13   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   44.14   *
   44.15 @@ -121,7 +121,7 @@
   44.16    class HowardMmc
   44.17    {
   44.18    public:
   44.19 -  
   44.20 +
   44.21      /// The type of the digraph
   44.22      typedef typename TR::Digraph Digraph;
   44.23      /// The type of the cost map
   44.24 @@ -152,7 +152,7 @@
   44.25    private:
   44.26  
   44.27      TEMPLATE_DIGRAPH_TYPEDEFS(Digraph);
   44.28 -  
   44.29 +
   44.30      // The digraph the algorithm runs on
   44.31      const Digraph &_gr;
   44.32      // The cost of the arcs
   44.33 @@ -179,18 +179,18 @@
   44.34      std::vector<std::vector<Node> > _comp_nodes;
   44.35      std::vector<Node>* _nodes;
   44.36      typename Digraph::template NodeMap<std::vector<Arc> > _in_arcs;
   44.37 -    
   44.38 +
   44.39      // Queue used for BFS search
   44.40      std::vector<Node> _queue;
   44.41      int _qfront, _qback;
   44.42  
   44.43      Tolerance _tolerance;
   44.44 -  
   44.45 +
   44.46      // Infinite constant
   44.47      const LargeCost INF;
   44.48  
   44.49    public:
   44.50 -  
   44.51 +
   44.52      /// \name Named Template Parameters
   44.53      /// @{
   44.54  
   44.55 @@ -228,7 +228,7 @@
   44.56        : public HowardMmc<GR, CM, SetPathTraits<T> > {
   44.57        typedef HowardMmc<GR, CM, SetPathTraits<T> > Create;
   44.58      };
   44.59 -    
   44.60 +
   44.61      /// @}
   44.62  
   44.63    protected:
   44.64 @@ -334,7 +334,7 @@
   44.65        // Initialize and find strongly connected components
   44.66        init();
   44.67        findComponents();
   44.68 -      
   44.69 +
   44.70        // Find the minimum cycle mean in the components
   44.71        for (int comp = 0; comp < _comp_num; ++comp) {
   44.72          // Find the minimum mean cycle in the current component
   44.73 @@ -445,7 +445,7 @@
   44.74        _best_size = 1;
   44.75        _cycle_path->clear();
   44.76      }
   44.77 -    
   44.78 +
   44.79      // Find strongly connected components and initialize _comp_nodes
   44.80      // and _in_arcs
   44.81      void findComponents() {
    45.1 --- a/lemon/karp_mmc.h	Wed Mar 17 12:35:52 2010 +0100
    45.2 +++ b/lemon/karp_mmc.h	Sat Mar 06 14:35:12 2010 +0000
    45.3 @@ -1,8 +1,8 @@
    45.4 -/* -*- C++ -*-
    45.5 +/* -*- mode: C++; indent-tabs-mode: nil; -*-
    45.6   *
    45.7 - * This file is a part of LEMON, a generic C++ optimization library
    45.8 + * This file is a part of LEMON, a generic C++ optimization library.
    45.9   *
   45.10 - * Copyright (C) 2003-2008
   45.11 + * Copyright (C) 2003-2010
   45.12   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   45.13   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   45.14   *
   45.15 @@ -191,7 +191,7 @@
   45.16      std::vector<Node> _process;
   45.17  
   45.18      Tolerance _tolerance;
   45.19 -    
   45.20 +
   45.21      // Infinite constant
   45.22      const LargeCost INF;
   45.23  
   45.24 @@ -339,7 +339,7 @@
   45.25        // Initialization and find strongly connected components
   45.26        init();
   45.27        findComponents();
   45.28 -      
   45.29 +
   45.30        // Find the minimum cycle mean in the components
   45.31        for (int comp = 0; comp < _comp_num; ++comp) {
   45.32          if (!initComponent(comp)) continue;
   45.33 @@ -489,7 +489,7 @@
   45.34        int n = _nodes->size();
   45.35        if (n < 1 || (n == 1 && _out_arcs[(*_nodes)[0]].size() == 0)) {
   45.36          return false;
   45.37 -      }      
   45.38 +      }
   45.39        for (int i = 0; i < n; ++i) {
   45.40          _data[(*_nodes)[i]].resize(n + 1, PathData(INF));
   45.41        }
    46.1 --- a/lemon/lgf_reader.h	Wed Mar 17 12:35:52 2010 +0100
    46.2 +++ b/lemon/lgf_reader.h	Sat Mar 06 14:35:12 2010 +0000
    46.3 @@ -2,7 +2,7 @@
    46.4   *
    46.5   * This file is a part of LEMON, a generic C++ optimization library.
    46.6   *
    46.7 - * Copyright (C) 2003-2009
    46.8 + * Copyright (C) 2003-2010
    46.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   46.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   46.11   *
   46.12 @@ -562,7 +562,7 @@
   46.13      template <typename TDGR>
   46.14      friend DigraphReader<TDGR> digraphReader(TDGR& digraph, std::istream& is);
   46.15      template <typename TDGR>
   46.16 -    friend DigraphReader<TDGR> digraphReader(TDGR& digraph, 
   46.17 +    friend DigraphReader<TDGR> digraphReader(TDGR& digraph,
   46.18                                               const std::string& fn);
   46.19      template <typename TDGR>
   46.20      friend DigraphReader<TDGR> digraphReader(TDGR& digraph, const char *fn);
   46.21 @@ -1187,14 +1187,14 @@
   46.22      /// @}
   46.23  
   46.24    };
   46.25 -  
   46.26 +
   46.27    /// \ingroup lemon_io
   46.28    ///
   46.29    /// \brief Return a \ref DigraphReader class
   46.30    ///
   46.31    /// This function just returns a \ref DigraphReader class.
   46.32    ///
   46.33 -  /// With this function a digraph can be read from an 
   46.34 +  /// With this function a digraph can be read from an
   46.35    /// \ref lgf-format "LGF" file or input stream with several maps and
   46.36    /// attributes. For example, there is network flow problem on a
   46.37    /// digraph, i.e. a digraph with a \e capacity map on the arcs and
   46.38 @@ -1249,7 +1249,7 @@
   46.39  
   46.40    template <typename GR>
   46.41    class GraphReader;
   46.42 - 
   46.43 +
   46.44    template <typename TGR>
   46.45    GraphReader<TGR> graphReader(TGR& graph, std::istream& is = std::cin);
   46.46    template <typename TGR>
   46.47 @@ -1386,7 +1386,7 @@
   46.48      template <typename TGR>
   46.49      friend GraphReader<TGR> graphReader(TGR& graph, std::istream& is);
   46.50      template <typename TGR>
   46.51 -    friend GraphReader<TGR> graphReader(TGR& graph, const std::string& fn); 
   46.52 +    friend GraphReader<TGR> graphReader(TGR& graph, const std::string& fn);
   46.53      template <typename TGR>
   46.54      friend GraphReader<TGR> graphReader(TGR& graph, const char *fn);
   46.55  
   46.56 @@ -2063,9 +2063,9 @@
   46.57    ///
   46.58    /// \brief Return a \ref GraphReader class
   46.59    ///
   46.60 -  /// This function just returns a \ref GraphReader class. 
   46.61 +  /// This function just returns a \ref GraphReader class.
   46.62    ///
   46.63 -  /// With this function a graph can be read from an 
   46.64 +  /// With this function a graph can be read from an
   46.65    /// \ref lgf-format "LGF" file or input stream with several maps and
   46.66    /// attributes. For example, there is weighted matching problem on a
   46.67    /// graph, i.e. a graph with a \e weight map on the edges. This
    47.1 --- a/lemon/lgf_writer.h	Wed Mar 17 12:35:52 2010 +0100
    47.2 +++ b/lemon/lgf_writer.h	Sat Mar 06 14:35:12 2010 +0000
    47.3 @@ -2,7 +2,7 @@
    47.4   *
    47.5   * This file is a part of LEMON, a generic C++ optimization library.
    47.6   *
    47.7 - * Copyright (C) 2003-2009
    47.8 + * Copyright (C) 2003-2010
    47.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   47.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   47.11   *
   47.12 @@ -351,7 +351,7 @@
   47.13    class DigraphWriter;
   47.14  
   47.15    template <typename TDGR>
   47.16 -  DigraphWriter<TDGR> digraphWriter(const TDGR& digraph, 
   47.17 +  DigraphWriter<TDGR> digraphWriter(const TDGR& digraph,
   47.18                                     std::ostream& os = std::cout);
   47.19    template <typename TDGR>
   47.20    DigraphWriter<TDGR> digraphWriter(const TDGR& digraph, const std::string& fn);
   47.21 @@ -504,7 +504,7 @@
   47.22    private:
   47.23  
   47.24      template <typename TDGR>
   47.25 -    friend DigraphWriter<TDGR> digraphWriter(const TDGR& digraph, 
   47.26 +    friend DigraphWriter<TDGR> digraphWriter(const TDGR& digraph,
   47.27                                               std::ostream& os);
   47.28      template <typename TDGR>
   47.29      friend DigraphWriter<TDGR> digraphWriter(const TDGR& digraph,
   47.30 @@ -917,7 +917,7 @@
   47.31    ///
   47.32    /// \brief Return a \ref DigraphWriter class
   47.33    ///
   47.34 -  /// This function just returns a \ref DigraphWriter class. 
   47.35 +  /// This function just returns a \ref DigraphWriter class.
   47.36    ///
   47.37    /// With this function a digraph can be write to a file or output
   47.38    /// stream in \ref lgf-format "LGF" format with several maps and
   47.39 @@ -957,7 +957,7 @@
   47.40    /// \relates DigraphWriter
   47.41    /// \sa digraphWriter(const TDGR& digraph, std::ostream& os)
   47.42    template <typename TDGR>
   47.43 -  DigraphWriter<TDGR> digraphWriter(const TDGR& digraph, 
   47.44 +  DigraphWriter<TDGR> digraphWriter(const TDGR& digraph,
   47.45                                      const std::string& fn) {
   47.46      DigraphWriter<TDGR> tmp(digraph, fn);
   47.47      return tmp;
   47.48 @@ -1101,11 +1101,11 @@
   47.49      template <typename TGR>
   47.50      friend GraphWriter<TGR> graphWriter(const TGR& graph, std::ostream& os);
   47.51      template <typename TGR>
   47.52 -    friend GraphWriter<TGR> graphWriter(const TGR& graph, 
   47.53 +    friend GraphWriter<TGR> graphWriter(const TGR& graph,
   47.54                                          const std::string& fn);
   47.55      template <typename TGR>
   47.56      friend GraphWriter<TGR> graphWriter(const TGR& graph, const char *fn);
   47.57 -    
   47.58 +
   47.59      GraphWriter(GraphWriter& other)
   47.60        : _os(other._os), local_os(other.local_os), _graph(other._graph),
   47.61          _skip_nodes(other._skip_nodes), _skip_edges(other._skip_edges) {
   47.62 @@ -1556,7 +1556,7 @@
   47.63    ///
   47.64    /// \brief Return a \ref GraphWriter class
   47.65    ///
   47.66 -  /// This function just returns a \ref GraphWriter class. 
   47.67 +  /// This function just returns a \ref GraphWriter class.
   47.68    ///
   47.69    /// With this function a graph can be write to a file or output
   47.70    /// stream in \ref lgf-format "LGF" format with several maps and
    48.1 --- a/lemon/list_graph.h	Wed Mar 17 12:35:52 2010 +0100
    48.2 +++ b/lemon/list_graph.h	Sat Mar 06 14:35:12 2010 +0000
    48.3 @@ -2,7 +2,7 @@
    48.4   *
    48.5   * This file is a part of LEMON, a generic C++ optimization library.
    48.6   *
    48.7 - * Copyright (C) 2003-2009
    48.8 + * Copyright (C) 2003-2010
    48.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   48.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   48.11   *
   48.12 @@ -446,7 +446,7 @@
   48.13      ///or changeTarget(), thus \c ArcIt and \c OutArcIt iterators are
   48.14      ///invalidated for the outgoing arcs of node \c v and \c InArcIt
   48.15      ///iterators are invalidated for the incomming arcs of \c v.
   48.16 -    ///Moreover all iterators referencing node \c v or the removed 
   48.17 +    ///Moreover all iterators referencing node \c v or the removed
   48.18      ///loops are also invalidated. Other iterators remain valid.
   48.19      ///
   48.20      ///\warning This functionality cannot be used together with the Snapshot
   48.21 @@ -552,7 +552,7 @@
   48.22      /// The newly added nodes and arcs can be removed using the
   48.23      /// restore() function.
   48.24      ///
   48.25 -    /// \note After a state is restored, you cannot restore a later state, 
   48.26 +    /// \note After a state is restored, you cannot restore a later state,
   48.27      /// i.e. you cannot add the removed nodes and arcs again using
   48.28      /// another Snapshot instance.
   48.29      ///
   48.30 @@ -1307,7 +1307,7 @@
   48.31      /// \note The moved edges are joined to node \c a using changeU()
   48.32      /// or changeV(), thus all edge and arc iterators whose base node is
   48.33      /// \c b are invalidated.
   48.34 -    /// Moreover all iterators referencing node \c b or the removed 
   48.35 +    /// Moreover all iterators referencing node \c b or the removed
   48.36      /// loops are also invalidated. Other iterators remain valid.
   48.37      ///
   48.38      ///\warning This functionality cannot be used together with the
   48.39 @@ -1364,7 +1364,7 @@
   48.40      /// The newly added nodes and edges can be removed
   48.41      /// using the restore() function.
   48.42      ///
   48.43 -    /// \note After a state is restored, you cannot restore a later state, 
   48.44 +    /// \note After a state is restored, you cannot restore a later state,
   48.45      /// i.e. you cannot add the removed nodes and edges again using
   48.46      /// another Snapshot instance.
   48.47      ///
    49.1 --- a/lemon/lp.h	Wed Mar 17 12:35:52 2010 +0100
    49.2 +++ b/lemon/lp.h	Sat Mar 06 14:35:12 2010 +0000
    49.3 @@ -2,7 +2,7 @@
    49.4   *
    49.5   * This file is a part of LEMON, a generic C++ optimization library.
    49.6   *
    49.7 - * Copyright (C) 2003-2008
    49.8 + * Copyright (C) 2003-2010
    49.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   49.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   49.11   *
   49.12 @@ -84,7 +84,7 @@
   49.13    typedef SoplexLp Lp;
   49.14  #elif LEMON_HAVE_CLP
   49.15  # define DEFAULT_LP CLP
   49.16 -  typedef ClpLp Lp;  
   49.17 +  typedef ClpLp Lp;
   49.18  #endif
   49.19  #endif
   49.20  
    50.1 --- a/lemon/lp_base.cc	Wed Mar 17 12:35:52 2010 +0100
    50.2 +++ b/lemon/lp_base.cc	Sat Mar 06 14:35:12 2010 +0000
    50.3 @@ -2,7 +2,7 @@
    50.4   *
    50.5   * This file is a part of LEMON, a generic C++ optimization library.
    50.6   *
    50.7 - * Copyright (C) 2003-2008
    50.8 + * Copyright (C) 2003-2010
    50.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   50.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   50.11   *
    51.1 --- a/lemon/lp_base.h	Wed Mar 17 12:35:52 2010 +0100
    51.2 +++ b/lemon/lp_base.h	Sat Mar 06 14:35:12 2010 +0000
    51.3 @@ -2,7 +2,7 @@
    51.4   *
    51.5   * This file is a part of LEMON, a generic C++ optimization library.
    51.6   *
    51.7 - * Copyright (C) 2003-2008
    51.8 + * Copyright (C) 2003-2010
    51.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   51.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   51.11   *
   51.12 @@ -82,7 +82,7 @@
   51.13        /// Verbose output.
   51.14        MESSAGE_VERBOSE
   51.15      };
   51.16 -    
   51.17 +
   51.18  
   51.19      ///The floating point type used by the solver
   51.20      typedef double Value;
   51.21 @@ -114,14 +114,14 @@
   51.22        typedef Value ExprValue;
   51.23        typedef True LpCol;
   51.24        /// Default constructor
   51.25 -      
   51.26 +
   51.27        /// \warning The default constructor sets the Col to an
   51.28        /// undefined value.
   51.29        Col() {}
   51.30        /// Invalid constructor \& conversion.
   51.31 -      
   51.32 +
   51.33        /// This constructor initializes the Col to be invalid.
   51.34 -      /// \sa Invalid for more details.      
   51.35 +      /// \sa Invalid for more details.
   51.36        Col(const Invalid&) : _id(-1) {}
   51.37        /// Equality operator
   51.38  
   51.39 @@ -156,12 +156,12 @@
   51.40        const LpBase *_solver;
   51.41      public:
   51.42        /// Default constructor
   51.43 -      
   51.44 +
   51.45        /// \warning The default constructor sets the iterator
   51.46        /// to an undefined value.
   51.47        ColIt() {}
   51.48        /// Sets the iterator to the first Col
   51.49 -      
   51.50 +
   51.51        /// Sets the iterator to the first Col.
   51.52        ///
   51.53        ColIt(const LpBase &solver) : _solver(&solver)
   51.54 @@ -169,12 +169,12 @@
   51.55          _solver->cols.firstItem(_id);
   51.56        }
   51.57        /// Invalid constructor \& conversion
   51.58 -      
   51.59 +
   51.60        /// Initialize the iterator to be invalid.
   51.61        /// \sa Invalid for more details.
   51.62        ColIt(const Invalid&) : Col(INVALID) {}
   51.63        /// Next column
   51.64 -      
   51.65 +
   51.66        /// Assign the iterator to the next column.
   51.67        ///
   51.68        ColIt &operator++()
   51.69 @@ -209,14 +209,14 @@
   51.70        typedef Value ExprValue;
   51.71        typedef True LpRow;
   51.72        /// Default constructor
   51.73 -      
   51.74 +
   51.75        /// \warning The default constructor sets the Row to an
   51.76        /// undefined value.
   51.77        Row() {}
   51.78        /// Invalid constructor \& conversion.
   51.79 -      
   51.80 +
   51.81        /// This constructor initializes the Row to be invalid.
   51.82 -      /// \sa Invalid for more details.      
   51.83 +      /// \sa Invalid for more details.
   51.84        Row(const Invalid&) : _id(-1) {}
   51.85        /// Equality operator
   51.86  
   51.87 @@ -224,7 +224,7 @@
   51.88        /// the same LP row or both are invalid.
   51.89        bool operator==(Row r) const  {return _id == r._id;}
   51.90        /// Inequality operator
   51.91 -      
   51.92 +
   51.93        /// \sa operator==(Row r)
   51.94        ///
   51.95        bool operator!=(Row r) const  {return _id != r._id;}
   51.96 @@ -251,12 +251,12 @@
   51.97        const LpBase *_solver;
   51.98      public:
   51.99        /// Default constructor
  51.100 -      
  51.101 +
  51.102        /// \warning The default constructor sets the iterator
  51.103        /// to an undefined value.
  51.104        RowIt() {}
  51.105        /// Sets the iterator to the first Row
  51.106 -      
  51.107 +
  51.108        /// Sets the iterator to the first Row.
  51.109        ///
  51.110        RowIt(const LpBase &solver) : _solver(&solver)
  51.111 @@ -264,12 +264,12 @@
  51.112          _solver->rows.firstItem(_id);
  51.113        }
  51.114        /// Invalid constructor \& conversion
  51.115 -      
  51.116 +
  51.117        /// Initialize the iterator to be invalid.
  51.118        /// \sa Invalid for more details.
  51.119        RowIt(const Invalid&) : Row(INVALID) {}
  51.120        /// Next row
  51.121 -      
  51.122 +
  51.123        /// Assign the iterator to the next row.
  51.124        ///
  51.125        RowIt &operator++()
  51.126 @@ -347,7 +347,7 @@
  51.127      public:
  51.128        typedef True SolverExpr;
  51.129        /// Default constructor
  51.130 -      
  51.131 +
  51.132        /// Construct an empty expression, the coefficients and
  51.133        /// the constant component are initialized to zero.
  51.134        Expr() : const_comp(0) {}
  51.135 @@ -448,9 +448,9 @@
  51.136        }
  51.137  
  51.138        ///Iterator over the expression
  51.139 -      
  51.140 -      ///The iterator iterates over the terms of the expression. 
  51.141 -      /// 
  51.142 +
  51.143 +      ///The iterator iterates over the terms of the expression.
  51.144 +      ///
  51.145        ///\code
  51.146        ///double s=0;
  51.147        ///for(LpBase::Expr::CoeffIt i(e);i!=INVALID;++i)
  51.148 @@ -464,7 +464,7 @@
  51.149        public:
  51.150  
  51.151          /// Sets the iterator to the first term
  51.152 -        
  51.153 +
  51.154          /// Sets the iterator to the first term of the expression.
  51.155          ///
  51.156          CoeffIt(Expr& e)
  51.157 @@ -481,7 +481,7 @@
  51.158          /// Returns the coefficient of the term
  51.159          const Value& operator*() const { return _it->second; }
  51.160          /// Next term
  51.161 -        
  51.162 +
  51.163          /// Assign the iterator to the next term.
  51.164          ///
  51.165          CoeffIt& operator++() { ++_it; return *this; }
  51.166 @@ -493,9 +493,9 @@
  51.167        };
  51.168  
  51.169        /// Const iterator over the expression
  51.170 -      
  51.171 -      ///The iterator iterates over the terms of the expression. 
  51.172 -      /// 
  51.173 +
  51.174 +      ///The iterator iterates over the terms of the expression.
  51.175 +      ///
  51.176        ///\code
  51.177        ///double s=0;
  51.178        ///for(LpBase::Expr::ConstCoeffIt i(e);i!=INVALID;++i)
  51.179 @@ -509,7 +509,7 @@
  51.180        public:
  51.181  
  51.182          /// Sets the iterator to the first term
  51.183 -        
  51.184 +
  51.185          /// Sets the iterator to the first term of the expression.
  51.186          ///
  51.187          ConstCoeffIt(const Expr& e)
  51.188 @@ -524,7 +524,7 @@
  51.189          const Value& operator*() const { return _it->second; }
  51.190  
  51.191          /// Next term
  51.192 -        
  51.193 +
  51.194          /// Assign the iterator to the next term.
  51.195          ///
  51.196          ConstCoeffIt& operator++() { ++_it; return *this; }
  51.197 @@ -673,7 +673,7 @@
  51.198      public:
  51.199        typedef True SolverExpr;
  51.200        /// Default constructor
  51.201 -      
  51.202 +
  51.203        /// Construct an empty expression, the coefficients are
  51.204        /// initialized to zero.
  51.205        DualExpr() {}
  51.206 @@ -708,7 +708,7 @@
  51.207          }
  51.208        }
  51.209        /// \brief Removes the coefficients which's absolute value does
  51.210 -      /// not exceed \c epsilon. 
  51.211 +      /// not exceed \c epsilon.
  51.212        void simplify(Value epsilon = 0.0) {
  51.213          std::map<int, Value>::iterator it=comps.begin();
  51.214          while (it != comps.end()) {
  51.215 @@ -757,9 +757,9 @@
  51.216        }
  51.217  
  51.218        ///Iterator over the expression
  51.219 -      
  51.220 -      ///The iterator iterates over the terms of the expression. 
  51.221 -      /// 
  51.222 +
  51.223 +      ///The iterator iterates over the terms of the expression.
  51.224 +      ///
  51.225        ///\code
  51.226        ///double s=0;
  51.227        ///for(LpBase::DualExpr::CoeffIt i(e);i!=INVALID;++i)
  51.228 @@ -773,7 +773,7 @@
  51.229        public:
  51.230  
  51.231          /// Sets the iterator to the first term
  51.232 -        
  51.233 +
  51.234          /// Sets the iterator to the first term of the expression.
  51.235          ///
  51.236          CoeffIt(DualExpr& e)
  51.237 @@ -791,7 +791,7 @@
  51.238          const Value& operator*() const { return _it->second; }
  51.239  
  51.240          /// Next term
  51.241 -        
  51.242 +
  51.243          /// Assign the iterator to the next term.
  51.244          ///
  51.245          CoeffIt& operator++() { ++_it; return *this; }
  51.246 @@ -803,9 +803,9 @@
  51.247        };
  51.248  
  51.249        ///Iterator over the expression
  51.250 -      
  51.251 -      ///The iterator iterates over the terms of the expression. 
  51.252 -      /// 
  51.253 +
  51.254 +      ///The iterator iterates over the terms of the expression.
  51.255 +      ///
  51.256        ///\code
  51.257        ///double s=0;
  51.258        ///for(LpBase::DualExpr::ConstCoeffIt i(e);i!=INVALID;++i)
  51.259 @@ -819,7 +819,7 @@
  51.260        public:
  51.261  
  51.262          /// Sets the iterator to the first term
  51.263 -        
  51.264 +
  51.265          /// Sets the iterator to the first term of the expression.
  51.266          ///
  51.267          ConstCoeffIt(const DualExpr& e)
  51.268 @@ -834,7 +834,7 @@
  51.269          const Value& operator*() const { return _it->second; }
  51.270  
  51.271          /// Next term
  51.272 -        
  51.273 +
  51.274          /// Assign the iterator to the next term.
  51.275          ///
  51.276          ConstCoeffIt& operator++() { ++_it; return *this; }
  51.277 @@ -1229,7 +1229,7 @@
  51.278      Row addRow(const Constr &c) {
  51.279        Row r;
  51.280        c.expr().simplify();
  51.281 -      r._id = _addRowId(_addRow(c.lowerBounded()?c.lowerBound()-*c.expr():-INF, 
  51.282 +      r._id = _addRowId(_addRow(c.lowerBounded()?c.lowerBound()-*c.expr():-INF,
  51.283                                  ExprIterator(c.expr().comps.begin(), cols),
  51.284                                  ExprIterator(c.expr().comps.end(), cols),
  51.285                                  c.upperBounded()?c.upperBound()-*c.expr():INF));
  51.286 @@ -1817,10 +1817,10 @@
  51.287      ///The basis status of variables
  51.288      enum VarStatus {
  51.289        /// The variable is in the basis
  51.290 -      BASIC, 
  51.291 +      BASIC,
  51.292        /// The variable is free, but not basic
  51.293        FREE,
  51.294 -      /// The variable has active lower bound 
  51.295 +      /// The variable has active lower bound
  51.296        LOWER,
  51.297        /// The variable has active upper bound
  51.298        UPPER,
  51.299 @@ -1899,7 +1899,7 @@
  51.300        return res;
  51.301      }
  51.302      /// Returns a component of the primal ray
  51.303 -    
  51.304 +
  51.305      /// The primal ray is solution of the modified primal problem,
  51.306      /// where we change each finite bound to 0, and we looking for a
  51.307      /// negative objective value in case of minimization, and positive
  51.308 @@ -1933,7 +1933,7 @@
  51.309      }
  51.310  
  51.311      /// Returns a component of the dual ray
  51.312 -    
  51.313 +
  51.314      /// The dual ray is solution of the modified primal problem, where
  51.315      /// we change each finite bound to 0 (i.e. the objective function
  51.316      /// coefficients in the primal problem), and we looking for a
  51.317 @@ -2075,7 +2075,7 @@
  51.318        return res;
  51.319      }
  51.320      ///The value of the objective function
  51.321 -    
  51.322 +
  51.323      ///\return
  51.324      ///- \ref INF or -\ref INF means either infeasibility or unboundedness
  51.325      /// of the problem, depending on whether we minimize or maximize.
    52.1 --- a/lemon/lp_skeleton.cc	Wed Mar 17 12:35:52 2010 +0100
    52.2 +++ b/lemon/lp_skeleton.cc	Sat Mar 06 14:35:12 2010 +0000
    52.3 @@ -2,7 +2,7 @@
    52.4   *
    52.5   * This file is a part of LEMON, a generic C++ optimization library.
    52.6   *
    52.7 - * Copyright (C) 2003-2008
    52.8 + * Copyright (C) 2003-2010
    52.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   52.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   52.11   *
    53.1 --- a/lemon/lp_skeleton.h	Wed Mar 17 12:35:52 2010 +0100
    53.2 +++ b/lemon/lp_skeleton.h	Sat Mar 06 14:35:12 2010 +0000
    53.3 @@ -2,7 +2,7 @@
    53.4   *
    53.5   * This file is a part of LEMON, a generic C++ optimization library.
    53.6   *
    53.7 - * Copyright (C) 2003-2008
    53.8 + * Copyright (C) 2003-2010
    53.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   53.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   53.11   *
   53.12 @@ -23,13 +23,13 @@
   53.13  
   53.14  ///\file
   53.15  ///\brief Skeleton file to implement LP/MIP solver interfaces
   53.16 -///  
   53.17 +///
   53.18  ///The classes in this file do nothing, but they can serve as skeletons when
   53.19  ///implementing an interface to new solvers.
   53.20  namespace lemon {
   53.21  
   53.22    ///A skeleton class to implement LP/MIP solver base interface
   53.23 -  
   53.24 +
   53.25    ///This class does nothing, but it can serve as a skeleton when
   53.26    ///implementing an interface to new solvers.
   53.27    class SkeletonSolverBase : public virtual LpBase {
    54.1 --- a/lemon/maps.h	Wed Mar 17 12:35:52 2010 +0100
    54.2 +++ b/lemon/maps.h	Sat Mar 06 14:35:12 2010 +0000
    54.3 @@ -2,7 +2,7 @@
    54.4   *
    54.5   * This file is a part of LEMON, a generic C++ optimization library.
    54.6   *
    54.7 - * Copyright (C) 2003-2009
    54.8 + * Copyright (C) 2003-2010
    54.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   54.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   54.11   *
   54.12 @@ -233,7 +233,7 @@
   54.13    /// It can be used together with some data structures, e.g.
   54.14    /// heap types and \c UnionFind, when the used items are small
   54.15    /// integers. This map conforms to the \ref concepts::ReferenceMap
   54.16 -  /// "ReferenceMap" concept. 
   54.17 +  /// "ReferenceMap" concept.
   54.18    ///
   54.19    /// The simplest way of using this map is through the rangeMap()
   54.20    /// function.
   54.21 @@ -1916,11 +1916,11 @@
   54.22    /// The graph items can be accessed by their values either using
   54.23    /// \c InverseMap or \c operator()(), and the values of the map can be
   54.24    /// accessed with an STL compatible forward iterator (\c ValueIt).
   54.25 -  /// 
   54.26 +  ///
   54.27    /// This map is intended to be used when all associated values are
   54.28    /// different (the map is actually invertable) or there are only a few
   54.29    /// items with the same value.
   54.30 -  /// Otherwise consider to use \c IterableValueMap, which is more 
   54.31 +  /// Otherwise consider to use \c IterableValueMap, which is more
   54.32    /// suitable and more efficient for such cases. It provides iterators
   54.33    /// to traverse the items with the same associated value, but
   54.34    /// it does not have \c InverseMap.
   54.35 @@ -2002,7 +2002,7 @@
   54.36      private:
   54.37        typename Container::const_iterator it;
   54.38      };
   54.39 -    
   54.40 +
   54.41      /// Alias for \c ValueIt
   54.42      typedef ValueIt ValueIterator;
   54.43  
   54.44 @@ -2061,7 +2061,7 @@
   54.45        typename Container::const_iterator it = _inv_map.find(val);
   54.46        return it != _inv_map.end() ? it->second : INVALID;
   54.47      }
   54.48 -    
   54.49 +
   54.50      /// \brief Returns the number of items with the given value.
   54.51      ///
   54.52      /// This function returns the number of items with the given value
   54.53 @@ -2378,7 +2378,7 @@
   54.54    inline RangeIdMap<GR, K> rangeIdMap(const GR& graph) {
   54.55      return RangeIdMap<GR, K>(graph);
   54.56    }
   54.57 -  
   54.58 +
   54.59    /// \brief Dynamic iterable \c bool map.
   54.60    ///
   54.61    /// This class provides a special graph map type which can store a
   54.62 @@ -2638,7 +2638,7 @@
   54.63        /// \param map The IterableBoolMap.
   54.64        /// \param value The value.
   54.65        ItemIt(const IterableBoolMap& map, bool value)
   54.66 -        : Parent(value ? 
   54.67 +        : Parent(value ?
   54.68                   (map._sep > 0 ?
   54.69                    map._array[map._sep - 1] : INVALID) :
   54.70                   (map._sep < int(map._array.size()) ?
   54.71 @@ -3786,7 +3786,7 @@
   54.72    void mapCopy(const GR& gr, const From& from, To& to) {
   54.73      typedef typename To::Key Item;
   54.74      typedef typename ItemSetTraits<GR, Item>::ItemIt ItemIt;
   54.75 -    
   54.76 +
   54.77      for (ItemIt it(gr); it != INVALID; ++it) {
   54.78        to.set(it, from[it]);
   54.79      }
   54.80 @@ -3794,7 +3794,7 @@
   54.81  
   54.82    /// \brief Compare two graph maps.
   54.83    ///
   54.84 -  /// This function compares the values of two graph maps. It returns 
   54.85 +  /// This function compares the values of two graph maps. It returns
   54.86    /// \c true if the maps assign the same value for all items in the graph.
   54.87    /// The \c Key type of the maps (\c Node, \c Arc or \c Edge) must be equal
   54.88    /// and their \c Value types must be comparable using \c %operator==().
   54.89 @@ -3806,7 +3806,7 @@
   54.90    bool mapCompare(const GR& gr, const Map1& map1, const Map2& map2) {
   54.91      typedef typename Map2::Key Item;
   54.92      typedef typename ItemSetTraits<GR, Item>::ItemIt ItemIt;
   54.93 -    
   54.94 +
   54.95      for (ItemIt it(gr); it != INVALID; ++it) {
   54.96        if (!(map1[it] == map2[it])) return false;
   54.97      }
    55.1 --- a/lemon/matching.h	Wed Mar 17 12:35:52 2010 +0100
    55.2 +++ b/lemon/matching.h	Sat Mar 06 14:35:12 2010 +0000
    55.3 @@ -2,7 +2,7 @@
    55.4   *
    55.5   * This file is a part of LEMON, a generic C++ optimization library.
    55.6   *
    55.7 - * Copyright (C) 2003-2009
    55.8 + * Copyright (C) 2003-2010
    55.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   55.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   55.11   *
   55.12 @@ -1623,7 +1623,7 @@
   55.13          (*_delta2_index)[i] = _delta2->PRE_HEAP;
   55.14          (*_delta4_index)[i] = _delta4->PRE_HEAP;
   55.15        }
   55.16 -      
   55.17 +
   55.18        _unmatched = _node_num;
   55.19  
   55.20        _delta1->clear();
   55.21 @@ -1678,7 +1678,7 @@
   55.22  
   55.23        _blossom_node_list.clear();
   55.24        _blossom_potential.clear();
   55.25 -      
   55.26 +
   55.27        if (_fractional == 0) {
   55.28          _fractional = new FractionalMatching(_graph, _weight, false);
   55.29        }
   55.30 @@ -1750,17 +1750,17 @@
   55.31            while (n != v) {
   55.32              subblossoms[--num] = _blossom_set->find(v);
   55.33              _delta1->push(v, _fractional->nodeValue(v));
   55.34 -            v = _graph.target(_fractional->matching(v));            
   55.35 +            v = _graph.target(_fractional->matching(v));
   55.36            }
   55.37 -          
   55.38 -          int surface = 
   55.39 +
   55.40 +          int surface =
   55.41              _blossom_set->join(subblossoms.begin(), subblossoms.end());
   55.42            (*_blossom_data)[surface].status = EVEN;
   55.43            (*_blossom_data)[surface].pred = INVALID;
   55.44            (*_blossom_data)[surface].next = INVALID;
   55.45            (*_blossom_data)[surface].pot = 0;
   55.46            (*_blossom_data)[surface].offset = 0;
   55.47 -          
   55.48 +
   55.49            _tree_set->insert(surface);
   55.50            ++_unmatched;
   55.51          }
   55.52 @@ -1810,7 +1810,7 @@
   55.53              }
   55.54            }
   55.55          }
   55.56 -            
   55.57 +
   55.58          if (!(*_node_data)[ni].heap.empty()) {
   55.59            _blossom_set->decrease(n, (*_node_data)[ni].heap.prio());
   55.60            _delta2->push(nb, _blossom_set->classPrio(nb));
   55.61 @@ -2269,7 +2269,7 @@
   55.62      Value _delta_sum;
   55.63      int _unmatched;
   55.64  
   55.65 -    typedef MaxWeightedPerfectFractionalMatching<Graph, WeightMap> 
   55.66 +    typedef MaxWeightedPerfectFractionalMatching<Graph, WeightMap>
   55.67      FractionalMatching;
   55.68      FractionalMatching *_fractional;
   55.69  
   55.70 @@ -3095,7 +3095,7 @@
   55.71  
   55.72        _blossom_node_list.clear();
   55.73        _blossom_potential.clear();
   55.74 -      
   55.75 +
   55.76        if (_fractional == 0) {
   55.77          _fractional = new FractionalMatching(_graph, _weight, false);
   55.78        }
   55.79 @@ -3161,17 +3161,17 @@
   55.80            v = _graph.target(_fractional->matching(n));
   55.81            while (n != v) {
   55.82              subblossoms[--num] = _blossom_set->find(v);
   55.83 -            v = _graph.target(_fractional->matching(v));            
   55.84 +            v = _graph.target(_fractional->matching(v));
   55.85            }
   55.86 -          
   55.87 -          int surface = 
   55.88 +
   55.89 +          int surface =
   55.90              _blossom_set->join(subblossoms.begin(), subblossoms.end());
   55.91            (*_blossom_data)[surface].status = EVEN;
   55.92            (*_blossom_data)[surface].pred = INVALID;
   55.93            (*_blossom_data)[surface].next = INVALID;
   55.94            (*_blossom_data)[surface].pot = 0;
   55.95            (*_blossom_data)[surface].offset = 0;
   55.96 -          
   55.97 +
   55.98            _tree_set->insert(surface);
   55.99            ++_unmatched;
  55.100          }
  55.101 @@ -3221,7 +3221,7 @@
  55.102              }
  55.103            }
  55.104          }
  55.105 -            
  55.106 +
  55.107          if (!(*_node_data)[ni].heap.empty()) {
  55.108            _blossom_set->decrease(n, (*_node_data)[ni].heap.prio());
  55.109            _delta2->push(nb, _blossom_set->classPrio(nb));
    56.1 --- a/lemon/math.h	Wed Mar 17 12:35:52 2010 +0100
    56.2 +++ b/lemon/math.h	Sat Mar 06 14:35:12 2010 +0000
    56.3 @@ -2,7 +2,7 @@
    56.4   *
    56.5   * This file is a part of LEMON, a generic C++ optimization library.
    56.6   *
    56.7 - * Copyright (C) 2003-2009
    56.8 + * Copyright (C) 2003-2010
    56.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   56.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   56.11   *
   56.12 @@ -56,7 +56,7 @@
   56.13    const long double SQRT1_2 = 0.7071067811865475244008443621048490L;
   56.14  
   56.15    ///Check whether the parameter is NaN or not
   56.16 -  
   56.17 +
   56.18    ///This function checks whether the parameter is NaN or not.
   56.19    ///Is should be equivalent with std::isnan(), but it is not
   56.20    ///provided by all compilers.
    57.1 --- a/lemon/min_cost_arborescence.h	Wed Mar 17 12:35:52 2010 +0100
    57.2 +++ b/lemon/min_cost_arborescence.h	Sat Mar 06 14:35:12 2010 +0000
    57.3 @@ -2,7 +2,7 @@
    57.4   *
    57.5   * This file is a part of LEMON, a generic C++ optimization library.
    57.6   *
    57.7 - * Copyright (C) 2003-2008
    57.8 + * Copyright (C) 2003-2010
    57.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   57.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   57.11   *
   57.12 @@ -128,8 +128,8 @@
   57.13    class MinCostArborescence {
   57.14    public:
   57.15  
   57.16 -    /// \brief The \ref MinCostArborescenceDefaultTraits "traits class" 
   57.17 -    /// of the algorithm. 
   57.18 +    /// \brief The \ref MinCostArborescenceDefaultTraits "traits class"
   57.19 +    /// of the algorithm.
   57.20      typedef TR Traits;
   57.21      /// The type of the underlying digraph.
   57.22      typedef typename Traits::Digraph Digraph;
   57.23 @@ -436,7 +436,7 @@
   57.24      ///
   57.25      /// \ref named-templ-param "Named parameter" for setting
   57.26      /// \c PredMap type.
   57.27 -    /// It must meet the \ref concepts::WriteMap "WriteMap" concept, 
   57.28 +    /// It must meet the \ref concepts::WriteMap "WriteMap" concept,
   57.29      /// and its value type must be the \c Arc type of the digraph.
   57.30      template <class T>
   57.31      struct SetPredMap
    58.1 --- a/lemon/network_simplex.h	Wed Mar 17 12:35:52 2010 +0100
    58.2 +++ b/lemon/network_simplex.h	Sat Mar 06 14:35:12 2010 +0000
    58.3 @@ -2,7 +2,7 @@
    58.4   *
    58.5   * This file is a part of LEMON, a generic C++ optimization library.
    58.6   *
    58.7 - * Copyright (C) 2003-2009
    58.8 + * Copyright (C) 2003-2010
    58.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   58.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   58.11   *
   58.12 @@ -97,7 +97,7 @@
   58.13        /// infinite upper bound.
   58.14        UNBOUNDED
   58.15      };
   58.16 -    
   58.17 +
   58.18      /// \brief Constants for selecting the type of the supply constraints.
   58.19      ///
   58.20      /// Enum type containing constants for selecting the supply type,
   58.21 @@ -115,7 +115,7 @@
   58.22        /// supply/demand constraints in the definition of the problem.
   58.23        LEQ
   58.24      };
   58.25 -    
   58.26 +
   58.27      /// \brief Constants for selecting the pivot rule.
   58.28      ///
   58.29      /// Enum type containing constants for selecting the pivot rule for
   58.30 @@ -158,7 +158,7 @@
   58.31        /// candidate list and extends this list in every iteration.
   58.32        ALTERING_LIST
   58.33      };
   58.34 -    
   58.35 +
   58.36    private:
   58.37  
   58.38      TEMPLATE_DIGRAPH_TYPEDEFS(GR);
   58.39 @@ -227,11 +227,11 @@
   58.40      int first, second, right, last;
   58.41      int stem, par_stem, new_stem;
   58.42      Value delta;
   58.43 -    
   58.44 +
   58.45      const Value MAX;
   58.46  
   58.47    public:
   58.48 -  
   58.49 +
   58.50      /// \brief Constant for infinite upper bounds (capacities).
   58.51      ///
   58.52      /// Constant for infinite upper bounds (capacities).
   58.53 @@ -498,8 +498,8 @@
   58.54            }
   58.55          }
   58.56          if (_curr_length == 0) return false;
   58.57 -      
   58.58 -      search_end:        
   58.59 +
   58.60 +      search_end:
   58.61          _minor_count = 1;
   58.62          _next_arc = e;
   58.63          return true;
   58.64 @@ -608,7 +608,7 @@
   58.65            }
   58.66          }
   58.67          if (_curr_length == 0) return false;
   58.68 -        
   58.69 +
   58.70        search_end:
   58.71  
   58.72          // Make heap of the candidate list (approximating a partial sort)
   58.73 @@ -634,7 +634,7 @@
   58.74      ///
   58.75      /// \param graph The digraph the algorithm runs on.
   58.76      /// \param arc_mixing Indicate if the arcs have to be stored in a
   58.77 -    /// mixed order in the internal data structure. 
   58.78 +    /// mixed order in the internal data structure.
   58.79      /// In special cases, it could lead to better overall performance,
   58.80      /// but it is usually slower. Therefore it is disabled by default.
   58.81      NetworkSimplex(const GR& graph, bool arc_mixing = false) :
   58.82 @@ -649,7 +649,7 @@
   58.83          "The flow type of NetworkSimplex must be signed");
   58.84        LEMON_ASSERT(std::numeric_limits<Cost>::is_signed,
   58.85          "The cost type of NetworkSimplex must be signed");
   58.86 -        
   58.87 +
   58.88        // Reset data structures
   58.89        reset();
   58.90      }
   58.91 @@ -763,7 +763,7 @@
   58.92        _supply[_node_id[t]] = -k;
   58.93        return *this;
   58.94      }
   58.95 -    
   58.96 +
   58.97      /// \brief Set the type of the supply constraints.
   58.98      ///
   58.99      /// This function sets the type of the supply/demand constraints.
  58.100 @@ -789,7 +789,7 @@
  58.101      ///
  58.102      /// This function runs the algorithm.
  58.103      /// The paramters can be specified using functions \ref lowerMap(),
  58.104 -    /// \ref upperMap(), \ref costMap(), \ref supplyMap(), \ref stSupply(), 
  58.105 +    /// \ref upperMap(), \ref costMap(), \ref supplyMap(), \ref stSupply(),
  58.106      /// \ref supplyType().
  58.107      /// For example,
  58.108      /// \code
  58.109 @@ -944,12 +944,12 @@
  58.110            _target[i] = _node_id[_graph.target(a)];
  58.111          }
  58.112        }
  58.113 -      
  58.114 +
  58.115        // Reset parameters
  58.116        resetParams();
  58.117        return *this;
  58.118      }
  58.119 -    
  58.120 +
  58.121      /// @}
  58.122  
  58.123      /// \name Query Functions
  58.124 @@ -1089,7 +1089,7 @@
  58.125          _flow[i] = 0;
  58.126          _state[i] = STATE_LOWER;
  58.127        }
  58.128 -      
  58.129 +
  58.130        // Set data for the artificial root node
  58.131        _root = _node_num;
  58.132        _parent[_root] = -1;
  58.133 @@ -1263,7 +1263,7 @@
  58.134        // Search the cycle along the path form the second node to the root
  58.135        for (int u = second; u != join; u = _parent[u]) {
  58.136          e = _pred[u];
  58.137 -        d = _forward[u] ? 
  58.138 +        d = _forward[u] ?
  58.139            (_cap[e] >= MAX ? INF : _cap[e] - _flow[e]) : _flow[e];
  58.140          if (d <= delta) {
  58.141            delta = d;
  58.142 @@ -1567,7 +1567,7 @@
  58.143            updatePotential();
  58.144          }
  58.145        }
  58.146 -      
  58.147 +
  58.148        // Check feasibility
  58.149        for (int e = _search_arc_num; e != _all_arc_num; ++e) {
  58.150          if (_flow[e] != 0) return INFEASIBLE;
  58.151 @@ -1584,7 +1584,7 @@
  58.152            }
  58.153          }
  58.154        }
  58.155 -      
  58.156 +
  58.157        // Shift potentials to meet the requirements of the GEQ/LEQ type
  58.158        // optimality conditions
  58.159        if (_sum_supply == 0) {
    59.1 --- a/lemon/path.h	Wed Mar 17 12:35:52 2010 +0100
    59.2 +++ b/lemon/path.h	Sat Mar 06 14:35:12 2010 +0000
    59.3 @@ -2,7 +2,7 @@
    59.4   *
    59.5   * This file is a part of LEMON, a generic C++ optimization library.
    59.6   *
    59.7 - * Copyright (C) 2003-2009
    59.8 + * Copyright (C) 2003-2010
    59.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   59.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   59.11   *
   59.12 @@ -966,20 +966,20 @@
   59.13        }
   59.14      };
   59.15  
   59.16 -    
   59.17 +
   59.18      template <typename From, typename To,
   59.19                bool revEnable = RevPathTagIndicator<From>::value>
   59.20      struct PathCopySelector {
   59.21        static void copy(const From& from, To& to) {
   59.22          PathCopySelectorForward<From, To>::copy(from, to);
   59.23 -      }      
   59.24 +      }
   59.25      };
   59.26  
   59.27      template <typename From, typename To>
   59.28      struct PathCopySelector<From, To, true> {
   59.29        static void copy(const From& from, To& to) {
   59.30          PathCopySelectorBackward<From, To>::copy(from, to);
   59.31 -      }      
   59.32 +      }
   59.33      };
   59.34  
   59.35    }
    60.1 --- a/lemon/planarity.h	Wed Mar 17 12:35:52 2010 +0100
    60.2 +++ b/lemon/planarity.h	Sat Mar 06 14:35:12 2010 +0000
    60.3 @@ -2,7 +2,7 @@
    60.4   *
    60.5   * This file is a part of LEMON, a generic C++ optimization library.
    60.6   *
    60.7 - * Copyright (C) 2003-2009
    60.8 + * Copyright (C) 2003-2010
    60.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   60.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   60.11   *
   60.12 @@ -140,17 +140,17 @@
   60.13      template <typename Graph>
   60.14      class PlanarityChecking {
   60.15      private:
   60.16 -      
   60.17 +
   60.18        TEMPLATE_GRAPH_TYPEDEFS(Graph);
   60.19  
   60.20        const Graph& _graph;
   60.21  
   60.22      private:
   60.23 -      
   60.24 +
   60.25        typedef typename Graph::template NodeMap<Arc> PredMap;
   60.26 -      
   60.27 +
   60.28        typedef typename Graph::template EdgeMap<bool> TreeMap;
   60.29 -      
   60.30 +
   60.31        typedef typename Graph::template NodeMap<int> OrderMap;
   60.32        typedef std::vector<Node> OrderList;
   60.33  
   60.34 @@ -221,7 +221,7 @@
   60.35            }
   60.36  
   60.37            for (typename MergeRoots::Value::iterator it =
   60.38 -                 merge_roots[node].begin(); 
   60.39 +                 merge_roots[node].begin();
   60.40                 it != merge_roots[node].end(); ++it) {
   60.41              int rn = *it;
   60.42              walkDown(rn, i, node_data, order_list, child_lists,
   60.43 @@ -432,7 +432,7 @@
   60.44                Node ynode = order_list[yn];
   60.45  
   60.46                bool rd;
   60.47 -              if (!external(xnode, rorder, child_lists, 
   60.48 +              if (!external(xnode, rorder, child_lists,
   60.49                              ancestor_map, low_map)) {
   60.50                  rd = true;
   60.51                } else if (!external(ynode, rorder, child_lists,
    61.1 --- a/lemon/preflow.h	Wed Mar 17 12:35:52 2010 +0100
    61.2 +++ b/lemon/preflow.h	Sat Mar 06 14:35:12 2010 +0000
    61.3 @@ -2,7 +2,7 @@
    61.4   *
    61.5   * This file is a part of LEMON, a generic C++ optimization library.
    61.6   *
    61.7 - * Copyright (C) 2003-2009
    61.8 + * Copyright (C) 2003-2010
    61.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   61.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   61.11   *
    62.1 --- a/lemon/smart_graph.h	Wed Mar 17 12:35:52 2010 +0100
    62.2 +++ b/lemon/smart_graph.h	Sat Mar 06 14:35:12 2010 +0000
    62.3 @@ -2,7 +2,7 @@
    62.4   *
    62.5   * This file is a part of LEMON, a generic C++ optimization library.
    62.6   *
    62.7 - * Copyright (C) 2003-2009
    62.8 + * Copyright (C) 2003-2010
    62.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   62.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   62.11   *
   62.12 @@ -186,7 +186,7 @@
   62.13    ///
   62.14    ///\ref SmartDigraph is a simple and fast digraph implementation.
   62.15    ///It is also quite memory efficient but at the price
   62.16 -  ///that it does not support node and arc deletion 
   62.17 +  ///that it does not support node and arc deletion
   62.18    ///(except for the Snapshot feature).
   62.19    ///
   62.20    ///This type fully conforms to the \ref concepts::Digraph "Digraph concept"
   62.21 @@ -335,7 +335,7 @@
   62.22      ///restore() function. This is the only way for deleting nodes and/or
   62.23      ///arcs from a SmartDigraph structure.
   62.24      ///
   62.25 -    ///\note After a state is restored, you cannot restore a later state, 
   62.26 +    ///\note After a state is restored, you cannot restore a later state,
   62.27      ///i.e. you cannot add the removed nodes and arcs again using
   62.28      ///another Snapshot instance.
   62.29      ///
   62.30 @@ -614,7 +614,7 @@
   62.31    ///
   62.32    /// \ref SmartGraph is a simple and fast graph implementation.
   62.33    /// It is also quite memory efficient but at the price
   62.34 -  /// that it does not support node and edge deletion 
   62.35 +  /// that it does not support node and edge deletion
   62.36    /// (except for the Snapshot feature).
   62.37    ///
   62.38    /// This type fully conforms to the \ref concepts::Graph "Graph concept"
   62.39 @@ -761,7 +761,7 @@
   62.40      ///restore() function. This is the only way for deleting nodes and/or
   62.41      ///edges from a SmartGraph structure.
   62.42      ///
   62.43 -    ///\note After a state is restored, you cannot restore a later state, 
   62.44 +    ///\note After a state is restored, you cannot restore a later state,
   62.45      ///i.e. you cannot add the removed nodes and edges again using
   62.46      ///another Snapshot instance.
   62.47      ///
    63.1 --- a/lemon/soplex.cc	Wed Mar 17 12:35:52 2010 +0100
    63.2 +++ b/lemon/soplex.cc	Sat Mar 06 14:35:12 2010 +0000
    63.3 @@ -2,7 +2,7 @@
    63.4   *
    63.5   * This file is a part of LEMON, a generic C++ optimization library.
    63.6   *
    63.7 - * Copyright (C) 2003-2008
    63.8 + * Copyright (C) 2003-2010
    63.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   63.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   63.11   *
   63.12 @@ -287,7 +287,7 @@
   63.13    SoplexLp::SolveExitStatus SoplexLp::_solve() {
   63.14  
   63.15      _clear_temporals();
   63.16 -    
   63.17 +
   63.18      _applyMessageLevel();
   63.19  
   63.20      soplex::SPxSolver::Status status = soplex->solve();
    64.1 --- a/lemon/soplex.h	Wed Mar 17 12:35:52 2010 +0100
    64.2 +++ b/lemon/soplex.h	Sat Mar 06 14:35:12 2010 +0000
    64.3 @@ -2,7 +2,7 @@
    64.4   *
    64.5   * This file is a part of LEMON, a generic C++ optimization library.
    64.6   *
    64.7 - * Copyright (C) 2003-2008
    64.8 + * Copyright (C) 2003-2010
    64.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   64.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   64.11   *
    65.1 --- a/lemon/static_graph.h	Wed Mar 17 12:35:52 2010 +0100
    65.2 +++ b/lemon/static_graph.h	Sat Mar 06 14:35:12 2010 +0000
    65.3 @@ -1,8 +1,8 @@
    65.4 -/* -*- C++ -*-
    65.5 +/* -*- mode: C++; indent-tabs-mode: nil; -*-
    65.6   *
    65.7 - * This file is a part of LEMON, a generic C++ optimization library
    65.8 + * This file is a part of LEMON, a generic C++ optimization library.
    65.9   *
   65.10 - * Copyright (C) 2003-2008
   65.11 + * Copyright (C) 2003-2010
   65.12   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   65.13   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   65.14   *
   65.15 @@ -31,12 +31,12 @@
   65.16    class StaticDigraphBase {
   65.17    public:
   65.18  
   65.19 -    StaticDigraphBase() 
   65.20 -      : built(false), node_num(0), arc_num(0), 
   65.21 +    StaticDigraphBase()
   65.22 +      : built(false), node_num(0), arc_num(0),
   65.23          node_first_out(NULL), node_first_in(NULL),
   65.24 -        arc_source(NULL), arc_target(NULL), 
   65.25 +        arc_source(NULL), arc_target(NULL),
   65.26          arc_next_in(NULL), arc_next_out(NULL) {}
   65.27 -    
   65.28 +
   65.29      ~StaticDigraphBase() {
   65.30        if (built) {
   65.31          delete[] node_first_out;
   65.32 @@ -62,7 +62,7 @@
   65.33      };
   65.34  
   65.35      class Arc {
   65.36 -      friend class StaticDigraphBase;      
   65.37 +      friend class StaticDigraphBase;
   65.38      protected:
   65.39        int id;
   65.40        Arc(int _id) : id(_id) {}
   65.41 @@ -83,8 +83,8 @@
   65.42      void first(Arc& e) const { e.id = arc_num - 1; }
   65.43      static void next(Arc& e) { --e.id; }
   65.44  
   65.45 -    void firstOut(Arc& e, const Node& n) const { 
   65.46 -      e.id = node_first_out[n.id] != node_first_out[n.id + 1] ? 
   65.47 +    void firstOut(Arc& e, const Node& n) const {
   65.48 +      e.id = node_first_out[n.id] != node_first_out[n.id + 1] ?
   65.49          node_first_out[n.id] : -1;
   65.50      }
   65.51      void nextOut(Arc& e) const { e.id = arc_next_out[e.id]; }
   65.52 @@ -113,21 +113,21 @@
   65.53      public:
   65.54        typedef typename Digraph::Arc Arc;
   65.55  
   65.56 -      ArcLess(const Digraph &_graph, const NodeRefMap& _nodeRef) 
   65.57 +      ArcLess(const Digraph &_graph, const NodeRefMap& _nodeRef)
   65.58          : digraph(_graph), nodeRef(_nodeRef) {}
   65.59 -      
   65.60 +
   65.61        bool operator()(const Arc& left, const Arc& right) const {
   65.62 -	return nodeRef[digraph.target(left)] < nodeRef[digraph.target(right)];
   65.63 +        return nodeRef[digraph.target(left)] < nodeRef[digraph.target(right)];
   65.64        }
   65.65      private:
   65.66        const Digraph& digraph;
   65.67        const NodeRefMap& nodeRef;
   65.68      };
   65.69 -    
   65.70 +
   65.71    public:
   65.72  
   65.73      typedef True BuildTag;
   65.74 -    
   65.75 +
   65.76      void clear() {
   65.77        if (built) {
   65.78          delete[] node_first_out;
   65.79 @@ -141,7 +141,7 @@
   65.80        node_num = 0;
   65.81        arc_num = 0;
   65.82      }
   65.83 -    
   65.84 +
   65.85      template <typename Digraph, typename NodeRefMap, typename ArcRefMap>
   65.86      void build(const Digraph& digraph, NodeRefMap& nodeRef, ArcRefMap& arcRef) {
   65.87        typedef typename Digraph::Node GNode;
   65.88 @@ -183,7 +183,7 @@
   65.89                 it != arcs.end(); ++it) {
   65.90              int target = nodeRef[digraph.target(*it)].id;
   65.91              arcRef[*it] = Arc(arc_index);
   65.92 -            arc_source[arc_index] = source; 
   65.93 +            arc_source[arc_index] = source;
   65.94              arc_target[arc_index] = target;
   65.95              arc_next_in[arc_index] = node_first_in[target];
   65.96              node_first_in[target] = arc_index;
   65.97 @@ -197,7 +197,7 @@
   65.98        }
   65.99        node_first_out[node_num] = arc_num;
  65.100      }
  65.101 -    
  65.102 +
  65.103      template <typename ArcListIterator>
  65.104      void build(int n, ArcListIterator first, ArcListIterator last) {
  65.105        built = true;
  65.106 @@ -212,11 +212,11 @@
  65.107        arc_target = new int[arc_num];
  65.108        arc_next_out = new int[arc_num];
  65.109        arc_next_in = new int[arc_num];
  65.110 -      
  65.111 +
  65.112        for (int i = 0; i != node_num; ++i) {
  65.113          node_first_in[i] = -1;
  65.114 -      }      
  65.115 -      
  65.116 +      }
  65.117 +
  65.118        int arc_index = 0;
  65.119        for (int i = 0; i != node_num; ++i) {
  65.120          node_first_out[i] = arc_index;
  65.121 @@ -282,7 +282,7 @@
  65.122    ///
  65.123    /// Since this digraph structure is completely static, its nodes and arcs
  65.124    /// can be indexed with integers from the ranges <tt>[0..nodeNum()-1]</tt>
  65.125 -  /// and <tt>[0..arcNum()-1]</tt>, respectively. 
  65.126 +  /// and <tt>[0..arcNum()-1]</tt>, respectively.
  65.127    /// The index of an item is the same as its ID, it can be obtained
  65.128    /// using the corresponding \ref index() or \ref concepts::Digraph::id()
  65.129    /// "id()" function. A node or arc with a certain index can be obtained
  65.130 @@ -299,9 +299,9 @@
  65.131    public:
  65.132  
  65.133      typedef ExtendedStaticDigraphBase Parent;
  65.134 -  
  65.135 +
  65.136    public:
  65.137 -  
  65.138 +
  65.139      /// \brief Constructor
  65.140      ///
  65.141      /// Default constructor.
  65.142 @@ -349,7 +349,7 @@
  65.143      ///
  65.144      /// This method also makes possible to copy a digraph to a StaticDigraph
  65.145      /// structure using \ref DigraphCopy.
  65.146 -    /// 
  65.147 +    ///
  65.148      /// \param digraph An existing digraph to be copied.
  65.149      /// \param nodeRef The node references will be copied into this map.
  65.150      /// Its key type must be \c Digraph::Node and its value type must be
  65.151 @@ -370,7 +370,7 @@
  65.152        if (built) Parent::clear();
  65.153        Parent::build(digraph, nodeRef, arcRef);
  65.154      }
  65.155 -  
  65.156 +
  65.157      /// \brief Build the digraph from an arc list.
  65.158      ///
  65.159      /// This function builds the digraph from the given arc list.
  65.160 @@ -421,7 +421,7 @@
  65.161      using Parent::fastFirstOut;
  65.162      using Parent::fastNextOut;
  65.163      using Parent::fastLastOut;
  65.164 -    
  65.165 +
  65.166    public:
  65.167  
  65.168      class OutArcIt : public Arc {
  65.169 @@ -432,8 +432,8 @@
  65.170        OutArcIt(Invalid i) : Arc(i) { }
  65.171  
  65.172        OutArcIt(const StaticDigraph& digraph, const Node& node) {
  65.173 -	digraph.fastFirstOut(*this, node);
  65.174 -	digraph.fastLastOut(last, node);
  65.175 +        digraph.fastFirstOut(*this, node);
  65.176 +        digraph.fastLastOut(last, node);
  65.177          if (last == *this) *this = INVALID;
  65.178        }
  65.179  
  65.180 @@ -443,10 +443,10 @@
  65.181          }
  65.182        }
  65.183  
  65.184 -      OutArcIt& operator++() { 
  65.185 +      OutArcIt& operator++() {
  65.186          StaticDigraph::fastNextOut(*this);
  65.187          if (last == *this) *this = INVALID;
  65.188 -        return *this; 
  65.189 +        return *this;
  65.190        }
  65.191  
  65.192      private:
    66.1 --- a/lemon/suurballe.h	Wed Mar 17 12:35:52 2010 +0100
    66.2 +++ b/lemon/suurballe.h	Sat Mar 06 14:35:12 2010 +0000
    66.3 @@ -2,7 +2,7 @@
    66.4   *
    66.5   * This file is a part of LEMON, a generic C++ optimization library.
    66.6   *
    66.7 - * Copyright (C) 2003-2009
    66.8 + * Copyright (C) 2003-2010
    66.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   66.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   66.11   *
   66.12 @@ -65,7 +65,7 @@
   66.13      /// It must conform to the \ref lemon::concepts::Path "Path" concept
   66.14      /// and it must have an \c addBack() function.
   66.15      typedef lemon::Path<Digraph> Path;
   66.16 -    
   66.17 +
   66.18      /// The cross reference type used for the heap.
   66.19      typedef typename GR::template NodeMap<int> HeapCrossRef;
   66.20  
   66.21 @@ -158,7 +158,7 @@
   66.22        PredMap &_pred;
   66.23        Node _s;
   66.24        Node _t;
   66.25 -      
   66.26 +
   66.27        PotentialMap _dist;
   66.28        std::vector<Node> _proc_nodes;
   66.29  
   66.30 @@ -167,9 +167,9 @@
   66.31        // Constructor
   66.32        ResidualDijkstra(Suurballe &srb) :
   66.33          _graph(srb._graph), _length(srb._length),
   66.34 -        _flow(*srb._flow), _pi(*srb._potential), _pred(srb._pred), 
   66.35 +        _flow(*srb._flow), _pi(*srb._potential), _pred(srb._pred),
   66.36          _s(srb._s), _t(srb._t), _dist(_graph) {}
   66.37 -        
   66.38 +
   66.39        // Run the algorithm and return true if a path is found
   66.40        // from the source node to the target node.
   66.41        bool run(int cnt) {
   66.42 @@ -177,7 +177,7 @@
   66.43        }
   66.44  
   66.45      private:
   66.46 -    
   66.47 +
   66.48        // Execute the algorithm for the first time (the flow and potential
   66.49        // functions have to be identically zero).
   66.50        bool startFirst() {
   66.51 @@ -348,7 +348,7 @@
   66.52        : public Suurballe<GR, LEN, SetPathTraits<T> > {
   66.53        typedef Suurballe<GR, LEN, SetPathTraits<T> > Create;
   66.54      };
   66.55 -    
   66.56 +
   66.57      template <typename H, typename CR>
   66.58      struct SetHeapTraits : public Traits {
   66.59        typedef H Heap;
   66.60 @@ -359,7 +359,7 @@
   66.61      /// \c Heap and \c HeapCrossRef types.
   66.62      ///
   66.63      /// \ref named-templ-param "Named parameter" for setting \c Heap
   66.64 -    /// and \c HeapCrossRef types with automatic allocation. 
   66.65 +    /// and \c HeapCrossRef types with automatic allocation.
   66.66      /// They will be used for internal Dijkstra computations.
   66.67      /// The heap type must conform to the \ref lemon::concepts::Heap "Heap"
   66.68      /// concept and its priority type must be \c Length.
   66.69 @@ -397,7 +397,7 @@
   66.70  
   66.71      // The pred arc map
   66.72      PredMap _pred;
   66.73 -    
   66.74 +
   66.75      // Data for full init
   66.76      PotentialMap *_init_dist;
   66.77      PredMap *_init_pred;
   66.78 @@ -555,7 +555,7 @@
   66.79          ::Create dijk(_graph, _length);
   66.80        dijk.distMap(*_init_dist).predMap(*_init_pred);
   66.81        dijk.run(s);
   66.82 -      
   66.83 +
   66.84        _full_init = true;
   66.85      }
   66.86  
   66.87 @@ -599,7 +599,7 @@
   66.88      int findFlow(const Node& t, int k = 2) {
   66.89        _t = t;
   66.90        ResidualDijkstra dijkstra(*this);
   66.91 -      
   66.92 +
   66.93        // Initialization
   66.94        for (ArcIt e(_graph); e != INVALID; ++e) {
   66.95          (*_flow)[e] = 0;
   66.96 @@ -613,7 +613,7 @@
   66.97          while ((e = (*_init_pred)[u]) != INVALID) {
   66.98            (*_flow)[e] = 1;
   66.99            u = _graph.source(e);
  66.100 -        }        
  66.101 +        }
  66.102          _path_num = 1;
  66.103        } else {
  66.104          for (NodeIt n(_graph); n != INVALID; ++n) {
    67.1 --- a/lemon/unionfind.h	Wed Mar 17 12:35:52 2010 +0100
    67.2 +++ b/lemon/unionfind.h	Sat Mar 06 14:35:12 2010 +0000
    67.3 @@ -2,7 +2,7 @@
    67.4   *
    67.5   * This file is a part of LEMON, a generic C++ optimization library.
    67.6   *
    67.7 - * Copyright (C) 2003-2009
    67.8 + * Copyright (C) 2003-2010
    67.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   67.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   67.11   *
    68.1 --- a/test/bellman_ford_test.cc	Wed Mar 17 12:35:52 2010 +0100
    68.2 +++ b/test/bellman_ford_test.cc	Sat Mar 06 14:35:12 2010 +0000
    68.3 @@ -2,7 +2,7 @@
    68.4   *
    68.5   * This file is a part of LEMON, a generic C++ optimization library.
    68.6   *
    68.7 - * Copyright (C) 2003-2009
    68.8 + * Copyright (C) 2003-2010
    68.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   68.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   68.11   *
   68.12 @@ -97,7 +97,7 @@
   68.13      p  = const_bf_test.predMap();
   68.14      pp = const_bf_test.path(t);
   68.15      pp = const_bf_test.negativeCycle();
   68.16 -    
   68.17 +
   68.18      for (BF::ActiveIt it(const_bf_test); it != INVALID; ++it) {}
   68.19    }
   68.20    {
   68.21 @@ -110,7 +110,7 @@
   68.22      LengthMap length_map;
   68.23      concepts::ReadWriteMap<Node,Arc> pred_map;
   68.24      concepts::ReadWriteMap<Node,Value> dist_map;
   68.25 -    
   68.26 +
   68.27      bf_test
   68.28        .lengthMap(length_map)
   68.29        .predMap(pred_map)
   68.30 @@ -189,7 +189,7 @@
   68.31    check(checkPath(gr, p), "path() found a wrong path.");
   68.32    check(pathSource(gr, p) == s, "path() found a wrong path.");
   68.33    check(pathTarget(gr, p) == t, "path() found a wrong path.");
   68.34 -  
   68.35 +
   68.36    ListPath<Digraph> path;
   68.37    Value dist;
   68.38    bool reached = bellmanFord(gr,length).path(path).dist(dist).run(s,t);
   68.39 @@ -228,18 +228,18 @@
   68.40  
   68.41    SmartDigraph gr;
   68.42    IntArcMap length(gr);
   68.43 -  
   68.44 +
   68.45    Node n1 = gr.addNode();
   68.46    Node n2 = gr.addNode();
   68.47    Node n3 = gr.addNode();
   68.48    Node n4 = gr.addNode();
   68.49 -  
   68.50 +
   68.51    Arc a1 = gr.addArc(n1, n2);
   68.52    Arc a2 = gr.addArc(n2, n2);
   68.53 -  
   68.54 +
   68.55    length[a1] = 2;
   68.56    length[a2] = -1;
   68.57 -  
   68.58 +
   68.59    {
   68.60      BellmanFord<SmartDigraph, IntArcMap> bf(gr, length);
   68.61      bf.run(n1);
   68.62 @@ -247,21 +247,21 @@
   68.63      check(p.length() == 1 && p.front() == p.back() && p.front() == a2,
   68.64            "Wrong negative cycle.");
   68.65    }
   68.66 - 
   68.67 +
   68.68    length[a2] = 0;
   68.69 -  
   68.70 +
   68.71    {
   68.72      BellmanFord<SmartDigraph, IntArcMap> bf(gr, length);
   68.73      bf.run(n1);
   68.74      check(bf.negativeCycle().empty(),
   68.75            "Negative cycle should not be found.");
   68.76    }
   68.77 -  
   68.78 +
   68.79    length[gr.addArc(n1, n3)] = 5;
   68.80    length[gr.addArc(n4, n3)] = 1;
   68.81    length[gr.addArc(n2, n4)] = 2;
   68.82    length[gr.addArc(n3, n2)] = -4;
   68.83 -  
   68.84 +
   68.85    {
   68.86      BellmanFord<SmartDigraph, IntArcMap> bf(gr, length);
   68.87      bf.init();
    69.1 --- a/test/bfs_test.cc	Wed Mar 17 12:35:52 2010 +0100
    69.2 +++ b/test/bfs_test.cc	Sat Mar 06 14:35:12 2010 +0000
    69.3 @@ -2,7 +2,7 @@
    69.4   *
    69.5   * This file is a part of LEMON, a generic C++ optimization library.
    69.6   *
    69.7 - * Copyright (C) 2003-2009
    69.8 + * Copyright (C) 2003-2010
    69.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   69.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   69.11   *
   69.12 @@ -83,7 +83,7 @@
   69.13      n = const_bfs_test.nextNode();
   69.14      b = const_bfs_test.emptyQueue();
   69.15      i = const_bfs_test.queueSize();
   69.16 -    
   69.17 +
   69.18      bfs_test.start();
   69.19      bfs_test.start(t);
   69.20      bfs_test.start(nm);
   69.21 @@ -104,12 +104,12 @@
   69.22        ::SetStandardProcessedMap
   69.23        ::SetProcessedMap<concepts::WriteMap<Node,bool> >
   69.24        ::Create bfs_test(G);
   69.25 -      
   69.26 +
   69.27      concepts::ReadWriteMap<Node,Arc> pred_map;
   69.28      concepts::ReadWriteMap<Node,int> dist_map;
   69.29      concepts::ReadWriteMap<Node,bool> reached_map;
   69.30      concepts::WriteMap<Node,bool> processed_map;
   69.31 -    
   69.32 +
   69.33      bfs_test
   69.34        .predMap(pred_map)
   69.35        .distMap(dist_map)
   69.36 @@ -119,7 +119,7 @@
   69.37      bfs_test.run(s);
   69.38      bfs_test.run(s,t);
   69.39      bfs_test.run();
   69.40 -    
   69.41 +
   69.42      bfs_test.init();
   69.43      bfs_test.addSource(s);
   69.44      n = bfs_test.processNextNode();
   69.45 @@ -128,7 +128,7 @@
   69.46      n = bfs_test.nextNode();
   69.47      b = bfs_test.emptyQueue();
   69.48      i = bfs_test.queueSize();
   69.49 -    
   69.50 +
   69.51      bfs_test.start();
   69.52      bfs_test.start(t);
   69.53      bfs_test.start(nm);
    70.1 --- a/test/circulation_test.cc	Wed Mar 17 12:35:52 2010 +0100
    70.2 +++ b/test/circulation_test.cc	Sat Mar 06 14:35:12 2010 +0000
    70.3 @@ -2,7 +2,7 @@
    70.4   *
    70.5   * This file is a part of LEMON, a generic C++ optimization library.
    70.6   *
    70.7 - * Copyright (C) 2003-2009
    70.8 + * Copyright (C) 2003-2010
    70.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   70.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   70.11   *
   70.12 @@ -81,13 +81,13 @@
   70.13              ::Create CirculationType;
   70.14    CirculationType circ_test(g, lcap, ucap, supply);
   70.15    const CirculationType& const_circ_test = circ_test;
   70.16 -   
   70.17 +
   70.18    circ_test
   70.19      .lowerMap(lcap)
   70.20      .upperMap(ucap)
   70.21      .supplyMap(supply)
   70.22      .flowMap(flow);
   70.23 -  
   70.24 +
   70.25    const CirculationType::Elevator& elev = const_circ_test.elevator();
   70.26    circ_test.elevator(const_cast<CirculationType::Elevator&>(elev));
   70.27    CirculationType::Tolerance tol = const_circ_test.tolerance();
   70.28 @@ -102,7 +102,7 @@
   70.29    const FlowMap& fm = const_circ_test.flowMap();
   70.30    b = const_circ_test.barrier(n);
   70.31    const_circ_test.barrierMap(bar);
   70.32 -  
   70.33 +
   70.34    ignore_unused_variable_warning(fm);
   70.35  }
   70.36  
    71.1 --- a/test/connectivity_test.cc	Wed Mar 17 12:35:52 2010 +0100
    71.2 +++ b/test/connectivity_test.cc	Sat Mar 06 14:35:12 2010 +0000
    71.3 @@ -2,7 +2,7 @@
    71.4   *
    71.5   * This file is a part of LEMON, a generic C++ optimization library.
    71.6   *
    71.7 - * Copyright (C) 2003-2009
    71.8 + * Copyright (C) 2003-2010
    71.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   71.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   71.11   *
   71.12 @@ -29,12 +29,12 @@
   71.13  {
   71.14    typedef ListDigraph Digraph;
   71.15    typedef Undirector<Digraph> Graph;
   71.16 -  
   71.17 +
   71.18    {
   71.19      Digraph d;
   71.20      Digraph::NodeMap<int> order(d);
   71.21      Graph g(d);
   71.22 -    
   71.23 +
   71.24      check(stronglyConnected(d), "The empty digraph is strongly connected");
   71.25      check(countStronglyConnectedComponents(d) == 0,
   71.26            "The empty digraph has 0 strongly connected component");
   71.27 @@ -48,7 +48,7 @@
   71.28      check(biEdgeConnected(g), "The empty graph is bi-edge-connected");
   71.29      check(countBiEdgeConnectedComponents(g) == 0,
   71.30            "The empty graph has 0 bi-edge-connected component");
   71.31 -          
   71.32 +
   71.33      check(dag(d), "The empty digraph is DAG.");
   71.34      check(checkedTopologicalSort(d, order), "The empty digraph is DAG.");
   71.35      check(loopFree(d), "The empty digraph is loop-free.");
   71.36 @@ -82,7 +82,7 @@
   71.37      check(biEdgeConnected(g), "This graph is bi-edge-connected");
   71.38      check(countBiEdgeConnectedComponents(g) == 1,
   71.39            "This graph has 1 bi-edge-connected component");
   71.40 -          
   71.41 +
   71.42      check(dag(d), "This digraph is DAG.");
   71.43      check(checkedTopologicalSort(d, order), "This digraph is DAG.");
   71.44      check(loopFree(d), "This digraph is loop-free.");
   71.45 @@ -101,14 +101,14 @@
   71.46      Digraph d;
   71.47      Digraph::NodeMap<int> order(d);
   71.48      Graph g(d);
   71.49 -    
   71.50 +
   71.51      Digraph::Node n1 = d.addNode();
   71.52      Digraph::Node n2 = d.addNode();
   71.53      Digraph::Node n3 = d.addNode();
   71.54      Digraph::Node n4 = d.addNode();
   71.55      Digraph::Node n5 = d.addNode();
   71.56      Digraph::Node n6 = d.addNode();
   71.57 -    
   71.58 +
   71.59      d.addArc(n1, n3);
   71.60      d.addArc(n3, n2);
   71.61      d.addArc(n2, n1);
   71.62 @@ -136,23 +136,23 @@
   71.63      check(loopFree(g), "This graph is loop-free.");
   71.64      check(!parallelFree(g), "This graph is not parallel-free.");
   71.65      check(!simpleGraph(g), "This graph is not simple.");
   71.66 -    
   71.67 +
   71.68      d.addArc(n3, n3);
   71.69 -    
   71.70 +
   71.71      check(!loopFree(d), "This digraph is not loop-free.");
   71.72      check(!loopFree(g), "This graph is not loop-free.");
   71.73      check(!simpleGraph(d), "This digraph is not simple.");
   71.74 -    
   71.75 +
   71.76      d.addArc(n3, n2);
   71.77 -    
   71.78 +
   71.79      check(!parallelFree(d), "This digraph is not parallel-free.");
   71.80    }
   71.81 -  
   71.82 +
   71.83    {
   71.84      Digraph d;
   71.85      Digraph::ArcMap<bool> cutarcs(d, false);
   71.86      Graph g(d);
   71.87 -    
   71.88 +
   71.89      Digraph::Node n1 = d.addNode();
   71.90      Digraph::Node n2 = d.addNode();
   71.91      Digraph::Node n3 = d.addNode();
   71.92 @@ -172,7 +172,7 @@
   71.93      d.addArc(n1, n8);
   71.94      d.addArc(n6, n7);
   71.95      d.addArc(n7, n6);
   71.96 -   
   71.97 +
   71.98      check(!stronglyConnected(d), "This digraph is not strongly connected");
   71.99      check(countStronglyConnectedComponents(d) == 3,
  71.100            "This digraph has 3 strongly connected components");
  71.101 @@ -235,7 +235,7 @@
  71.102      // (T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein)
  71.103      Digraph d;
  71.104      Digraph::NodeMap<int> order(d);
  71.105 -    
  71.106 +
  71.107      Digraph::Node belt = d.addNode();
  71.108      Digraph::Node trousers = d.addNode();
  71.109      Digraph::Node necktie = d.addNode();
  71.110 @@ -255,7 +255,7 @@
  71.111      d.addArc(shirt, belt);
  71.112      d.addArc(shirt, necktie);
  71.113      d.addArc(necktie, coat);
  71.114 -    
  71.115 +
  71.116      check(dag(d), "This digraph is DAG.");
  71.117      topologicalSort(d, order);
  71.118      for (Digraph::ArcIt a(d); a != INVALID; ++a) {
  71.119 @@ -267,7 +267,7 @@
  71.120    {
  71.121      ListGraph g;
  71.122      ListGraph::NodeMap<bool> map(g);
  71.123 -    
  71.124 +
  71.125      ListGraph::Node n1 = g.addNode();
  71.126      ListGraph::Node n2 = g.addNode();
  71.127      ListGraph::Node n3 = g.addNode();
  71.128 @@ -283,10 +283,10 @@
  71.129      g.addEdge(n4, n6);
  71.130      g.addEdge(n4, n7);
  71.131      g.addEdge(n5, n7);
  71.132 -   
  71.133 +
  71.134      check(bipartite(g), "This graph is bipartite");
  71.135      check(bipartitePartitions(g, map), "This graph is bipartite");
  71.136 -    
  71.137 +
  71.138      check(map[n1] == map[n2] && map[n1] == map[n6] && map[n1] == map[n7],
  71.139            "Wrong bipartitePartitions()");
  71.140      check(map[n3] == map[n4] && map[n3] == map[n5],
    72.1 --- a/test/dfs_test.cc	Wed Mar 17 12:35:52 2010 +0100
    72.2 +++ b/test/dfs_test.cc	Sat Mar 06 14:35:12 2010 +0000
    72.3 @@ -2,7 +2,7 @@
    72.4   *
    72.5   * This file is a part of LEMON, a generic C++ optimization library.
    72.6   *
    72.7 - * Copyright (C) 2003-2009
    72.8 + * Copyright (C) 2003-2010
    72.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   72.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   72.11   *
   72.12 @@ -83,7 +83,7 @@
   72.13      e = const_dfs_test.nextArc();
   72.14      b = const_dfs_test.emptyQueue();
   72.15      i = const_dfs_test.queueSize();
   72.16 -    
   72.17 +
   72.18      dfs_test.start();
   72.19      dfs_test.start(t);
   72.20      dfs_test.start(am);
   72.21 @@ -109,7 +109,7 @@
   72.22      concepts::ReadWriteMap<Node,int> dist_map;
   72.23      concepts::ReadWriteMap<Node,bool> reached_map;
   72.24      concepts::WriteMap<Node,bool> processed_map;
   72.25 -    
   72.26 +
   72.27      dfs_test
   72.28        .predMap(pred_map)
   72.29        .distMap(dist_map)
   72.30 @@ -126,7 +126,7 @@
   72.31      e = dfs_test.nextArc();
   72.32      b = dfs_test.emptyQueue();
   72.33      i = dfs_test.queueSize();
   72.34 -    
   72.35 +
   72.36      dfs_test.start();
   72.37      dfs_test.start(t);
   72.38      dfs_test.start(am);
    73.1 --- a/test/digraph_test.cc	Wed Mar 17 12:35:52 2010 +0100
    73.2 +++ b/test/digraph_test.cc	Sat Mar 06 14:35:12 2010 +0000
    73.3 @@ -2,7 +2,7 @@
    73.4   *
    73.5   * This file is a part of LEMON, a generic C++ optimization library.
    73.6   *
    73.7 - * Copyright (C) 2003-2009
    73.8 + * Copyright (C) 2003-2010
    73.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   73.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   73.11   *
   73.12 @@ -392,9 +392,9 @@
   73.13    SmartDigraph g;
   73.14    SmartDigraph::NodeMap<StaticDigraph::Node> nref(g);
   73.15    SmartDigraph::ArcMap<StaticDigraph::Arc> aref(g);
   73.16 -  
   73.17 +
   73.18    StaticDigraph G;
   73.19 -  
   73.20 +
   73.21    checkGraphNodeList(G, 0);
   73.22    checkGraphArcList(G, 0);
   73.23  
   73.24 @@ -464,7 +464,7 @@
   73.25    arcs.push_back(std::make_pair(4,1));
   73.26  
   73.27    G.build(6, arcs.begin(), arcs.end());
   73.28 -  
   73.29 +
   73.30    checkGraphNodeList(G, 6);
   73.31    checkGraphArcList(G, 9);
   73.32  
   73.33 @@ -488,7 +488,7 @@
   73.34    checkArcIds(G);
   73.35    checkGraphNodeMap(G);
   73.36    checkGraphArcMap(G);
   73.37 -  
   73.38 +
   73.39    int n = G.nodeNum();
   73.40    int m = G.arcNum();
   73.41    check(G.index(G.node(n-1)) == n-1, "Wrong index.");
    74.1 --- a/test/dijkstra_test.cc	Wed Mar 17 12:35:52 2010 +0100
    74.2 +++ b/test/dijkstra_test.cc	Sat Mar 06 14:35:12 2010 +0000
    74.3 @@ -2,7 +2,7 @@
    74.4   *
    74.5   * This file is a part of LEMON, a generic C++ optimization library.
    74.6   *
    74.7 - * Copyright (C) 2003-2009
    74.8 + * Copyright (C) 2003-2010
    74.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   74.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   74.11   *
   74.12 @@ -85,7 +85,7 @@
   74.13      n = const_dijkstra_test.nextNode();
   74.14      b = const_dijkstra_test.emptyQueue();
   74.15      i = const_dijkstra_test.queueSize();
   74.16 -    
   74.17 +
   74.18      dijkstra_test.start();
   74.19      dijkstra_test.start(t);
   74.20      dijkstra_test.start(nm);
   74.21 @@ -109,7 +109,7 @@
   74.22        ::SetOperationTraits<DijkstraDefaultOperationTraits<VType> >
   74.23        ::SetHeap<BinHeap<VType, concepts::ReadWriteMap<Node,int> > >
   74.24        ::SetStandardHeap<BinHeap<VType, concepts::ReadWriteMap<Node,int> > >
   74.25 -      ::SetHeap<BinHeap<VType, concepts::ReadWriteMap<Node,int> >, 
   74.26 +      ::SetHeap<BinHeap<VType, concepts::ReadWriteMap<Node,int> >,
   74.27                  concepts::ReadWriteMap<Node,int> >
   74.28        ::Create dijkstra_test(G,length);
   74.29  
   74.30 @@ -119,7 +119,7 @@
   74.31      concepts::WriteMap<Node,bool> processed_map;
   74.32      concepts::ReadWriteMap<Node,int> heap_cross_ref;
   74.33      BinHeap<VType, concepts::ReadWriteMap<Node,int> > heap(heap_cross_ref);
   74.34 -    
   74.35 +
   74.36      dijkstra_test
   74.37        .lengthMap(length_map)
   74.38        .predMap(pred_map)
   74.39 @@ -136,7 +136,7 @@
   74.40      n = dijkstra_test.nextNode();
   74.41      b = dijkstra_test.emptyQueue();
   74.42      i = dijkstra_test.queueSize();
   74.43 -    
   74.44 +
   74.45      dijkstra_test.start();
   74.46      dijkstra_test.start(t);
   74.47      dijkstra_test.start(nm);
    75.1 --- a/test/edge_set_test.cc	Wed Mar 17 12:35:52 2010 +0100
    75.2 +++ b/test/edge_set_test.cc	Sat Mar 06 14:35:12 2010 +0000
    75.3 @@ -2,7 +2,7 @@
    75.4   *
    75.5   * This file is a part of LEMON, a generic C++ optimization library.
    75.6   *
    75.7 - * Copyright (C) 2003-2008
    75.8 + * Copyright (C) 2003-2010
    75.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   75.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   75.11   *
    76.1 --- a/test/euler_test.cc	Wed Mar 17 12:35:52 2010 +0100
    76.2 +++ b/test/euler_test.cc	Sat Mar 06 14:35:12 2010 +0000
    76.3 @@ -2,7 +2,7 @@
    76.4   *
    76.5   * This file is a part of LEMON, a generic C++ optimization library.
    76.6   *
    76.7 - * Copyright (C) 2003-2009
    76.8 + * Copyright (C) 2003-2010
    76.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   76.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   76.11   *
   76.12 @@ -85,11 +85,11 @@
   76.13  {
   76.14    typedef ListDigraph Digraph;
   76.15    typedef Undirector<Digraph> Graph;
   76.16 -  
   76.17 +
   76.18    {
   76.19      Digraph d;
   76.20      Graph g(d);
   76.21 -    
   76.22 +
   76.23      checkDiEulerIt(d);
   76.24      checkDiEulerIt(g);
   76.25      checkEulerIt(g);
   76.26 @@ -128,7 +128,7 @@
   76.27      Digraph::Node n1 = d.addNode();
   76.28      Digraph::Node n2 = d.addNode();
   76.29      Digraph::Node n3 = d.addNode();
   76.30 -    
   76.31 +
   76.32      d.addArc(n1, n2);
   76.33      d.addArc(n2, n1);
   76.34      d.addArc(n2, n3);
   76.35 @@ -153,7 +153,7 @@
   76.36      Digraph::Node n4 = d.addNode();
   76.37      Digraph::Node n5 = d.addNode();
   76.38      Digraph::Node n6 = d.addNode();
   76.39 -    
   76.40 +
   76.41      d.addArc(n1, n2);
   76.42      d.addArc(n2, n4);
   76.43      d.addArc(n1, n3);
   76.44 @@ -189,7 +189,7 @@
   76.45      Digraph::Node n3 = d.addNode();
   76.46      Digraph::Node n4 = d.addNode();
   76.47      Digraph::Node n5 = d.addNode();
   76.48 -    
   76.49 +
   76.50      d.addArc(n1, n2);
   76.51      d.addArc(n2, n3);
   76.52      d.addArc(n3, n1);
   76.53 @@ -211,7 +211,7 @@
   76.54      Digraph::Node n1 = d.addNode();
   76.55      Digraph::Node n2 = d.addNode();
   76.56      Digraph::Node n3 = d.addNode();
   76.57 -    
   76.58 +
   76.59      d.addArc(n1, n2);
   76.60      d.addArc(n2, n3);
   76.61  
    77.1 --- a/test/fractional_matching_test.cc	Wed Mar 17 12:35:52 2010 +0100
    77.2 +++ b/test/fractional_matching_test.cc	Sat Mar 06 14:35:12 2010 +0000
    77.3 @@ -2,7 +2,7 @@
    77.4   *
    77.5   * This file is a part of LEMON, a generic C++ optimization library.
    77.6   *
    77.7 - * Copyright (C) 2003-2009
    77.8 + * Copyright (C) 2003-2010
    77.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   77.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   77.11   *
   77.12 @@ -238,7 +238,7 @@
   77.13  
   77.14    for (SmartGraph::EdgeIt e(graph); e != INVALID; ++e) {
   77.15      check((e == mfm.matching(graph.u(e)) ? 1 : 0) +
   77.16 -          (e == mfm.matching(graph.v(e)) ? 1 : 0) == 
   77.17 +          (e == mfm.matching(graph.v(e)) ? 1 : 0) ==
   77.18            mfm.matching(e), "Invalid matching");
   77.19    }
   77.20  
   77.21 @@ -292,7 +292,7 @@
   77.22      }
   77.23      for (SmartGraph::EdgeIt e(graph); e != INVALID; ++e) {
   77.24        check((e == mfm.matching(graph.u(e)) ? 1 : 0) +
   77.25 -            (e == mfm.matching(graph.v(e)) ? 1 : 0) == 
   77.26 +            (e == mfm.matching(graph.v(e)) ? 1 : 0) ==
   77.27              mfm.matching(e), "Invalid matching");
   77.28      }
   77.29    } else {
   77.30 @@ -350,7 +350,7 @@
   77.31  
   77.32    for (SmartGraph::EdgeIt e(graph); e != INVALID; ++e) {
   77.33      check((e == mwfm.matching(graph.u(e)) ? 1 : 0) +
   77.34 -          (e == mwfm.matching(graph.v(e)) ? 1 : 0) == 
   77.35 +          (e == mwfm.matching(graph.v(e)) ? 1 : 0) ==
   77.36            mwfm.matching(e), "Invalid matching");
   77.37    }
   77.38  
   77.39 @@ -410,7 +410,7 @@
   77.40  
   77.41    for (SmartGraph::EdgeIt e(graph); e != INVALID; ++e) {
   77.42      check((e == mwpfm.matching(graph.u(e)) ? 1 : 0) +
   77.43 -          (e == mwpfm.matching(graph.v(e)) ? 1 : 0) == 
   77.44 +          (e == mwpfm.matching(graph.v(e)) ? 1 : 0) ==
   77.45            mwpfm.matching(e), "Invalid matching");
   77.46    }
   77.47  
    78.1 --- a/test/gomory_hu_test.cc	Wed Mar 17 12:35:52 2010 +0100
    78.2 +++ b/test/gomory_hu_test.cc	Sat Mar 06 14:35:12 2010 +0000
    78.3 @@ -1,3 +1,21 @@
    78.4 +/* -*- mode: C++; indent-tabs-mode: nil; -*-
    78.5 + *
    78.6 + * This file is a part of LEMON, a generic C++ optimization library.
    78.7 + *
    78.8 + * Copyright (C) 2003-2010
    78.9 + * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   78.10 + * (Egervary Research Group on Combinatorial Optimization, EGRES).
   78.11 + *
   78.12 + * Permission to use, modify and distribute this software is granted
   78.13 + * provided that this copyright notice appears in all copies. For
   78.14 + * precise terms see the accompanying LICENSE file.
   78.15 + *
   78.16 + * This software is provided "AS IS" with no warranty of any kind,
   78.17 + * express or implied, and with no claim as to its suitability for any
   78.18 + * purpose.
   78.19 + *
   78.20 + */
   78.21 +
   78.22  #include <iostream>
   78.23  
   78.24  #include "test_tools.h"
   78.25 @@ -33,7 +51,7 @@
   78.26    "@attributes\n"
   78.27    "source 0\n"
   78.28    "target 3\n";
   78.29 -  
   78.30 +
   78.31  void checkGomoryHuCompile()
   78.32  {
   78.33    typedef int Value;
   78.34 @@ -69,7 +87,7 @@
   78.35  typedef Graph::NodeMap<bool> BoolNodeMap;
   78.36  
   78.37  int cutValue(const Graph& graph, const BoolNodeMap& cut,
   78.38 -	     const IntEdgeMap& capacity) {
   78.39 +             const IntEdgeMap& capacity) {
   78.40  
   78.41    int sum = 0;
   78.42    for (EdgeIt e(graph); e != INVALID; ++e) {
   78.43 @@ -107,7 +125,7 @@
   78.44  
   78.45        int sum=0;
   78.46        for(GomoryHu<Graph>::MinCutEdgeIt a(ght, u, v);a!=INVALID;++a)
   78.47 -        sum+=capacity[a]; 
   78.48 +        sum+=capacity[a];
   78.49        check(sum == ght.minCutValue(u, v), "Problem with MinCutEdgeIt");
   78.50  
   78.51        sum=0;
   78.52 @@ -118,6 +136,6 @@
   78.53        check(sum == countNodes(graph), "Problem with MinCutNodeIt");
   78.54      }
   78.55    }
   78.56 -  
   78.57 +
   78.58    return 0;
   78.59  }
    79.1 --- a/test/graph_test.cc	Wed Mar 17 12:35:52 2010 +0100
    79.2 +++ b/test/graph_test.cc	Sat Mar 06 14:35:12 2010 +0000
    79.3 @@ -2,7 +2,7 @@
    79.4   *
    79.5   * This file is a part of LEMON, a generic C++ optimization library.
    79.6   *
    79.7 - * Copyright (C) 2003-2009
    79.8 + * Copyright (C) 2003-2010
    79.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   79.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   79.11   *
   79.12 @@ -264,7 +264,7 @@
   79.13    checkGraphNodeList(G, 4);
   79.14    checkGraphEdgeList(G, 3);
   79.15    checkGraphArcList(G, 6);
   79.16 -  
   79.17 +
   79.18    G.addEdge(G.addNode(), G.addNode());
   79.19  
   79.20    snapshot.restore();
   79.21 @@ -513,7 +513,7 @@
   79.22  
   79.23    G.resize(dim);
   79.24    check(G.dimension() == dim, "Wrong dimension");
   79.25 -  
   79.26 +
   79.27    checkGraphNodeList(G, 1 << dim);
   79.28    checkGraphEdgeList(G, dim * (1 << (dim-1)));
   79.29    checkGraphArcList(G, dim * (1 << dim));
    80.1 --- a/test/hao_orlin_test.cc	Wed Mar 17 12:35:52 2010 +0100
    80.2 +++ b/test/hao_orlin_test.cc	Sat Mar 06 14:35:12 2010 +0000
    80.3 @@ -2,7 +2,7 @@
    80.4   *
    80.5   * This file is a part of LEMON, a generic C++ optimization library.
    80.6   *
    80.7 - * Copyright (C) 2003-2009
    80.8 + * Copyright (C) 2003-2010
    80.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   80.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   80.11   *
   80.12 @@ -83,7 +83,7 @@
   80.13  }
   80.14  
   80.15  template <typename Graph, typename CapMap, typename CutMap>
   80.16 -typename CapMap::Value 
   80.17 +typename CapMap::Value
   80.18    cutValue(const Graph& graph, const CapMap& cap, const CutMap& cut)
   80.19  {
   80.20    typename CapMap::Value sum = 0;
   80.21 @@ -110,7 +110,7 @@
   80.22      HaoOrlin<SmartDigraph> ho(graph, cap1);
   80.23      ho.run();
   80.24      ho.minCutMap(cut);
   80.25 -    
   80.26 +
   80.27      check(ho.minCutValue() == 1, "Wrong cut value");
   80.28      check(ho.minCutValue() == cutValue(graph, cap1, cut), "Wrong cut value");
   80.29    }
   80.30 @@ -126,19 +126,19 @@
   80.31      HaoOrlin<SmartDigraph> ho(graph, cap3);
   80.32      ho.run();
   80.33      ho.minCutMap(cut);
   80.34 -    
   80.35 +
   80.36      check(ho.minCutValue() == 1, "Wrong cut value");
   80.37      check(ho.minCutValue() == cutValue(graph, cap3, cut), "Wrong cut value");
   80.38    }
   80.39 -  
   80.40 +
   80.41    typedef Undirector<SmartDigraph> UGraph;
   80.42    UGraph ugraph(graph);
   80.43 -  
   80.44 +
   80.45    {
   80.46      HaoOrlin<UGraph, SmartDigraph::ArcMap<int> > ho(ugraph, cap1);
   80.47      ho.run();
   80.48      ho.minCutMap(cut);
   80.49 -    
   80.50 +
   80.51      check(ho.minCutValue() == 2, "Wrong cut value");
   80.52      check(ho.minCutValue() == cutValue(ugraph, cap1, cut), "Wrong cut value");
   80.53    }
   80.54 @@ -146,7 +146,7 @@
   80.55      HaoOrlin<UGraph, SmartDigraph::ArcMap<int> > ho(ugraph, cap2);
   80.56      ho.run();
   80.57      ho.minCutMap(cut);
   80.58 -    
   80.59 +
   80.60      check(ho.minCutValue() == 5, "Wrong cut value");
   80.61      check(ho.minCutValue() == cutValue(ugraph, cap2, cut), "Wrong cut value");
   80.62    }
   80.63 @@ -154,7 +154,7 @@
   80.64      HaoOrlin<UGraph, SmartDigraph::ArcMap<int> > ho(ugraph, cap3);
   80.65      ho.run();
   80.66      ho.minCutMap(cut);
   80.67 -    
   80.68 +
   80.69      check(ho.minCutValue() == 5, "Wrong cut value");
   80.70      check(ho.minCutValue() == cutValue(ugraph, cap3, cut), "Wrong cut value");
   80.71    }
    81.1 --- a/test/maps_test.cc	Wed Mar 17 12:35:52 2010 +0100
    81.2 +++ b/test/maps_test.cc	Sat Mar 06 14:35:12 2010 +0000
    81.3 @@ -2,7 +2,7 @@
    81.4   *
    81.5   * This file is a part of LEMON, a generic C++ optimization library.
    81.6   *
    81.7 - * Copyright (C) 2003-2009
    81.8 + * Copyright (C) 2003-2010
    81.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   81.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   81.11   *
   81.12 @@ -225,7 +225,8 @@
   81.13      B b = functorToMap(F())[A()];
   81.14  
   81.15      checkConcept<ReadMap<A,B>, MapToFunctor<ReadMap<A,B> > >();
   81.16 -    MapToFunctor<ReadMap<A,B> > map = MapToFunctor<ReadMap<A,B> >(ReadMap<A,B>());
   81.17 +    MapToFunctor<ReadMap<A,B> > map =
   81.18 +      MapToFunctor<ReadMap<A,B> >(ReadMap<A,B>());
   81.19  
   81.20      check(functorToMap(&func)[A()] == 3,
   81.21            "Something is wrong with FunctorToMap");
   81.22 @@ -377,7 +378,7 @@
   81.23      for ( LoggerBoolMap<vec::iterator>::Iterator it = map2.begin();
   81.24            it != map2.end(); ++it )
   81.25        check(v1[i++] == *it, "Something is wrong with LoggerBoolMap");
   81.26 -    
   81.27 +
   81.28      typedef ListDigraph Graph;
   81.29      DIGRAPH_TYPEDEFS(Graph);
   81.30      Graph gr;
   81.31 @@ -386,13 +387,13 @@
   81.32      Node n1 = gr.addNode();
   81.33      Node n2 = gr.addNode();
   81.34      Node n3 = gr.addNode();
   81.35 -    
   81.36 +
   81.37      gr.addArc(n3, n0);
   81.38      gr.addArc(n3, n2);
   81.39      gr.addArc(n0, n2);
   81.40      gr.addArc(n2, n1);
   81.41      gr.addArc(n0, n1);
   81.42 -    
   81.43 +
   81.44      {
   81.45        std::vector<Node> v;
   81.46        dfs(gr).processedMap(loggerBoolMap(std::back_inserter(v))).run();
   81.47 @@ -403,12 +404,12 @@
   81.48      {
   81.49        std::vector<Node> v(countNodes(gr));
   81.50        dfs(gr).processedMap(loggerBoolMap(v.begin())).run();
   81.51 -      
   81.52 +
   81.53        check(v.size()==4 && v[0]==n1 && v[1]==n2 && v[2]==n0 && v[3]==n3,
   81.54              "Something is wrong with LoggerBoolMap");
   81.55      }
   81.56    }
   81.57 -  
   81.58 +
   81.59    // IdMap, RangeIdMap
   81.60    {
   81.61      typedef ListDigraph Graph;
   81.62 @@ -418,22 +419,22 @@
   81.63      checkConcept<ReadMap<Arc, int>, IdMap<Graph, Arc> >();
   81.64      checkConcept<ReadMap<Node, int>, RangeIdMap<Graph, Node> >();
   81.65      checkConcept<ReadMap<Arc, int>, RangeIdMap<Graph, Arc> >();
   81.66 -    
   81.67 +
   81.68      Graph gr;
   81.69      IdMap<Graph, Node> nmap(gr);
   81.70      IdMap<Graph, Arc> amap(gr);
   81.71      RangeIdMap<Graph, Node> nrmap(gr);
   81.72      RangeIdMap<Graph, Arc> armap(gr);
   81.73 -    
   81.74 +
   81.75      Node n0 = gr.addNode();
   81.76      Node n1 = gr.addNode();
   81.77      Node n2 = gr.addNode();
   81.78 -    
   81.79 +
   81.80      Arc a0 = gr.addArc(n0, n1);
   81.81      Arc a1 = gr.addArc(n0, n2);
   81.82      Arc a2 = gr.addArc(n2, n1);
   81.83      Arc a3 = gr.addArc(n2, n0);
   81.84 -    
   81.85 +
   81.86      check(nmap[n0] == gr.id(n0) && nmap(gr.id(n0)) == n0, "Wrong IdMap");
   81.87      check(nmap[n1] == gr.id(n1) && nmap(gr.id(n1)) == n1, "Wrong IdMap");
   81.88      check(nmap[n2] == gr.id(n2) && nmap(gr.id(n2)) == n2, "Wrong IdMap");
   81.89 @@ -445,14 +446,14 @@
   81.90  
   81.91      check(nmap.inverse()[gr.id(n0)] == n0, "Wrong IdMap::InverseMap");
   81.92      check(amap.inverse()[gr.id(a0)] == a0, "Wrong IdMap::InverseMap");
   81.93 -    
   81.94 +
   81.95      check(nrmap.size() == 3 && armap.size() == 4,
   81.96            "Wrong RangeIdMap::size()");
   81.97  
   81.98      check(nrmap[n0] == 0 && nrmap(0) == n0, "Wrong RangeIdMap");
   81.99      check(nrmap[n1] == 1 && nrmap(1) == n1, "Wrong RangeIdMap");
  81.100      check(nrmap[n2] == 2 && nrmap(2) == n2, "Wrong RangeIdMap");
  81.101 -    
  81.102 +
  81.103      check(armap[a0] == 0 && armap(0) == a0, "Wrong RangeIdMap");
  81.104      check(armap[a1] == 1 && armap(1) == a1, "Wrong RangeIdMap");
  81.105      check(armap[a2] == 2 && armap(2) == a2, "Wrong RangeIdMap");
  81.106 @@ -460,32 +461,32 @@
  81.107  
  81.108      check(nrmap.inverse()[0] == n0, "Wrong RangeIdMap::InverseMap");
  81.109      check(armap.inverse()[0] == a0, "Wrong RangeIdMap::InverseMap");
  81.110 -    
  81.111 +
  81.112      gr.erase(n1);
  81.113 -    
  81.114 +
  81.115      if (nrmap[n0] == 1) nrmap.swap(n0, n2);
  81.116      nrmap.swap(n2, n0);
  81.117      if (armap[a1] == 1) armap.swap(a1, a3);
  81.118      armap.swap(a3, a1);
  81.119 -    
  81.120 +
  81.121      check(nrmap.size() == 2 && armap.size() == 2,
  81.122            "Wrong RangeIdMap::size()");
  81.123  
  81.124      check(nrmap[n0] == 1 && nrmap(1) == n0, "Wrong RangeIdMap");
  81.125      check(nrmap[n2] == 0 && nrmap(0) == n2, "Wrong RangeIdMap");
  81.126 -    
  81.127 +
  81.128      check(armap[a1] == 1 && armap(1) == a1, "Wrong RangeIdMap");
  81.129      check(armap[a3] == 0 && armap(0) == a3, "Wrong RangeIdMap");
  81.130  
  81.131      check(nrmap.inverse()[0] == n2, "Wrong RangeIdMap::InverseMap");
  81.132      check(armap.inverse()[0] == a3, "Wrong RangeIdMap::InverseMap");
  81.133    }
  81.134 -  
  81.135 +
  81.136    // SourceMap, TargetMap, ForwardMap, BackwardMap, InDegMap, OutDegMap
  81.137    {
  81.138      typedef ListGraph Graph;
  81.139      GRAPH_TYPEDEFS(Graph);
  81.140 -    
  81.141 +
  81.142      checkConcept<ReadMap<Arc, Node>, SourceMap<Graph> >();
  81.143      checkConcept<ReadMap<Arc, Node>, TargetMap<Graph> >();
  81.144      checkConcept<ReadMap<Edge, Arc>, ForwardMap<Graph> >();
  81.145 @@ -497,19 +498,19 @@
  81.146      Node n0 = gr.addNode();
  81.147      Node n1 = gr.addNode();
  81.148      Node n2 = gr.addNode();
  81.149 -    
  81.150 +
  81.151      gr.addEdge(n0,n1);
  81.152      gr.addEdge(n1,n2);
  81.153      gr.addEdge(n0,n2);
  81.154      gr.addEdge(n2,n1);
  81.155      gr.addEdge(n1,n2);
  81.156      gr.addEdge(n0,n1);
  81.157 -    
  81.158 +
  81.159      for (EdgeIt e(gr); e != INVALID; ++e) {
  81.160        check(forwardMap(gr)[e] == gr.direct(e, true), "Wrong ForwardMap");
  81.161        check(backwardMap(gr)[e] == gr.direct(e, false), "Wrong BackwardMap");
  81.162      }
  81.163 -    
  81.164 +
  81.165      check(mapCompare(gr,
  81.166            sourceMap(orienter(gr, constMap<Edge, bool>(true))),
  81.167            targetMap(orienter(gr, constMap<Edge, bool>(false)))),
  81.168 @@ -519,16 +520,16 @@
  81.169      Digraph dgr(gr, constMap<Edge, bool>(true));
  81.170      OutDegMap<Digraph> odm(dgr);
  81.171      InDegMap<Digraph> idm(dgr);
  81.172 -    
  81.173 +
  81.174      check(odm[n0] == 3 && odm[n1] == 2 && odm[n2] == 1, "Wrong OutDegMap");
  81.175      check(idm[n0] == 0 && idm[n1] == 3 && idm[n2] == 3, "Wrong InDegMap");
  81.176 -   
  81.177 +
  81.178      gr.addEdge(n2, n0);
  81.179  
  81.180      check(odm[n0] == 3 && odm[n1] == 2 && odm[n2] == 2, "Wrong OutDegMap");
  81.181      check(idm[n0] == 1 && idm[n1] == 3 && idm[n2] == 3, "Wrong InDegMap");
  81.182    }
  81.183 -  
  81.184 +
  81.185    // CrossRefMap
  81.186    {
  81.187      typedef ListDigraph Graph;
  81.188 @@ -540,19 +541,19 @@
  81.189                   CrossRefMap<Graph, Node, bool> >();
  81.190      checkConcept<ReadWriteMap<Node, double>,
  81.191                   CrossRefMap<Graph, Node, double> >();
  81.192 -    
  81.193 +
  81.194      Graph gr;
  81.195      typedef CrossRefMap<Graph, Node, char> CRMap;
  81.196      CRMap map(gr);
  81.197 -    
  81.198 +
  81.199      Node n0 = gr.addNode();
  81.200      Node n1 = gr.addNode();
  81.201      Node n2 = gr.addNode();
  81.202 -    
  81.203 +
  81.204      map.set(n0, 'A');
  81.205      map.set(n1, 'B');
  81.206      map.set(n2, 'C');
  81.207 -    
  81.208 +
  81.209      check(map[n0] == 'A' && map('A') == n0 && map.inverse()['A'] == n0,
  81.210            "Wrong CrossRefMap");
  81.211      check(map[n1] == 'B' && map('B') == n1 && map.inverse()['B'] == n1,
  81.212 @@ -561,11 +562,11 @@
  81.213            "Wrong CrossRefMap");
  81.214      check(map.count('A') == 1 && map.count('B') == 1 && map.count('C') == 1,
  81.215            "Wrong CrossRefMap::count()");
  81.216 -    
  81.217 +
  81.218      CRMap::ValueIt it = map.beginValue();
  81.219      check(*it++ == 'A' && *it++ == 'B' && *it++ == 'C' &&
  81.220            it == map.endValue(), "Wrong value iterator");
  81.221 -    
  81.222 +
  81.223      map.set(n2, 'A');
  81.224  
  81.225      check(map[n0] == 'A' && map[n1] == 'B' && map[n2] == 'A',
  81.226 @@ -603,16 +604,16 @@
  81.227  
  81.228      checkConcept<ReadWriteMap<Node, int>,
  81.229                   CrossRefMap<Graph, Node, int> >();
  81.230 -    
  81.231 +
  81.232      Graph gr;
  81.233      typedef CrossRefMap<Graph, Node, char> CRMap;
  81.234      typedef CRMap::ValueIterator ValueIt;
  81.235      CRMap map(gr);
  81.236 -    
  81.237 +
  81.238      Node n0 = gr.addNode();
  81.239      Node n1 = gr.addNode();
  81.240      Node n2 = gr.addNode();
  81.241 -    
  81.242 +
  81.243      map.set(n0, 'A');
  81.244      map.set(n1, 'B');
  81.245      map.set(n2, 'C');
  81.246 @@ -629,7 +630,7 @@
  81.247      check(*it++ == 'A' && *it++ == 'B' && *it++ == 'C' &&
  81.248            it == map.endValue(), "Wrong value iterator");
  81.249    }
  81.250 -  
  81.251 +
  81.252    // Iterable bool map
  81.253    {
  81.254      typedef SmartGraph Graph;
  81.255 @@ -817,7 +818,7 @@
  81.256      check(n == num, "Wrong number");
  81.257  
  81.258    }
  81.259 -  
  81.260 +
  81.261    // Graph map utilities:
  81.262    // mapMin(), mapMax(), mapMinValue(), mapMaxValue()
  81.263    // mapFind(), mapFindIf(), mapCount(), mapCountIf()
  81.264 @@ -829,16 +830,16 @@
  81.265      Node n1 = g.addNode();
  81.266      Node n2 = g.addNode();
  81.267      Node n3 = g.addNode();
  81.268 -    
  81.269 +
  81.270      SmartDigraph::NodeMap<int> map1(g);
  81.271      SmartDigraph::ArcMap<char> map2(g);
  81.272      ConstMap<Node, A> cmap1 = A();
  81.273      ConstMap<Arc, C> cmap2 = C(0);
  81.274 -    
  81.275 +
  81.276      map1[n1] = 10;
  81.277      map1[n2] = 5;
  81.278      map1[n3] = 12;
  81.279 -    
  81.280 +
  81.281      // mapMin(), mapMax(), mapMinValue(), mapMaxValue()
  81.282      check(mapMin(g, map1) == n2, "Wrong mapMin()");
  81.283      check(mapMax(g, map1) == n3, "Wrong mapMax()");
  81.284 @@ -857,7 +858,7 @@
  81.285      Arc a2 = g.addArc(n1, n3);
  81.286      Arc a3 = g.addArc(n2, n3);
  81.287      Arc a4 = g.addArc(n3, n1);
  81.288 -    
  81.289 +
  81.290      map2[a1] = 'b';
  81.291      map2[a2] = 'a';
  81.292      map2[a3] = 'b';
  81.293 @@ -924,7 +925,7 @@
  81.294            "Wrong mapCountIf()");
  81.295      check(mapCountIf(g, map2, Less<char>('a')) == 0,
  81.296            "Wrong mapCountIf()");
  81.297 -     
  81.298 +
  81.299      // MapIt, ConstMapIt
  81.300  /*
  81.301  These tests can be used after applying bugfix #330
  81.302 @@ -934,7 +935,7 @@
  81.303            "Wrong NodeMap<>::MapIt");
  81.304      check(*std::max_element(ConstMapIt(map1), ConstMapIt(INVALID)) == 12,
  81.305            "Wrong NodeMap<>::MapIt");
  81.306 -    
  81.307 +
  81.308      int sum = 0;
  81.309      std::for_each(MapIt(map1), MapIt(INVALID), Sum<int>(sum));
  81.310      check(sum == 27, "Wrong NodeMap<>::MapIt");
  81.311 @@ -951,41 +952,41 @@
  81.312  
  81.313      SmartDigraph::NodeMap<int> map3(g, 0);
  81.314      SmartDigraph::ArcMap<char> map4(g, 'a');
  81.315 -    
  81.316 +
  81.317      check(!mapCompare(g, map1, map3), "Wrong mapCompare()");
  81.318 -    check(!mapCompare(g, map2, map4), "Wrong mapCompare()");    
  81.319 -    
  81.320 +    check(!mapCompare(g, map2, map4), "Wrong mapCompare()");
  81.321 +
  81.322      mapCopy(g, map1, map3);
  81.323      mapCopy(g, map2, map4);
  81.324  
  81.325      check(mapCompare(g, map1, map3), "Wrong mapCompare() or mapCopy()");
  81.326 -    check(mapCompare(g, map2, map4), "Wrong mapCompare() or mapCopy()");    
  81.327 -    
  81.328 +    check(mapCompare(g, map2, map4), "Wrong mapCompare() or mapCopy()");
  81.329 +
  81.330      Undirector<SmartDigraph> ug(g);
  81.331      Undirector<SmartDigraph>::EdgeMap<char> umap1(ug, 'x');
  81.332      Undirector<SmartDigraph>::ArcMap<double> umap2(ug, 3.14);
  81.333 -    
  81.334 +
  81.335      check(!mapCompare(g, map2, umap1), "Wrong mapCompare() or mapCopy()");
  81.336      check(!mapCompare(g, umap1, map2), "Wrong mapCompare() or mapCopy()");
  81.337      check(!mapCompare(ug, map2, umap1), "Wrong mapCompare() or mapCopy()");
  81.338      check(!mapCompare(ug, umap1, map2), "Wrong mapCompare() or mapCopy()");
  81.339 -    
  81.340 +
  81.341      mapCopy(g, map2, umap1);
  81.342  
  81.343      check(mapCompare(g, map2, umap1), "Wrong mapCompare() or mapCopy()");
  81.344      check(mapCompare(g, umap1, map2), "Wrong mapCompare() or mapCopy()");
  81.345      check(mapCompare(ug, map2, umap1), "Wrong mapCompare() or mapCopy()");
  81.346      check(mapCompare(ug, umap1, map2), "Wrong mapCompare() or mapCopy()");
  81.347 -    
  81.348 +
  81.349      mapCopy(g, map2, umap1);
  81.350      mapCopy(g, umap1, map2);
  81.351      mapCopy(ug, map2, umap1);
  81.352      mapCopy(ug, umap1, map2);
  81.353 -    
  81.354 +
  81.355      check(!mapCompare(ug, umap1, umap2), "Wrong mapCompare() or mapCopy()");
  81.356      mapCopy(ug, umap1, umap2);
  81.357      check(mapCompare(ug, umap1, umap2), "Wrong mapCompare() or mapCopy()");
  81.358 -    
  81.359 +
  81.360      check(!mapCompare(g, map1, constMap<Node>(2)), "Wrong mapCompare()");
  81.361      mapFill(g, map1, 2);
  81.362      check(mapCompare(g, constMap<Node>(2), map1), "Wrong mapFill()");
  81.363 @@ -994,6 +995,6 @@
  81.364      mapCopy(g, constMap<Arc>('z'), map2);
  81.365      check(mapCompare(g, constMap<Arc>('z'), map2), "Wrong mapCopy()");
  81.366    }
  81.367 -  
  81.368 +
  81.369    return 0;
  81.370  }
    82.1 --- a/test/matching_test.cc	Wed Mar 17 12:35:52 2010 +0100
    82.2 +++ b/test/matching_test.cc	Sat Mar 06 14:35:12 2010 +0000
    82.3 @@ -2,7 +2,7 @@
    82.4   *
    82.5   * This file is a part of LEMON, a generic C++ optimization library.
    82.6   *
    82.7 - * Copyright (C) 2003-2009
    82.8 + * Copyright (C) 2003-2010
    82.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   82.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   82.11   *
   82.12 @@ -134,7 +134,7 @@
   82.13    mat_test.startSparse();
   82.14    mat_test.startDense();
   82.15    mat_test.run();
   82.16 -  
   82.17 +
   82.18    const_mat_test.matchingSize();
   82.19    const_mat_test.matching(e);
   82.20    const_mat_test.matching(n);
   82.21 @@ -143,7 +143,7 @@
   82.22    e = mmap[n];
   82.23    const_mat_test.mate(n);
   82.24  
   82.25 -  MaxMatching<Graph>::Status stat = 
   82.26 +  MaxMatching<Graph>::Status stat =
   82.27      const_mat_test.status(n);
   82.28    const MaxMatching<Graph>::StatusMap& smap =
   82.29      const_mat_test.statusMap();
   82.30 @@ -170,7 +170,7 @@
   82.31    mat_test.init();
   82.32    mat_test.start();
   82.33    mat_test.run();
   82.34 -  
   82.35 +
   82.36    const_mat_test.matchingWeight();
   82.37    const_mat_test.matchingSize();
   82.38    const_mat_test.matching(e);
   82.39 @@ -179,7 +179,7 @@
   82.40      const_mat_test.matchingMap();
   82.41    e = mmap[n];
   82.42    const_mat_test.mate(n);
   82.43 -  
   82.44 +
   82.45    int k = 0;
   82.46    const_mat_test.dualValue();
   82.47    const_mat_test.nodeValue(n);
   82.48 @@ -207,7 +207,7 @@
   82.49    mat_test.init();
   82.50    mat_test.start();
   82.51    mat_test.run();
   82.52 -  
   82.53 +
   82.54    const_mat_test.matchingWeight();
   82.55    const_mat_test.matching(e);
   82.56    const_mat_test.matching(n);
   82.57 @@ -215,7 +215,7 @@
   82.58      const_mat_test.matchingMap();
   82.59    e = mmap[n];
   82.60    const_mat_test.mate(n);
   82.61 -  
   82.62 +
   82.63    int k = 0;
   82.64    const_mat_test.dualValue();
   82.65    const_mat_test.nodeValue(n);
   82.66 @@ -425,7 +425,7 @@
   82.67      {
   82.68        MaxWeightedPerfectMatching<SmartGraph> mwpm(graph, weight);
   82.69        bool result = mwpm.run();
   82.70 -      
   82.71 +
   82.72        check(result == perfect, "Perfect matching found");
   82.73        if (perfect) {
   82.74          checkWeightedPerfectMatching(graph, weight, mwpm);
   82.75 @@ -436,7 +436,7 @@
   82.76        MaxWeightedPerfectMatching<SmartGraph> mwpm(graph, weight);
   82.77        mwpm.init();
   82.78        bool result = mwpm.start();
   82.79 -      
   82.80 +
   82.81        check(result == perfect, "Perfect matching found");
   82.82        if (perfect) {
   82.83          checkWeightedPerfectMatching(graph, weight, mwpm);
    83.1 --- a/test/min_cost_arborescence_test.cc	Wed Mar 17 12:35:52 2010 +0100
    83.2 +++ b/test/min_cost_arborescence_test.cc	Sat Mar 06 14:35:12 2010 +0000
    83.3 @@ -2,7 +2,7 @@
    83.4   *
    83.5   * This file is a part of LEMON, a generic C++ optimization library.
    83.6   *
    83.7 - * Copyright (C) 2003-2008
    83.8 + * Copyright (C) 2003-2010
    83.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   83.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   83.11   *
   83.12 @@ -110,7 +110,7 @@
   83.13    n = mcarb_test.processNextNode();
   83.14    b = const_mcarb_test.emptyQueue();
   83.15    i = const_mcarb_test.queueSize();
   83.16 -  
   83.17 +
   83.18    c = const_mcarb_test.arborescenceCost();
   83.19    b = const_mcarb_test.arborescence(e);
   83.20    e = const_mcarb_test.pred(n);
   83.21 @@ -120,12 +120,12 @@
   83.22      const_mcarb_test.predMap();
   83.23    b = const_mcarb_test.reached(n);
   83.24    b = const_mcarb_test.processed(n);
   83.25 -  
   83.26 +
   83.27    i = const_mcarb_test.dualNum();
   83.28    c = const_mcarb_test.dualValue();
   83.29    i = const_mcarb_test.dualSize(i);
   83.30    c = const_mcarb_test.dualValue(i);
   83.31 -  
   83.32 +
   83.33    ignore_unused_variable_warning(am);
   83.34    ignore_unused_variable_warning(pm);
   83.35  }
    84.1 --- a/test/min_cost_flow_test.cc	Wed Mar 17 12:35:52 2010 +0100
    84.2 +++ b/test/min_cost_flow_test.cc	Sat Mar 06 14:35:12 2010 +0000
    84.3 @@ -2,7 +2,7 @@
    84.4   *
    84.5   * This file is a part of LEMON, a generic C++ optimization library.
    84.6   *
    84.7 - * Copyright (C) 2003-2009
    84.8 + * Copyright (C) 2003-2010
    84.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   84.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   84.11   *
   84.12 @@ -52,7 +52,7 @@
   84.13    "   10    -2    0    0    0   -7   -2\n"
   84.14    "   11     0    0    0    0  -10    0\n"
   84.15    "   12   -20  -27    0  -30  -30  -20\n"
   84.16 -  "\n"                
   84.17 +  "\n"
   84.18    "@arcs\n"
   84.19    "       cost  cap low1 low2 low3\n"
   84.20    " 1  2    70   11    0    8    8\n"
   84.21 @@ -102,7 +102,7 @@
   84.22    "5 6     80      0   1000\n"
   84.23    "6 7     30      0  -1000\n"
   84.24    "7 5   -120      0      0\n";
   84.25 -  
   84.26 +
   84.27  char test_neg2_lgf[] =
   84.28    "@nodes\n"
   84.29    "label   sup\n"
   84.30 @@ -151,7 +151,7 @@
   84.31    struct Constraints {
   84.32      void constraints() {
   84.33        checkConcept<concepts::Digraph, GR>();
   84.34 -      
   84.35 +
   84.36        const Constraints& me = *this;
   84.37  
   84.38        MCF mcf(me.g);
   84.39 @@ -180,7 +180,7 @@
   84.40      typedef concepts::ReadMap<Arc, Cost> CAM;
   84.41      typedef concepts::WriteMap<Arc, Value> FlowMap;
   84.42      typedef concepts::WriteMap<Node, Cost> PotMap;
   84.43 -  
   84.44 +
   84.45      GR g;
   84.46      VAM lower;
   84.47      VAM upper;
   84.48 @@ -234,7 +234,7 @@
   84.49  template < typename GR, typename LM, typename UM,
   84.50             typename CM, typename SM, typename FM, typename PM >
   84.51  bool checkPotential( const GR& gr, const LM& lower, const UM& upper,
   84.52 -                     const CM& cost, const SM& supply, const FM& flow, 
   84.53 +                     const CM& cost, const SM& supply, const FM& flow,
   84.54                       const PM& pi, SupplyType type )
   84.55  {
   84.56    TEMPLATE_DIGRAPH_TYPEDEFS(GR);
   84.57 @@ -247,7 +247,7 @@
   84.58            (red_cost > 0 && flow[e] == lower[e]) ||
   84.59            (red_cost < 0 && flow[e] == upper[e]);
   84.60    }
   84.61 -  
   84.62 +
   84.63    for (NodeIt n(gr); opt && n != INVALID; ++n) {
   84.64      typename SM::Value sum = 0;
   84.65      for (OutArcIt e(gr, n); e != INVALID; ++e)
   84.66 @@ -260,7 +260,7 @@
   84.67        opt = (pi[n] >= 0) && (sum == supply[n] || pi[n] == 0);
   84.68      }
   84.69    }
   84.70 -  
   84.71 +
   84.72    return opt;
   84.73  }
   84.74  
   84.75 @@ -285,7 +285,7 @@
   84.76        red_supply[gr.target(a)] += lower[a];
   84.77      }
   84.78    }
   84.79 -  
   84.80 +
   84.81    for (NodeIt n(gr); n != INVALID; ++n) {
   84.82      dual_cost -= red_supply[n] * pi[n];
   84.83    }
   84.84 @@ -294,7 +294,7 @@
   84.85        cost[a] + pi[gr.source(a)] - pi[gr.target(a)];
   84.86      dual_cost -= (upper[a] - lower[a]) * std::max(-red_cost, 0);
   84.87    }
   84.88 -  
   84.89 +
   84.90    return dual_cost == total;
   84.91  }
   84.92  
   84.93 @@ -332,7 +332,7 @@
   84.94                       bool full_neg_cost_support = false )
   84.95  {
   84.96    MCF mcf1(gr), mcf2(neg1_gr), mcf3(neg2_gr);
   84.97 -  
   84.98 +
   84.99    // Basic tests
  84.100    mcf1.upperMap(u).costMap(c).supplyMap(s1);
  84.101    checkMcf(mcf1, mcf1.run(param), gr, l1, u, c, s1,
  84.102 @@ -435,7 +435,7 @@
  84.103      .node("source", v)
  84.104      .node("target", w)
  84.105      .run();
  84.106 -  
  84.107 +
  84.108    std::istringstream neg_inp1(test_neg1_lgf);
  84.109    DigraphReader<Digraph>(neg1_gr, neg_inp1)
  84.110      .arcMap("cost", neg1_c)
  84.111 @@ -443,13 +443,13 @@
  84.112      .arcMap("low2", neg1_l2)
  84.113      .nodeMap("sup", neg1_s)
  84.114      .run();
  84.115 -  
  84.116 +
  84.117    std::istringstream neg_inp2(test_neg2_lgf);
  84.118    DigraphReader<Digraph>(neg2_gr, neg_inp2)
  84.119      .arcMap("cost", neg2_c)
  84.120      .nodeMap("sup", neg2_s)
  84.121      .run();
  84.122 -  
  84.123 +
  84.124    // Check the interface of NetworkSimplex
  84.125    {
  84.126      typedef concepts::Digraph GR;
  84.127 @@ -501,7 +501,7 @@
  84.128    }
  84.129  
  84.130    // Test NetworkSimplex
  84.131 -  { 
  84.132 +  {
  84.133      typedef NetworkSimplex<Digraph> MCF;
  84.134      runMcfGeqTests<MCF>(MCF::FIRST_ELIGIBLE, "NS-FE", true);
  84.135      runMcfLeqTests<MCF>(MCF::FIRST_ELIGIBLE, "NS-FE");
  84.136 @@ -514,7 +514,7 @@
  84.137      runMcfGeqTests<MCF>(MCF::ALTERING_LIST,  "NS-AL", true);
  84.138      runMcfLeqTests<MCF>(MCF::ALTERING_LIST,  "NS-AL");
  84.139    }
  84.140 -  
  84.141 +
  84.142    // Test CapacityScaling
  84.143    {
  84.144      typedef CapacityScaling<Digraph> MCF;
    85.1 --- a/test/min_mean_cycle_test.cc	Wed Mar 17 12:35:52 2010 +0100
    85.2 +++ b/test/min_mean_cycle_test.cc	Sat Mar 06 14:35:12 2010 +0000
    85.3 @@ -2,7 +2,7 @@
    85.4   *
    85.5   * This file is a part of LEMON, a generic C++ optimization library.
    85.6   *
    85.7 - * Copyright (C) 2003-2009
    85.8 + * Copyright (C) 2003-2010
    85.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   85.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   85.11   *
   85.12 @@ -61,7 +61,7 @@
   85.13    "6 7    1    1    1    1   0  0  0  0\n"
   85.14    "7 7    4    4    4   -1   0  0  0  1\n";
   85.15  
   85.16 -                        
   85.17 +
   85.18  // Check the interface of an MMC algorithm
   85.19  template <typename GR, typename Cost>
   85.20  struct MmcClassConcept
   85.21 @@ -77,10 +77,10 @@
   85.22          ::Create MmcAlg;
   85.23        MmcAlg mmc(me.g, me.cost);
   85.24        const MmcAlg& const_mmc = mmc;
   85.25 -      
   85.26 +
   85.27        typename MmcAlg::Tolerance tol = const_mmc.tolerance();
   85.28        mmc.tolerance(tol);
   85.29 -      
   85.30 +
   85.31        b = mmc.cycle(p).run();
   85.32        b = mmc.findCycleMean();
   85.33        b = mmc.findCycle();
   85.34 @@ -92,7 +92,7 @@
   85.35      }
   85.36  
   85.37      typedef concepts::ReadMap<typename GR::Arc, Cost> CM;
   85.38 -  
   85.39 +
   85.40      GR g;
   85.41      CM cost;
   85.42      ListPath<GR> p;
   85.43 @@ -153,13 +153,13 @@
   85.44                    KarpMmc<GR, concepts::ReadMap<GR::Arc, int> > >();
   85.45      checkConcept< MmcClassConcept<GR, float>,
   85.46                    KarpMmc<GR, concepts::ReadMap<GR::Arc, float> > >();
   85.47 -    
   85.48 +
   85.49      // HartmannOrlinMmc
   85.50      checkConcept< MmcClassConcept<GR, int>,
   85.51                    HartmannOrlinMmc<GR, concepts::ReadMap<GR::Arc, int> > >();
   85.52      checkConcept< MmcClassConcept<GR, float>,
   85.53                    HartmannOrlinMmc<GR, concepts::ReadMap<GR::Arc, float> > >();
   85.54 -    
   85.55 +
   85.56      // HowardMmc
   85.57      checkConcept< MmcClassConcept<GR, int>,
   85.58                    HowardMmc<GR, concepts::ReadMap<GR::Arc, int> > >();
   85.59 @@ -176,11 +176,11 @@
   85.60    {
   85.61      typedef SmartDigraph GR;
   85.62      DIGRAPH_TYPEDEFS(GR);
   85.63 -    
   85.64 +
   85.65      GR gr;
   85.66      IntArcMap l1(gr), l2(gr), l3(gr), l4(gr);
   85.67      IntArcMap c1(gr), c2(gr), c3(gr), c4(gr);
   85.68 -    
   85.69 +
   85.70      std::istringstream input(test_lgf);
   85.71      digraphReader(gr, input).
   85.72        arcMap("len1", l1).
    86.1 --- a/test/preflow_test.cc	Wed Mar 17 12:35:52 2010 +0100
    86.2 +++ b/test/preflow_test.cc	Sat Mar 06 14:35:12 2010 +0000
    86.3 @@ -2,7 +2,7 @@
    86.4   *
    86.5   * This file is a part of LEMON, a generic C++ optimization library.
    86.6   *
    86.7 - * Copyright (C) 2003-2009
    86.8 + * Copyright (C) 2003-2010
    86.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   86.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   86.11   *
   86.12 @@ -94,7 +94,7 @@
   86.13              ::Create PreflowType;
   86.14    PreflowType preflow_test(g, cap, n, n);
   86.15    const PreflowType& const_preflow_test = preflow_test;
   86.16 -  
   86.17 +
   86.18    const PreflowType::Elevator& elev = const_preflow_test.elevator();
   86.19    preflow_test.elevator(const_cast<PreflowType::Elevator&>(elev));
   86.20    PreflowType::Tolerance tol = const_preflow_test.tolerance();
   86.21 @@ -118,7 +118,7 @@
   86.22    const FlowMap& fm = const_preflow_test.flowMap();
   86.23    b = const_preflow_test.minCut(n);
   86.24    const_preflow_test.minCutMap(cut);
   86.25 -  
   86.26 +
   86.27    ignore_unused_variable_warning(fm);
   86.28  }
   86.29  
    87.1 --- a/test/suurballe_test.cc	Wed Mar 17 12:35:52 2010 +0100
    87.2 +++ b/test/suurballe_test.cc	Sat Mar 06 14:35:12 2010 +0000
    87.3 @@ -2,7 +2,7 @@
    87.4   *
    87.5   * This file is a part of LEMON, a generic C++ optimization library.
    87.6   *
    87.7 - * Copyright (C) 2003-2009
    87.8 + * Copyright (C) 2003-2010
    87.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   87.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   87.11   *
   87.12 @@ -81,7 +81,7 @@
   87.13    typedef Digraph::Node Node;
   87.14    typedef Digraph::Arc Arc;
   87.15    typedef concepts::ReadMap<Arc, VType> LengthMap;
   87.16 -  
   87.17 +
   87.18    typedef Suurballe<Digraph, LengthMap> ST;
   87.19    typedef Suurballe<Digraph, LengthMap>
   87.20      ::SetFlowMap<ST::FlowMap>
   87.21 @@ -114,7 +114,7 @@
   87.22    k = suurb_test.findFlow(n);
   87.23    k = suurb_test.findFlow(n, k);
   87.24    suurb_test.findPaths();
   87.25 -  
   87.26 +
   87.27    int f;
   87.28    VType c;
   87.29    c = const_suurb_test.totalLength();
   87.30 @@ -126,7 +126,7 @@
   87.31      const_suurb_test.potentialMap();
   87.32    k = const_suurb_test.pathNum();
   87.33    Path<Digraph> p = const_suurb_test.path(k);
   87.34 -  
   87.35 +
   87.36    ignore_unused_variable_warning(fm);
   87.37    ignore_unused_variable_warning(pm);
   87.38  }
   87.39 @@ -208,7 +208,7 @@
   87.40    // Check run()
   87.41    {
   87.42      Suurballe<ListDigraph> suurballe(digraph, length);
   87.43 -    
   87.44 +
   87.45      // Find 2 paths
   87.46      check(suurballe.run(s, t) == 2, "Wrong number of paths");
   87.47      check(checkFlow(digraph, suurballe.flowMap(), s, t, 2),
   87.48 @@ -219,7 +219,7 @@
   87.49            "Wrong potentials");
   87.50      for (int i = 0; i < suurballe.pathNum(); ++i)
   87.51        check(checkPath(digraph, suurballe.path(i), s, t), "Wrong path");
   87.52 -   
   87.53 +
   87.54      // Find 3 paths
   87.55      check(suurballe.run(s, t, 3) == 3, "Wrong number of paths");
   87.56      check(checkFlow(digraph, suurballe.flowMap(), s, t, 3),
   87.57 @@ -230,7 +230,7 @@
   87.58            "Wrong potentials");
   87.59      for (int i = 0; i < suurballe.pathNum(); ++i)
   87.60        check(checkPath(digraph, suurballe.path(i), s, t), "Wrong path");
   87.61 -    
   87.62 +
   87.63      // Find 5 paths (only 3 can be found)
   87.64      check(suurballe.run(s, t, 5) == 3, "Wrong number of paths");
   87.65      check(checkFlow(digraph, suurballe.flowMap(), s, t, 3),
   87.66 @@ -242,12 +242,12 @@
   87.67      for (int i = 0; i < suurballe.pathNum(); ++i)
   87.68        check(checkPath(digraph, suurballe.path(i), s, t), "Wrong path");
   87.69    }
   87.70 -  
   87.71 +
   87.72    // Check fullInit() + start()
   87.73    {
   87.74      Suurballe<ListDigraph> suurballe(digraph, length);
   87.75      suurballe.fullInit(s);
   87.76 -    
   87.77 +
   87.78      // Find 2 paths
   87.79      check(suurballe.start(t) == 2, "Wrong number of paths");
   87.80      check(suurballe.totalLength() == 510, "The flow is not optimal");
    88.1 --- a/test/test_tools.h	Wed Mar 17 12:35:52 2010 +0100
    88.2 +++ b/test/test_tools.h	Sat Mar 06 14:35:12 2010 +0000
    88.3 @@ -2,7 +2,7 @@
    88.4   *
    88.5   * This file is a part of LEMON, a generic C++ optimization library.
    88.6   *
    88.7 - * Copyright (C) 2003-2009
    88.8 + * Copyright (C) 2003-2010
    88.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   88.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   88.11   *
   88.12 @@ -45,6 +45,6 @@
   88.13        abort();                                                          \
   88.14      } else { }                                                          \
   88.15    }                                                                     \
   88.16 -    
   88.17 +
   88.18  
   88.19  #endif
    89.1 --- a/tools/dimacs-solver.cc	Wed Mar 17 12:35:52 2010 +0100
    89.2 +++ b/tools/dimacs-solver.cc	Sat Mar 06 14:35:12 2010 +0000
    89.3 @@ -2,7 +2,7 @@
    89.4   *
    89.5   * This file is a part of LEMON, a generic C++ optimization library.
    89.6   *
    89.7 - * Copyright (C) 2003-2009
    89.8 + * Copyright (C) 2003-2010
    89.9   * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   89.10   * (Egervary Research Group on Combinatorial Optimization, EGRES).
   89.11   *
   89.12 @@ -88,7 +88,7 @@
   89.13    ti.restart();
   89.14    pre.run();
   89.15    if(report) std::cerr << "Run Preflow: " << ti << '\n';
   89.16 -  if(report) std::cerr << "\nMax flow value: " << pre.flowValue() << '\n';  
   89.17 +  if(report) std::cerr << "\nMax flow value: " << pre.flowValue() << '\n';
   89.18  }
   89.19  
   89.20  template<class Value, class LargeValue>
   89.21 @@ -148,7 +148,7 @@
   89.22    mat.run();
   89.23    if(report) std::cerr << "Run MaxMatching: " << ti << '\n';
   89.24    if(report) std::cerr << "\nCardinality of max matching: "
   89.25 -                       << mat.matchingSize() << '\n';  
   89.26 +                       << mat.matchingSize() << '\n';
   89.27  }
   89.28  
   89.29  
   89.30 @@ -166,7 +166,7 @@
   89.31                  << std::endl;
   89.32        exit(1);
   89.33      }
   89.34 -  
   89.35 +
   89.36    switch(desc.type)
   89.37      {
   89.38      case DimacsDescriptor::MIN:
   89.39 @@ -238,7 +238,7 @@
   89.40    std::ostream& os = (ap.files().size()<2 ? std::cout : output);
   89.41  
   89.42    DimacsDescriptor desc = dimacsType(is);
   89.43 -  
   89.44 +
   89.45    if(!ap.given("q"))
   89.46      {
   89.47        std::cout << "Problem type: ";
   89.48 @@ -263,7 +263,7 @@
   89.49        std::cout << "\nNum of arcs:  " << desc.edgeNum;
   89.50        std::cout << "\n\n";
   89.51      }
   89.52 -    
   89.53 +
   89.54    if(ap.given("double"))
   89.55      solve<double, double>(ap,is,os,desc);
   89.56    else if(ap.given("ldouble"))