Merge #449 to branch 1.1 1.1
authorAlpar Juttner <alpar@cs.elte.hu>
Thu, 13 Sep 2012 11:52:50 +0200
branch1.1
changeset 7938d2e55fac752
parent 791 939d747055cd
parent 792 761fe0846f49
child 795 b78a46fe8002
Merge #449 to branch 1.1
lemon/adaptors.h
lemon/bits/edge_set_extender.h
lemon/circulation.h
lemon/concepts/graph_components.h
lemon/concepts/maps.h
lemon/graph_to_eps.h
test/adaptors_test.cc
test/connectivity_test.cc
test/edge_set_test.cc
test/euler_test.cc
test/maps_test.cc
     1.1 --- a/lemon/adaptors.h	Wed Sep 12 17:51:20 2012 +0200
     1.2 +++ b/lemon/adaptors.h	Thu Sep 13 11:52:50 2012 +0200
     1.3 @@ -1364,7 +1364,7 @@
     1.4      /// Creates a subgraph for the given graph with the given node
     1.5      /// and edge filter maps.
     1.6      SubGraph(GR& graph, NF& node_filter, EF& edge_filter) {
     1.7 -      initialize(graph, node_filter, edge_filter);
     1.8 +      this->initialize(graph, node_filter, edge_filter);
     1.9      }
    1.10  
    1.11      /// \brief Sets the status of the given node
    1.12 @@ -2261,7 +2261,7 @@
    1.13      ///
    1.14      /// Creates an undirected graph from the given digraph.
    1.15      Undirector(DGR& digraph) {
    1.16 -      initialize(digraph);
    1.17 +      this->initialize(digraph);
    1.18      }
    1.19  
    1.20      /// \brief Arc map combined from two original arc maps
     2.1 --- a/lemon/bits/bezier.h	Wed Sep 12 17:51:20 2012 +0200
     2.2 +++ b/lemon/bits/bezier.h	Thu Sep 13 11:52:50 2012 +0200
     2.3 @@ -159,7 +159,7 @@
     2.4      const Point c=(p3+p4)/2;
     2.5      const Point d=(a+b)/2;
     2.6      const Point e=(b+c)/2;
     2.7 -    const Point f=(d+e)/2;
     2.8 +    // const Point f=(d+e)/2;
     2.9      R f1=_f(Bezier3(p1,a,d,e),_d);
    2.10      R f2=_f(Bezier3(e,d,c,p4),_d);
    2.11      return _s(f1,f2);
     3.1 --- a/lemon/bits/edge_set_extender.h	Wed Sep 12 17:51:20 2012 +0200
     3.2 +++ b/lemon/bits/edge_set_extender.h	Thu Sep 13 11:52:50 2012 +0200
     3.3 @@ -523,13 +523,13 @@
     3.4      //
     3.5      // Returns the base node of the iterator
     3.6      Node baseNode(const IncEdgeIt &e) const {
     3.7 -      return e.direction ? u(e) : v(e);
     3.8 +      return e.direction ? this->u(e) : this->v(e);
     3.9      }
    3.10      // Running node of the iterator
    3.11      //
    3.12      // Returns the running node of the iterator
    3.13      Node runningNode(const IncEdgeIt &e) const {
    3.14 -      return e.direction ? v(e) : u(e);
    3.15 +      return e.direction ? this->v(e) : this->u(e);
    3.16      }
    3.17  
    3.18  
     4.1 --- a/lemon/bits/graph_extender.h	Wed Sep 12 17:51:20 2012 +0200
     4.2 +++ b/lemon/bits/graph_extender.h	Thu Sep 13 11:52:50 2012 +0200
     4.3 @@ -587,13 +587,13 @@
     4.4      //
     4.5      // Returns the base node of the iterator
     4.6      Node baseNode(const IncEdgeIt &edge) const {
     4.7 -      return edge._direction ? u(edge) : v(edge);
     4.8 +      return edge._direction ? this->u(edge) : this->v(edge);
     4.9      }
    4.10      // Running node of the iterator
    4.11      //
    4.12      // Returns the running node of the iterator
    4.13      Node runningNode(const IncEdgeIt &edge) const {
    4.14 -      return edge._direction ? v(edge) : u(edge);
    4.15 +      return edge._direction ? this->v(edge) : this->u(edge);
    4.16      }
    4.17  
    4.18      // Mappable extension
     5.1 --- a/lemon/circulation.h	Wed Sep 12 17:51:20 2012 +0200
     5.2 +++ b/lemon/circulation.h	Thu Sep 13 11:52:50 2012 +0200
     5.3 @@ -558,8 +558,6 @@
     5.4      {
     5.5  
     5.6        Node act;
     5.7 -      Node bact=INVALID;
     5.8 -      Node last_activated=INVALID;
     5.9        while((act=_level->highestActive())!=INVALID) {
    5.10          int actlevel=(*_level)[act];
    5.11          int mlevel=_node_num;
     6.1 --- a/lemon/concept_check.h	Wed Sep 12 17:51:20 2012 +0200
     6.2 +++ b/lemon/concept_check.h	Thu Sep 13 11:52:50 2012 +0200
     6.3 @@ -35,6 +35,22 @@
     6.4    */
     6.5  
     6.6    template <class T> inline void ignore_unused_variable_warning(const T&) { }
     6.7 +  template <class T1, class T2>
     6.8 +  inline void ignore_unused_variable_warning(const T1&, const T2&) { }
     6.9 +  template <class T1, class T2, class T3>
    6.10 +  inline void ignore_unused_variable_warning(const T1&, const T2&,
    6.11 +                                             const T3&) { }
    6.12 +  template <class T1, class T2, class T3, class T4>
    6.13 +  inline void ignore_unused_variable_warning(const T1&, const T2&,
    6.14 +                                             const T3&, const T4&) { }
    6.15 +  template <class T1, class T2, class T3, class T4, class T5>
    6.16 +  inline void ignore_unused_variable_warning(const T1&, const T2&,
    6.17 +                                             const T3&, const T4&,
    6.18 +                                             const T5&) { }
    6.19 +  template <class T1, class T2, class T3, class T4, class T5, class T6>
    6.20 +  inline void ignore_unused_variable_warning(const T1&, const T2&,
    6.21 +                                             const T3&, const T4&,
    6.22 +                                             const T5&, const T6&) { }
    6.23  
    6.24    ///\e
    6.25    template <class Concept>
     7.1 --- a/lemon/concepts/graph_components.h	Wed Sep 12 17:51:20 2012 +0200
     7.2 +++ b/lemon/concepts/graph_components.h	Thu Sep 13 11:52:50 2012 +0200
     7.3 @@ -494,6 +494,8 @@
     7.4            _GraphItemIt it2;
     7.5            _GraphItemIt it3 = it1;
     7.6            _GraphItemIt it4 = INVALID;
     7.7 +          ignore_unused_variable_warning(it3);
     7.8 +          ignore_unused_variable_warning(it4);
     7.9  
    7.10            it2 = ++it1;
    7.11            ++it2 = it1;
    7.12 @@ -583,6 +585,8 @@
    7.13            _GraphIncIt it2;
    7.14            _GraphIncIt it3 = it1;
    7.15            _GraphIncIt it4 = INVALID;
    7.16 +          ignore_unused_variable_warning(it3);
    7.17 +          ignore_unused_variable_warning(it4);
    7.18  
    7.19            it2 = ++it1;
    7.20            ++it2 = it1;
     8.1 --- a/lemon/concepts/maps.h	Wed Sep 12 17:51:20 2012 +0200
     8.2 +++ b/lemon/concepts/maps.h	Thu Sep 13 11:52:50 2012 +0200
     8.3 @@ -49,7 +49,7 @@
     8.4  
     8.5        /// Returns the value associated with the given key.
     8.6        Value operator[](const Key &) const {
     8.7 -        return *static_cast<Value *>(0);
     8.8 +        return *(static_cast<Value *>(0)+1);
     8.9        }
    8.10  
    8.11        template<typename _ReadMap>
     9.1 --- a/lemon/graph_to_eps.h	Wed Sep 12 17:51:20 2012 +0200
     9.2 +++ b/lemon/graph_to_eps.h	Thu Sep 13 11:52:50 2012 +0200
     9.3 @@ -222,7 +222,7 @@
     9.4    using T::_title;
     9.5    using T::_copyright;
     9.6  
     9.7 -  using T::NodeTextColorType;
     9.8 +  using typename T::NodeTextColorType;
     9.9    using T::CUST_COL;
    9.10    using T::DIST_COL;
    9.11    using T::DIST_BW;
    10.1 --- a/test/adaptors_test.cc	Wed Sep 12 17:51:20 2012 +0200
    10.2 +++ b/test/adaptors_test.cc	Thu Sep 13 11:52:50 2012 +0200
    10.3 @@ -65,6 +65,7 @@
    10.4    Digraph::Arc a1 = digraph.addArc(n1, n2);
    10.5    Digraph::Arc a2 = digraph.addArc(n1, n3);
    10.6    Digraph::Arc a3 = digraph.addArc(n2, n3);
    10.7 +  ignore_unused_variable_warning(a3);
    10.8  
    10.9    // Check the adaptor
   10.10    checkGraphNodeList(adaptor, 3);
   10.11 @@ -99,6 +100,7 @@
   10.12    Adaptor::Arc a6 = adaptor.addArc(n2, n4);
   10.13    Adaptor::Arc a7 = adaptor.addArc(n1, n4);
   10.14    Adaptor::Arc a8 = adaptor.addArc(n1, n2);
   10.15 +  ignore_unused_variable_warning(a6,a7,a8);
   10.16  
   10.17    adaptor.erase(a1);
   10.18    adaptor.erase(n3);
   10.19 @@ -758,6 +760,7 @@
   10.20    Digraph::Arc a1 = digraph.addArc(n1, n2);
   10.21    Digraph::Arc a2 = digraph.addArc(n1, n3);
   10.22    Digraph::Arc a3 = digraph.addArc(n2, n3);
   10.23 +  ignore_unused_variable_warning(a1,a2,a3);
   10.24  
   10.25    checkGraphNodeList(adaptor, 6);
   10.26    checkGraphArcList(adaptor, 6);
    11.1 --- a/test/connectivity_test.cc	Wed Sep 12 17:51:20 2012 +0200
    11.2 +++ b/test/connectivity_test.cc	Thu Sep 13 11:52:50 2012 +0200
    11.3 @@ -68,6 +68,7 @@
    11.4      Digraph::NodeMap<int> order(d);
    11.5      Graph g(d);
    11.6      Digraph::Node n = d.addNode();
    11.7 +    ignore_unused_variable_warning(n);
    11.8  
    11.9      check(stronglyConnected(d), "This digraph is strongly connected");
   11.10      check(countStronglyConnectedComponents(d) == 1,
   11.11 @@ -245,6 +246,7 @@
   11.12      Digraph::Node shoe = d.addNode();
   11.13      Digraph::Node watch = d.addNode();
   11.14      Digraph::Node pants = d.addNode();
   11.15 +    ignore_unused_variable_warning(watch);
   11.16  
   11.17      d.addArc(socks, shoe);
   11.18      d.addArc(pants, shoe);
    12.1 --- a/test/digraph_test.cc	Wed Sep 12 17:51:20 2012 +0200
    12.2 +++ b/test/digraph_test.cc	Thu Sep 13 11:52:50 2012 +0200
    12.3 @@ -60,6 +60,7 @@
    12.4    Arc a2 = G.addArc(n2, n1),
    12.5        a3 = G.addArc(n2, n3),
    12.6        a4 = G.addArc(n2, n3);
    12.7 +  ignore_unused_variable_warning(a2,a3,a4);
    12.8  
    12.9    checkGraphNodeList(G, 3);
   12.10    checkGraphArcList(G, 4);
   12.11 @@ -88,6 +89,7 @@
   12.12    Node n1 = G.addNode(), n2 = G.addNode(), n3 = G.addNode();
   12.13    Arc a1 = G.addArc(n1, n2), a2 = G.addArc(n2, n1),
   12.14        a3 = G.addArc(n2, n3), a4 = G.addArc(n2, n3);
   12.15 +  ignore_unused_variable_warning(a1,a2,a3,a4);
   12.16  
   12.17    Node n4 = G.split(n2);
   12.18  
   12.19 @@ -121,6 +123,7 @@
   12.20    Arc a1 = G.addArc(n1, n2), a2 = G.addArc(n4, n1),
   12.21        a3 = G.addArc(n4, n3), a4 = G.addArc(n4, n3),
   12.22        a5 = G.addArc(n2, n4);
   12.23 +  ignore_unused_variable_warning(a1,a2,a3,a5);
   12.24  
   12.25    checkGraphNodeList(G, 4);
   12.26    checkGraphArcList(G, 5);
   12.27 @@ -200,6 +203,7 @@
   12.28    Arc a1 = G.addArc(n1, n2), a2 = G.addArc(n4, n1),
   12.29        a3 = G.addArc(n4, n3), a4 = G.addArc(n3, n1),
   12.30        a5 = G.addArc(n2, n4);
   12.31 +  ignore_unused_variable_warning(a2,a3,a4,a5);
   12.32  
   12.33    // Check arc deletion
   12.34    G.erase(a1);
   12.35 @@ -247,6 +251,7 @@
   12.36    Node n1 = G.addNode(), n2 = G.addNode(), n3 = G.addNode();
   12.37    Arc a1 = G.addArc(n1, n2), a2 = G.addArc(n2, n1),
   12.38        a3 = G.addArc(n2, n3), a4 = G.addArc(n2, n3);
   12.39 +  ignore_unused_variable_warning(a1,a2,a3,a4);
   12.40  
   12.41    typename Digraph::Snapshot snapshot(G);
   12.42  
   12.43 @@ -335,6 +340,7 @@
   12.44    Arc
   12.45      e1 = g.addArc(n1, n2),
   12.46      e2 = g.addArc(n2, n3);
   12.47 +  ignore_unused_variable_warning(e2);
   12.48  
   12.49    check(g.valid(n1), "Wrong validity check");
   12.50    check(g.valid(e1), "Wrong validity check");
    13.1 --- a/test/edge_set_test.cc	Wed Sep 12 17:51:20 2012 +0200
    13.2 +++ b/test/edge_set_test.cc	Thu Sep 13 11:52:50 2012 +0200
    13.3 @@ -44,10 +44,12 @@
    13.4      n2 = digraph.addNode();
    13.5  
    13.6    Digraph::Arc ga1 = digraph.addArc(n1, n2);
    13.7 +  ignore_unused_variable_warning(ga1);
    13.8  
    13.9    ArcSet arc_set(digraph);
   13.10  
   13.11    Digraph::Arc ga2 = digraph.addArc(n2, n1);
   13.12 +  ignore_unused_variable_warning(ga2);
   13.13  
   13.14    checkGraphNodeList(arc_set, 2);
   13.15    checkGraphArcList(arc_set, 0);
   13.16 @@ -75,6 +77,8 @@
   13.17    ArcSet::Arc a2 = arc_set.addArc(n2, n1),
   13.18      a3 = arc_set.addArc(n2, n3),
   13.19      a4 = arc_set.addArc(n2, n3);
   13.20 +  ignore_unused_variable_warning(a2,a3,a4);
   13.21 +
   13.22    checkGraphNodeList(arc_set, 3);
   13.23    checkGraphArcList(arc_set, 4);
   13.24  
   13.25 @@ -110,10 +114,12 @@
   13.26      n2 = digraph.addNode();
   13.27  
   13.28    Digraph::Arc ga1 = digraph.addArc(n1, n2);
   13.29 +  ignore_unused_variable_warning(ga1);
   13.30  
   13.31    ArcSet arc_set(digraph);
   13.32  
   13.33    Digraph::Arc ga2 = digraph.addArc(n2, n1);
   13.34 +  ignore_unused_variable_warning(ga2);
   13.35  
   13.36    checkGraphNodeList(arc_set, 2);
   13.37    checkGraphArcList(arc_set, 0);
   13.38 @@ -141,6 +147,8 @@
   13.39    ArcSet::Arc a2 = arc_set.addArc(n2, n1),
   13.40      a3 = arc_set.addArc(n2, n3),
   13.41      a4 = arc_set.addArc(n2, n3);
   13.42 +  ignore_unused_variable_warning(a2,a3,a4);
   13.43 +
   13.44    checkGraphNodeList(arc_set, 3);
   13.45    checkGraphArcList(arc_set, 4);
   13.46  
   13.47 @@ -190,10 +198,12 @@
   13.48      n2 = digraph.addNode();
   13.49  
   13.50    Digraph::Arc ga1 = digraph.addArc(n1, n2);
   13.51 +  ignore_unused_variable_warning(ga1);
   13.52  
   13.53    EdgeSet edge_set(digraph);
   13.54  
   13.55    Digraph::Arc ga2 = digraph.addArc(n2, n1);
   13.56 +  ignore_unused_variable_warning(ga2);
   13.57  
   13.58    checkGraphNodeList(edge_set, 2);
   13.59    checkGraphArcList(edge_set, 0);
   13.60 @@ -230,6 +240,8 @@
   13.61    EdgeSet::Edge e2 = edge_set.addEdge(n2, n1),
   13.62      e3 = edge_set.addEdge(n2, n3),
   13.63      e4 = edge_set.addEdge(n2, n3);
   13.64 +  ignore_unused_variable_warning(e2,e3,e4);
   13.65 +
   13.66    checkGraphNodeList(edge_set, 3);
   13.67    checkGraphEdgeList(edge_set, 4);
   13.68  
   13.69 @@ -274,10 +286,12 @@
   13.70      n2 = digraph.addNode();
   13.71  
   13.72    Digraph::Arc ga1 = digraph.addArc(n1, n2);
   13.73 +  ignore_unused_variable_warning(ga1);
   13.74  
   13.75    EdgeSet edge_set(digraph);
   13.76  
   13.77    Digraph::Arc ga2 = digraph.addArc(n2, n1);
   13.78 +  ignore_unused_variable_warning(ga2);
   13.79  
   13.80    checkGraphNodeList(edge_set, 2);
   13.81    checkGraphArcList(edge_set, 0);
   13.82 @@ -314,6 +328,8 @@
   13.83    EdgeSet::Edge e2 = edge_set.addEdge(n2, n1),
   13.84      e3 = edge_set.addEdge(n2, n3),
   13.85      e4 = edge_set.addEdge(n2, n3);
   13.86 +  ignore_unused_variable_warning(e2,e3,e4);
   13.87 +
   13.88    checkGraphNodeList(edge_set, 3);
   13.89    checkGraphEdgeList(edge_set, 4);
   13.90  
    14.1 --- a/test/euler_test.cc	Wed Sep 12 17:51:20 2012 +0200
    14.2 +++ b/test/euler_test.cc	Thu Sep 13 11:52:50 2012 +0200
    14.3 @@ -101,7 +101,8 @@
    14.4      Digraph d;
    14.5      Graph g(d);
    14.6      Digraph::Node n = d.addNode();
    14.7 -
    14.8 +    ignore_unused_variable_warning(n);
    14.9 +  
   14.10      checkDiEulerIt(d);
   14.11      checkDiEulerIt(g);
   14.12      checkEulerIt(g);
   14.13 @@ -189,6 +190,7 @@
   14.14      Digraph::Node n3 = d.addNode();
   14.15      Digraph::Node n4 = d.addNode();
   14.16      Digraph::Node n5 = d.addNode();
   14.17 +    ignore_unused_variable_warning(n0,n4,n5);
   14.18  
   14.19      d.addArc(n1, n2);
   14.20      d.addArc(n2, n3);
    15.1 --- a/test/graph_test.cc	Wed Sep 12 17:51:20 2012 +0200
    15.2 +++ b/test/graph_test.cc	Thu Sep 13 11:52:50 2012 +0200
    15.3 @@ -63,6 +63,7 @@
    15.4  
    15.5    Edge e2 = G.addEdge(n2, n1),
    15.6         e3 = G.addEdge(n2, n3);
    15.7 +  ignore_unused_variable_warning(e2,e3);
    15.8  
    15.9    checkGraphNodeList(G, 3);
   15.10    checkGraphEdgeList(G, 3);
   15.11 @@ -95,6 +96,7 @@
   15.12    Edge e1 = G.addEdge(n1, n2), e2 = G.addEdge(n2, n1),
   15.13         e3 = G.addEdge(n2, n3), e4 = G.addEdge(n1, n4),
   15.14         e5 = G.addEdge(n4, n3);
   15.15 +  ignore_unused_variable_warning(e1,e3,e4,e5);
   15.16  
   15.17    checkGraphNodeList(G, 4);
   15.18    checkGraphEdgeList(G, 5);
   15.19 @@ -174,6 +176,7 @@
   15.20    Edge e1 = G.addEdge(n1, n2), e2 = G.addEdge(n2, n1),
   15.21         e3 = G.addEdge(n2, n3), e4 = G.addEdge(n1, n4),
   15.22         e5 = G.addEdge(n4, n3);
   15.23 +  ignore_unused_variable_warning(e1,e3,e4,e5);
   15.24  
   15.25    // Check edge deletion
   15.26    G.erase(e2);
   15.27 @@ -214,6 +217,7 @@
   15.28    Node n1 = G.addNode(), n2 = G.addNode(), n3 = G.addNode();
   15.29    Edge e1 = G.addEdge(n1, n2), e2 = G.addEdge(n2, n1),
   15.30         e3 = G.addEdge(n2, n3);
   15.31 +  ignore_unused_variable_warning(e1,e2,e3);
   15.32  
   15.33    checkGraphNodeList(G, 3);
   15.34    checkGraphEdgeList(G, 3);
   15.35 @@ -362,6 +366,7 @@
   15.36    Edge
   15.37      e1 = g.addEdge(n1, n2),
   15.38      e2 = g.addEdge(n2, n3);
   15.39 +  ignore_unused_variable_warning(e2);
   15.40  
   15.41    check(g.valid(n1), "Wrong validity check");
   15.42    check(g.valid(e1), "Wrong validity check");
   15.43 @@ -491,6 +496,7 @@
   15.44    checkGraphArcList(G, dim * (1 << dim));
   15.45  
   15.46    Node n = G.nodeFromId(dim);
   15.47 +  ignore_unused_variable_warning(n);
   15.48  
   15.49    for (NodeIt n(G); n != INVALID; ++n) {
   15.50      checkGraphIncEdgeList(G, n, dim);
    16.1 --- a/test/maps_test.cc	Wed Sep 12 17:51:20 2012 +0200
    16.2 +++ b/test/maps_test.cc	Thu Sep 13 11:52:50 2012 +0200
    16.3 @@ -80,6 +80,7 @@
    16.4      checkConcept<ReadWriteMap<A,B>, NullMap<A,B> >();
    16.5      NullMap<A,B> map1;
    16.6      NullMap<A,B> map2 = map1;
    16.7 +    ignore_unused_variable_warning(map2);
    16.8      map1 = nullMap<A,B>();
    16.9    }
   16.10  
   16.11 @@ -90,11 +91,15 @@
   16.12      ConstMap<A,B> map1;
   16.13      ConstMap<A,B> map2 = B();
   16.14      ConstMap<A,B> map3 = map1;
   16.15 +    ignore_unused_variable_warning(map2,map3);
   16.16 +
   16.17      map1 = constMap<A>(B());
   16.18      map1 = constMap<A,B>();
   16.19      map1.setAll(B());
   16.20      ConstMap<A,C> map4(C(1));
   16.21      ConstMap<A,C> map5 = map4;
   16.22 +    ignore_unused_variable_warning(map5);
   16.23 +
   16.24      map4 = constMap<A>(C(2));
   16.25      map4.setAll(C(3));
   16.26  
   16.27 @@ -115,6 +120,8 @@
   16.28      checkConcept<ReadMap<A,A>, IdentityMap<A> >();
   16.29      IdentityMap<A> map1;
   16.30      IdentityMap<A> map2 = map1;
   16.31 +    ignore_unused_variable_warning(map2);
   16.32 +
   16.33      map1 = identityMap<A>();
   16.34  
   16.35      checkConcept<ReadMap<double,double>, IdentityMap<double> >();
   16.36 @@ -174,7 +181,9 @@
   16.37      typedef ComposeMap<DoubleMap, ReadMap<B,A> > CompMap;
   16.38      checkConcept<ReadMap<B,double>, CompMap>();
   16.39      CompMap map1 = CompMap(DoubleMap(),ReadMap<B,A>());
   16.40 +    ignore_unused_variable_warning(map1);
   16.41      CompMap map2 = composeMap(DoubleMap(), ReadMap<B,A>());
   16.42 +    ignore_unused_variable_warning(map2);
   16.43  
   16.44      SparseMap<double, bool> m1(false); m1[3.14] = true;
   16.45      RangeMap<double> m2(2); m2[0] = 3.0; m2[1] = 3.14;
   16.46 @@ -187,7 +196,9 @@
   16.47      typedef CombineMap<DoubleMap, DoubleMap, std::plus<double> > CombMap;
   16.48      checkConcept<ReadMap<A,double>, CombMap>();
   16.49      CombMap map1 = CombMap(DoubleMap(), DoubleMap());
   16.50 +    ignore_unused_variable_warning(map1);
   16.51      CombMap map2 = combineMap(DoubleMap(), DoubleMap(), std::plus<double>());
   16.52 +    ignore_unused_variable_warning(map2);
   16.53  
   16.54      check(combineMap(constMap<B,int,2>(), identityMap<B>(), &binc)[B()] == 3,
   16.55            "Something is wrong with CombineMap");
   16.56 @@ -199,11 +210,15 @@
   16.57      checkConcept<ReadMap<A,B>, FunctorToMap<F> >();
   16.58      FunctorToMap<F> map1;
   16.59      FunctorToMap<F> map2 = FunctorToMap<F>(F());
   16.60 +    ignore_unused_variable_warning(map2);
   16.61 +
   16.62      B b = functorToMap(F())[A()];
   16.63 +    ignore_unused_variable_warning(b);
   16.64  
   16.65      checkConcept<ReadMap<A,B>, MapToFunctor<ReadMap<A,B> > >();
   16.66      MapToFunctor<ReadMap<A,B> > map =
   16.67        MapToFunctor<ReadMap<A,B> >(ReadMap<A,B>());
   16.68 +    ignore_unused_variable_warning(map);
   16.69  
   16.70      check(functorToMap(&func)[A()] == 3,
   16.71            "Something is wrong with FunctorToMap");
   16.72 @@ -221,7 +236,10 @@
   16.73      checkConcept<ReadMap<double,double>,
   16.74        ConvertMap<ReadMap<double, int>, double> >();
   16.75      ConvertMap<RangeMap<bool>, int> map1(rangeMap(1, true));
   16.76 +    ignore_unused_variable_warning(map1);
   16.77      ConvertMap<RangeMap<bool>, int> map2 = convertMap<int>(rangeMap(2, false));
   16.78 +    ignore_unused_variable_warning(map2);
   16.79 +
   16.80    }
   16.81  
   16.82    // ForkMap
    17.1 --- a/test/time_measure_test.cc	Wed Sep 12 17:51:20 2012 +0200
    17.2 +++ b/test/time_measure_test.cc	Thu Sep 13 11:52:50 2012 +0200
    17.3 @@ -17,6 +17,7 @@
    17.4   */
    17.5  
    17.6  #include <lemon/time_measure.h>
    17.7 +#include <lemon/concept_check.h>
    17.8  
    17.9  using namespace lemon;
   17.10  
   17.11 @@ -32,7 +33,10 @@
   17.12    static Timer T;
   17.13  
   17.14    for(int i=0;i<1000;i++)
   17.15 -    TimeStamp x(T);
   17.16 +    {
   17.17 +      TimeStamp x(T);
   17.18 +      ignore_unused_variable_warning(x);
   17.19 +    }
   17.20  }
   17.21  
   17.22  int main()