lemon/graph_utils.h
changeset 2386 81b47fc5c444
parent 2384 805c5a2a36dd
child 2391 14a343be7a5a
     1.1 --- a/lemon/graph_utils.h	Fri Mar 02 17:56:22 2007 +0000
     1.2 +++ b/lemon/graph_utils.h	Fri Mar 02 18:04:28 2007 +0000
     1.3 @@ -790,10 +790,10 @@
     1.4      ///
     1.5      /// Destructor of the GraphCopy
     1.6      ~GraphCopy() {
     1.7 -      for (int i = 0; i < (int)nodeMapCopies.size(); ++i) {
     1.8 +      for (int i = 0; i < int(nodeMapCopies.size()); ++i) {
     1.9          delete nodeMapCopies[i];
    1.10        }
    1.11 -      for (int i = 0; i < (int)edgeMapCopies.size(); ++i) {
    1.12 +      for (int i = 0; i < int(edgeMapCopies.size()); ++i) {
    1.13          delete edgeMapCopies[i];
    1.14        }
    1.15  
    1.16 @@ -836,9 +836,9 @@
    1.17      /// \brief Make a copy of the given node.
    1.18      ///
    1.19      /// Make a copy of the given node.
    1.20 -    GraphCopy& node(TNode& tnode, const Node& node) {
    1.21 +    GraphCopy& node(TNode& tnode, const Node& snode) {
    1.22        nodeMapCopies.push_back(new _graph_utils_bits::ItemCopy<Source, Node, 
    1.23 -                              NodeRefMap, TNode>(tnode, node));
    1.24 +                              NodeRefMap, TNode>(tnode, snode));
    1.25        return *this;
    1.26      }
    1.27  
    1.28 @@ -879,9 +879,9 @@
    1.29      /// \brief Make a copy of the given edge.
    1.30      ///
    1.31      /// Make a copy of the given edge.
    1.32 -    GraphCopy& edge(TEdge& tedge, const Edge& edge) {
    1.33 +    GraphCopy& edge(TEdge& tedge, const Edge& sedge) {
    1.34        edgeMapCopies.push_back(new _graph_utils_bits::ItemCopy<Source, Edge, 
    1.35 -                              EdgeRefMap, TEdge>(tedge, edge));
    1.36 +                              EdgeRefMap, TEdge>(tedge, sedge));
    1.37        return *this;
    1.38      }
    1.39  
    1.40 @@ -893,10 +893,10 @@
    1.41        EdgeRefMap edgeRefMap(source);
    1.42        _graph_utils_bits::GraphCopySelector<Target>::
    1.43          copy(target, source, nodeRefMap, edgeRefMap);
    1.44 -      for (int i = 0; i < (int)nodeMapCopies.size(); ++i) {
    1.45 +      for (int i = 0; i < int(nodeMapCopies.size()); ++i) {
    1.46          nodeMapCopies[i]->copy(source, nodeRefMap);
    1.47        }
    1.48 -      for (int i = 0; i < (int)edgeMapCopies.size(); ++i) {
    1.49 +      for (int i = 0; i < int(edgeMapCopies.size()); ++i) {
    1.50          edgeMapCopies[i]->copy(source, edgeRefMap);
    1.51        }      
    1.52      }
    1.53 @@ -967,9 +967,10 @@
    1.54        typedef typename Target::Edge Value;
    1.55  
    1.56        Value operator[](const Key& key) const {
    1.57 -        bool forward = (source.direction(key) == 
    1.58 -                        (node_ref[source.source((UEdge)key)] == 
    1.59 -                         target.source(uedge_ref[(UEdge)key])));
    1.60 +        bool forward = 
    1.61 +          (source.direction(key) == 
    1.62 +           (node_ref[source.source(static_cast<const UEdge&>(key))] == 
    1.63 +            target.source(uedge_ref[static_cast<const UEdge&>(key)])));
    1.64  	return target.direct(uedge_ref[key], forward); 
    1.65        }
    1.66        
    1.67 @@ -994,13 +995,13 @@
    1.68      ///
    1.69      /// Destructor of the GraphCopy
    1.70      ~UGraphCopy() {
    1.71 -      for (int i = 0; i < (int)nodeMapCopies.size(); ++i) {
    1.72 +      for (int i = 0; i < int(nodeMapCopies.size()); ++i) {
    1.73          delete nodeMapCopies[i];
    1.74        }
    1.75 -      for (int i = 0; i < (int)edgeMapCopies.size(); ++i) {
    1.76 +      for (int i = 0; i < int(edgeMapCopies.size()); ++i) {
    1.77          delete edgeMapCopies[i];
    1.78        }
    1.79 -      for (int i = 0; i < (int)uEdgeMapCopies.size(); ++i) {
    1.80 +      for (int i = 0; i < int(uEdgeMapCopies.size()); ++i) {
    1.81          delete uEdgeMapCopies[i];
    1.82        }
    1.83  
    1.84 @@ -1043,9 +1044,9 @@
    1.85      /// \brief Make a copy of the given node.
    1.86      ///
    1.87      /// Make a copy of the given node.
    1.88 -    UGraphCopy& node(TNode& tnode, const Node& node) {
    1.89 +    UGraphCopy& node(TNode& tnode, const Node& snode) {
    1.90        nodeMapCopies.push_back(new _graph_utils_bits::ItemCopy<Source, Node, 
    1.91 -                              NodeRefMap, TNode>(tnode, node));
    1.92 +                              NodeRefMap, TNode>(tnode, snode));
    1.93        return *this;
    1.94      }
    1.95  
    1.96 @@ -1086,9 +1087,9 @@
    1.97      /// \brief Make a copy of the given edge.
    1.98      ///
    1.99      /// Make a copy of the given edge.
   1.100 -    UGraphCopy& edge(TEdge& tedge, const Edge& edge) {
   1.101 +    UGraphCopy& edge(TEdge& tedge, const Edge& sedge) {
   1.102        edgeMapCopies.push_back(new _graph_utils_bits::ItemCopy<Source, Edge, 
   1.103 -                              EdgeRefMap, TEdge>(tedge, edge));
   1.104 +                              EdgeRefMap, TEdge>(tedge, sedge));
   1.105        return *this;
   1.106      }
   1.107  
   1.108 @@ -1129,9 +1130,9 @@
   1.109      /// \brief Make a copy of the given undirected edge.
   1.110      ///
   1.111      /// Make a copy of the given undirected edge.
   1.112 -    UGraphCopy& uEdge(TUEdge& tuedge, const UEdge& uedge) {
   1.113 +    UGraphCopy& uEdge(TUEdge& tuedge, const UEdge& suedge) {
   1.114        uEdgeMapCopies.push_back(new _graph_utils_bits::ItemCopy<Source, UEdge, 
   1.115 -                               UEdgeRefMap, TUEdge>(tuedge, uedge));
   1.116 +                               UEdgeRefMap, TUEdge>(tuedge, suedge));
   1.117        return *this;
   1.118      }
   1.119  
   1.120 @@ -1144,13 +1145,13 @@
   1.121        EdgeRefMap edgeRefMap(target, source, uEdgeRefMap, nodeRefMap);
   1.122        _graph_utils_bits::UGraphCopySelector<Target>::
   1.123          copy(target, source, nodeRefMap, uEdgeRefMap);
   1.124 -      for (int i = 0; i < (int)nodeMapCopies.size(); ++i) {
   1.125 +      for (int i = 0; i < int(nodeMapCopies.size()); ++i) {
   1.126          nodeMapCopies[i]->copy(source, nodeRefMap);
   1.127        }
   1.128 -      for (int i = 0; i < (int)uEdgeMapCopies.size(); ++i) {
   1.129 +      for (int i = 0; i < int(uEdgeMapCopies.size()); ++i) {
   1.130          uEdgeMapCopies[i]->copy(source, uEdgeRefMap);
   1.131        }
   1.132 -      for (int i = 0; i < (int)edgeMapCopies.size(); ++i) {
   1.133 +      for (int i = 0; i < int(edgeMapCopies.size()); ++i) {
   1.134          edgeMapCopies[i]->copy(source, edgeRefMap);
   1.135        }
   1.136      }
   1.137 @@ -1245,9 +1246,10 @@
   1.138        typedef typename Target::Edge Value;
   1.139  
   1.140        Value operator[](const Key& key) const {
   1.141 -        bool forward = (source.direction(key) == 
   1.142 -                        (node_ref[source.source((UEdge)key)] == 
   1.143 -                         target.source(uedge_ref[(UEdge)key])));
   1.144 +        bool forward = 
   1.145 +          (source.direction(key) == 
   1.146 +           (node_ref[source.source(static_cast<const UEdge&>(key))] == 
   1.147 +            target.source(uedge_ref[static_cast<const UEdge&>(key)])));
   1.148  	return target.direct(uedge_ref[key], forward); 
   1.149        }
   1.150        
   1.151 @@ -1271,19 +1273,19 @@
   1.152      ///
   1.153      /// Destructor of the GraphCopy
   1.154      ~BpUGraphCopy() {
   1.155 -      for (int i = 0; i < (int)aNodeMapCopies.size(); ++i) {
   1.156 +      for (int i = 0; i < int(aNodeMapCopies.size()); ++i) {
   1.157          delete aNodeMapCopies[i];
   1.158        }
   1.159 -      for (int i = 0; i < (int)bNodeMapCopies.size(); ++i) {
   1.160 +      for (int i = 0; i < int(bNodeMapCopies.size()); ++i) {
   1.161          delete bNodeMapCopies[i];
   1.162        }
   1.163 -      for (int i = 0; i < (int)nodeMapCopies.size(); ++i) {
   1.164 +      for (int i = 0; i < int(nodeMapCopies.size()); ++i) {
   1.165          delete nodeMapCopies[i];
   1.166        }
   1.167 -      for (int i = 0; i < (int)edgeMapCopies.size(); ++i) {
   1.168 +      for (int i = 0; i < int(edgeMapCopies.size()); ++i) {
   1.169          delete edgeMapCopies[i];
   1.170        }
   1.171 -      for (int i = 0; i < (int)uEdgeMapCopies.size(); ++i) {
   1.172 +      for (int i = 0; i < int(uEdgeMapCopies.size()); ++i) {
   1.173          delete uEdgeMapCopies[i];
   1.174        }
   1.175  
   1.176 @@ -1393,9 +1395,9 @@
   1.177      /// \brief Make a copy of the given node.
   1.178      ///
   1.179      /// Make a copy of the given node.
   1.180 -    BpUGraphCopy& node(TNode& tnode, const Node& node) {
   1.181 +    BpUGraphCopy& node(TNode& tnode, const Node& snode) {
   1.182        nodeMapCopies.push_back(new _graph_utils_bits::ItemCopy<Source, Node, 
   1.183 -                              NodeRefMap, TNode>(tnode, node));
   1.184 +                              NodeRefMap, TNode>(tnode, snode));
   1.185        return *this;
   1.186      }
   1.187  
   1.188 @@ -1436,9 +1438,9 @@
   1.189      /// \brief Make a copy of the given edge.
   1.190      ///
   1.191      /// Make a copy of the given edge.
   1.192 -    BpUGraphCopy& edge(TEdge& tedge, const Edge& edge) {
   1.193 +    BpUGraphCopy& edge(TEdge& tedge, const Edge& sedge) {
   1.194        edgeMapCopies.push_back(new _graph_utils_bits::ItemCopy<Source, Edge, 
   1.195 -                              EdgeRefMap, TEdge>(tedge, edge));
   1.196 +                              EdgeRefMap, TEdge>(tedge, sedge));
   1.197        return *this;
   1.198      }
   1.199  
   1.200 @@ -1479,9 +1481,9 @@
   1.201      /// \brief Make a copy of the given undirected edge.
   1.202      ///
   1.203      /// Make a copy of the given undirected edge.
   1.204 -    BpUGraphCopy& uEdge(TUEdge& tuedge, const UEdge& uedge) {
   1.205 +    BpUGraphCopy& uEdge(TUEdge& tuedge, const UEdge& suedge) {
   1.206        uEdgeMapCopies.push_back(new _graph_utils_bits::ItemCopy<Source, UEdge, 
   1.207 -                               UEdgeRefMap, TUEdge>(tuedge, uedge));
   1.208 +                               UEdgeRefMap, TUEdge>(tuedge, suedge));
   1.209        return *this;
   1.210      }
   1.211  
   1.212 @@ -1496,19 +1498,19 @@
   1.213        EdgeRefMap edgeRefMap(target, source, uEdgeRefMap, nodeRefMap);
   1.214        _graph_utils_bits::BpUGraphCopySelector<Target>::
   1.215          copy(target, source, aNodeRefMap, bNodeRefMap, uEdgeRefMap);
   1.216 -      for (int i = 0; i < (int)aNodeMapCopies.size(); ++i) {
   1.217 +      for (int i = 0; i < int(aNodeMapCopies.size()); ++i) {
   1.218          aNodeMapCopies[i]->copy(source, aNodeRefMap);
   1.219        }
   1.220 -      for (int i = 0; i < (int)bNodeMapCopies.size(); ++i) {
   1.221 +      for (int i = 0; i < int(bNodeMapCopies.size()); ++i) {
   1.222          bNodeMapCopies[i]->copy(source, bNodeRefMap);
   1.223        }
   1.224 -      for (int i = 0; i < (int)nodeMapCopies.size(); ++i) {
   1.225 +      for (int i = 0; i < int(nodeMapCopies.size()); ++i) {
   1.226          nodeMapCopies[i]->copy(source, nodeRefMap);
   1.227        }
   1.228 -      for (int i = 0; i < (int)uEdgeMapCopies.size(); ++i) {
   1.229 +      for (int i = 0; i < int(uEdgeMapCopies.size()); ++i) {
   1.230          uEdgeMapCopies[i]->copy(source, uEdgeRefMap);
   1.231        }
   1.232 -      for (int i = 0; i < (int)edgeMapCopies.size(); ++i) {
   1.233 +      for (int i = 0; i < int(edgeMapCopies.size()); ++i) {
   1.234          edgeMapCopies[i]->copy(source, edgeRefMap);
   1.235        }
   1.236      }
   1.237 @@ -1777,7 +1779,7 @@
   1.238      /// Erase more keys from the map. It is called by the
   1.239      /// \c AlterationNotifier.
   1.240      virtual void erase(const std::vector<Key>& keys) {
   1.241 -      for (int i = 0; i < (int)keys.size(); ++i) {
   1.242 +      for (int i = 0; i < int(keys.size()); ++i) {
   1.243  	Value val = Map::operator[](keys[i]);
   1.244  	typename Container::iterator it = invMap.find(val);
   1.245  	if (it != invMap.end() && it->second == keys[i]) {
   1.246 @@ -1873,8 +1875,8 @@
   1.247      /// Constructor for descriptor map.
   1.248      explicit DescriptorMap(const Graph& _graph) : Map(_graph) {
   1.249        Item it;
   1.250 -      const typename Map::Notifier* notifier = Map::notifier(); 
   1.251 -      for (notifier->first(it); it != INVALID; notifier->next(it)) {
   1.252 +      const typename Map::Notifier* nf = Map::notifier(); 
   1.253 +      for (nf->first(it); it != INVALID; nf->next(it)) {
   1.254  	Map::set(it, invMap.size());
   1.255  	invMap.push_back(it);	
   1.256        }      
   1.257 @@ -1898,7 +1900,7 @@
   1.258      /// \c AlterationNotifier.
   1.259      virtual void add(const std::vector<Item>& items) {
   1.260        Map::add(items);
   1.261 -      for (int i = 0; i < (int)items.size(); ++i) {
   1.262 +      for (int i = 0; i < int(items.size()); ++i) {
   1.263  	Map::set(items[i], invMap.size());
   1.264  	invMap.push_back(items[i]);
   1.265        }
   1.266 @@ -1920,7 +1922,7 @@
   1.267      /// Erase more keys from the map. It is called by the
   1.268      /// \c AlterationNotifier.
   1.269      virtual void erase(const std::vector<Item>& items) {
   1.270 -      for (int i = 0; i < (int)items.size(); ++i) {
   1.271 +      for (int i = 0; i < int(items.size()); ++i) {
   1.272  	Map::set(invMap.back(), Map::operator[](items[i]));
   1.273  	invMap[Map::operator[](items[i])] = invMap.back();
   1.274  	invMap.pop_back();
   1.275 @@ -1935,8 +1937,8 @@
   1.276      virtual void build() {
   1.277        Map::build();
   1.278        Item it;
   1.279 -      const typename Map::Notifier* notifier = Map::notifier(); 
   1.280 -      for (notifier->first(it); it != INVALID; notifier->next(it)) {
   1.281 +      const typename Map::Notifier* nf = Map::notifier(); 
   1.282 +      for (nf->first(it); it != INVALID; nf->next(it)) {
   1.283  	Map::set(it, invMap.size());
   1.284  	invMap.push_back(it);	
   1.285        }      
   1.286 @@ -2280,7 +2282,7 @@
   1.287  
   1.288        virtual void add(const std::vector<Key>& keys) {
   1.289  	Parent::add(keys);
   1.290 -	for (int i = 0; i < (int)keys.size(); ++i) {
   1.291 +	for (int i = 0; i < int(keys.size()); ++i) {
   1.292  	  Parent::set(keys[i], 0);
   1.293  	}
   1.294        }
   1.295 @@ -2313,7 +2315,7 @@
   1.296      }
   1.297  
   1.298      virtual void add(const std::vector<Edge>& edges) {
   1.299 -      for (int i = 0; i < (int)edges.size(); ++i) {
   1.300 +      for (int i = 0; i < int(edges.size()); ++i) {
   1.301          ++deg[graph.target(edges[i])];
   1.302        }
   1.303      }
   1.304 @@ -2323,7 +2325,7 @@
   1.305      }
   1.306  
   1.307      virtual void erase(const std::vector<Edge>& edges) {
   1.308 -      for (int i = 0; i < (int)edges.size(); ++i) {
   1.309 +      for (int i = 0; i < int(edges.size()); ++i) {
   1.310          --deg[graph.target(edges[i])];
   1.311        }
   1.312      }
   1.313 @@ -2392,7 +2394,7 @@
   1.314        }
   1.315        virtual void add(const std::vector<Key>& keys) {
   1.316  	Parent::add(keys);
   1.317 -	for (int i = 0; i < (int)keys.size(); ++i) {
   1.318 +	for (int i = 0; i < int(keys.size()); ++i) {
   1.319  	  Parent::set(keys[i], 0);
   1.320  	}
   1.321        }
   1.322 @@ -2425,7 +2427,7 @@
   1.323      }
   1.324  
   1.325      virtual void add(const std::vector<Edge>& edges) {
   1.326 -      for (int i = 0; i < (int)edges.size(); ++i) {
   1.327 +      for (int i = 0; i < int(edges.size()); ++i) {
   1.328          ++deg[graph.source(edges[i])];
   1.329        }
   1.330      }
   1.331 @@ -2435,7 +2437,7 @@
   1.332      }
   1.333  
   1.334      virtual void erase(const std::vector<Edge>& edges) {
   1.335 -      for (int i = 0; i < (int)edges.size(); ++i) {
   1.336 +      for (int i = 0; i < int(edges.size()); ++i) {
   1.337          --deg[graph.source(edges[i])];
   1.338        }
   1.339      }