Changeset 2386:81b47fc5c444 in lemon-0.x for lemon/graph_utils.h
- Timestamp:
- 03/02/07 19:04:28 (17 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@3217
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/graph_utils.h
r2384 r2386 791 791 /// Destructor of the GraphCopy 792 792 ~GraphCopy() { 793 for (int i = 0; i < (int)nodeMapCopies.size(); ++i) {793 for (int i = 0; i < int(nodeMapCopies.size()); ++i) { 794 794 delete nodeMapCopies[i]; 795 795 } 796 for (int i = 0; i < (int)edgeMapCopies.size(); ++i) {796 for (int i = 0; i < int(edgeMapCopies.size()); ++i) { 797 797 delete edgeMapCopies[i]; 798 798 } … … 837 837 /// 838 838 /// Make a copy of the given node. 839 GraphCopy& node(TNode& tnode, const Node& node) {839 GraphCopy& node(TNode& tnode, const Node& snode) { 840 840 nodeMapCopies.push_back(new _graph_utils_bits::ItemCopy<Source, Node, 841 NodeRefMap, TNode>(tnode, node));841 NodeRefMap, TNode>(tnode, snode)); 842 842 return *this; 843 843 } … … 880 880 /// 881 881 /// Make a copy of the given edge. 882 GraphCopy& edge(TEdge& tedge, const Edge& edge) {882 GraphCopy& edge(TEdge& tedge, const Edge& sedge) { 883 883 edgeMapCopies.push_back(new _graph_utils_bits::ItemCopy<Source, Edge, 884 EdgeRefMap, TEdge>(tedge, edge));884 EdgeRefMap, TEdge>(tedge, sedge)); 885 885 return *this; 886 886 } … … 894 894 _graph_utils_bits::GraphCopySelector<Target>:: 895 895 copy(target, source, nodeRefMap, edgeRefMap); 896 for (int i = 0; i < (int)nodeMapCopies.size(); ++i) {896 for (int i = 0; i < int(nodeMapCopies.size()); ++i) { 897 897 nodeMapCopies[i]->copy(source, nodeRefMap); 898 898 } 899 for (int i = 0; i < (int)edgeMapCopies.size(); ++i) {899 for (int i = 0; i < int(edgeMapCopies.size()); ++i) { 900 900 edgeMapCopies[i]->copy(source, edgeRefMap); 901 901 } … … 968 968 969 969 Value operator[](const Key& key) const { 970 bool forward = (source.direction(key) == 971 (node_ref[source.source((UEdge)key)] == 972 target.source(uedge_ref[(UEdge)key]))); 970 bool forward = 971 (source.direction(key) == 972 (node_ref[source.source(static_cast<const UEdge&>(key))] == 973 target.source(uedge_ref[static_cast<const UEdge&>(key)]))); 973 974 return target.direct(uedge_ref[key], forward); 974 975 } … … 995 996 /// Destructor of the GraphCopy 996 997 ~UGraphCopy() { 997 for (int i = 0; i < (int)nodeMapCopies.size(); ++i) {998 for (int i = 0; i < int(nodeMapCopies.size()); ++i) { 998 999 delete nodeMapCopies[i]; 999 1000 } 1000 for (int i = 0; i < (int)edgeMapCopies.size(); ++i) {1001 for (int i = 0; i < int(edgeMapCopies.size()); ++i) { 1001 1002 delete edgeMapCopies[i]; 1002 1003 } 1003 for (int i = 0; i < (int)uEdgeMapCopies.size(); ++i) {1004 for (int i = 0; i < int(uEdgeMapCopies.size()); ++i) { 1004 1005 delete uEdgeMapCopies[i]; 1005 1006 } … … 1044 1045 /// 1045 1046 /// Make a copy of the given node. 1046 UGraphCopy& node(TNode& tnode, const Node& node) {1047 UGraphCopy& node(TNode& tnode, const Node& snode) { 1047 1048 nodeMapCopies.push_back(new _graph_utils_bits::ItemCopy<Source, Node, 1048 NodeRefMap, TNode>(tnode, node));1049 NodeRefMap, TNode>(tnode, snode)); 1049 1050 return *this; 1050 1051 } … … 1087 1088 /// 1088 1089 /// Make a copy of the given edge. 1089 UGraphCopy& edge(TEdge& tedge, const Edge& edge) {1090 UGraphCopy& edge(TEdge& tedge, const Edge& sedge) { 1090 1091 edgeMapCopies.push_back(new _graph_utils_bits::ItemCopy<Source, Edge, 1091 EdgeRefMap, TEdge>(tedge, edge));1092 EdgeRefMap, TEdge>(tedge, sedge)); 1092 1093 return *this; 1093 1094 } … … 1130 1131 /// 1131 1132 /// Make a copy of the given undirected edge. 1132 UGraphCopy& uEdge(TUEdge& tuedge, const UEdge& uedge) {1133 UGraphCopy& uEdge(TUEdge& tuedge, const UEdge& suedge) { 1133 1134 uEdgeMapCopies.push_back(new _graph_utils_bits::ItemCopy<Source, UEdge, 1134 UEdgeRefMap, TUEdge>(tuedge, uedge));1135 UEdgeRefMap, TUEdge>(tuedge, suedge)); 1135 1136 return *this; 1136 1137 } … … 1145 1146 _graph_utils_bits::UGraphCopySelector<Target>:: 1146 1147 copy(target, source, nodeRefMap, uEdgeRefMap); 1147 for (int i = 0; i < (int)nodeMapCopies.size(); ++i) {1148 for (int i = 0; i < int(nodeMapCopies.size()); ++i) { 1148 1149 nodeMapCopies[i]->copy(source, nodeRefMap); 1149 1150 } 1150 for (int i = 0; i < (int)uEdgeMapCopies.size(); ++i) {1151 for (int i = 0; i < int(uEdgeMapCopies.size()); ++i) { 1151 1152 uEdgeMapCopies[i]->copy(source, uEdgeRefMap); 1152 1153 } 1153 for (int i = 0; i < (int)edgeMapCopies.size(); ++i) {1154 for (int i = 0; i < int(edgeMapCopies.size()); ++i) { 1154 1155 edgeMapCopies[i]->copy(source, edgeRefMap); 1155 1156 } … … 1246 1247 1247 1248 Value operator[](const Key& key) const { 1248 bool forward = (source.direction(key) == 1249 (node_ref[source.source((UEdge)key)] == 1250 target.source(uedge_ref[(UEdge)key]))); 1249 bool forward = 1250 (source.direction(key) == 1251 (node_ref[source.source(static_cast<const UEdge&>(key))] == 1252 target.source(uedge_ref[static_cast<const UEdge&>(key)]))); 1251 1253 return target.direct(uedge_ref[key], forward); 1252 1254 } … … 1272 1274 /// Destructor of the GraphCopy 1273 1275 ~BpUGraphCopy() { 1274 for (int i = 0; i < (int)aNodeMapCopies.size(); ++i) {1276 for (int i = 0; i < int(aNodeMapCopies.size()); ++i) { 1275 1277 delete aNodeMapCopies[i]; 1276 1278 } 1277 for (int i = 0; i < (int)bNodeMapCopies.size(); ++i) {1279 for (int i = 0; i < int(bNodeMapCopies.size()); ++i) { 1278 1280 delete bNodeMapCopies[i]; 1279 1281 } 1280 for (int i = 0; i < (int)nodeMapCopies.size(); ++i) {1282 for (int i = 0; i < int(nodeMapCopies.size()); ++i) { 1281 1283 delete nodeMapCopies[i]; 1282 1284 } 1283 for (int i = 0; i < (int)edgeMapCopies.size(); ++i) {1285 for (int i = 0; i < int(edgeMapCopies.size()); ++i) { 1284 1286 delete edgeMapCopies[i]; 1285 1287 } 1286 for (int i = 0; i < (int)uEdgeMapCopies.size(); ++i) {1288 for (int i = 0; i < int(uEdgeMapCopies.size()); ++i) { 1287 1289 delete uEdgeMapCopies[i]; 1288 1290 } … … 1394 1396 /// 1395 1397 /// Make a copy of the given node. 1396 BpUGraphCopy& node(TNode& tnode, const Node& node) {1398 BpUGraphCopy& node(TNode& tnode, const Node& snode) { 1397 1399 nodeMapCopies.push_back(new _graph_utils_bits::ItemCopy<Source, Node, 1398 NodeRefMap, TNode>(tnode, node));1400 NodeRefMap, TNode>(tnode, snode)); 1399 1401 return *this; 1400 1402 } … … 1437 1439 /// 1438 1440 /// Make a copy of the given edge. 1439 BpUGraphCopy& edge(TEdge& tedge, const Edge& edge) {1441 BpUGraphCopy& edge(TEdge& tedge, const Edge& sedge) { 1440 1442 edgeMapCopies.push_back(new _graph_utils_bits::ItemCopy<Source, Edge, 1441 EdgeRefMap, TEdge>(tedge, edge));1443 EdgeRefMap, TEdge>(tedge, sedge)); 1442 1444 return *this; 1443 1445 } … … 1480 1482 /// 1481 1483 /// Make a copy of the given undirected edge. 1482 BpUGraphCopy& uEdge(TUEdge& tuedge, const UEdge& uedge) {1484 BpUGraphCopy& uEdge(TUEdge& tuedge, const UEdge& suedge) { 1483 1485 uEdgeMapCopies.push_back(new _graph_utils_bits::ItemCopy<Source, UEdge, 1484 UEdgeRefMap, TUEdge>(tuedge, uedge));1486 UEdgeRefMap, TUEdge>(tuedge, suedge)); 1485 1487 return *this; 1486 1488 } … … 1497 1499 _graph_utils_bits::BpUGraphCopySelector<Target>:: 1498 1500 copy(target, source, aNodeRefMap, bNodeRefMap, uEdgeRefMap); 1499 for (int i = 0; i < (int)aNodeMapCopies.size(); ++i) {1501 for (int i = 0; i < int(aNodeMapCopies.size()); ++i) { 1500 1502 aNodeMapCopies[i]->copy(source, aNodeRefMap); 1501 1503 } 1502 for (int i = 0; i < (int)bNodeMapCopies.size(); ++i) {1504 for (int i = 0; i < int(bNodeMapCopies.size()); ++i) { 1503 1505 bNodeMapCopies[i]->copy(source, bNodeRefMap); 1504 1506 } 1505 for (int i = 0; i < (int)nodeMapCopies.size(); ++i) {1507 for (int i = 0; i < int(nodeMapCopies.size()); ++i) { 1506 1508 nodeMapCopies[i]->copy(source, nodeRefMap); 1507 1509 } 1508 for (int i = 0; i < (int)uEdgeMapCopies.size(); ++i) {1510 for (int i = 0; i < int(uEdgeMapCopies.size()); ++i) { 1509 1511 uEdgeMapCopies[i]->copy(source, uEdgeRefMap); 1510 1512 } 1511 for (int i = 0; i < (int)edgeMapCopies.size(); ++i) {1513 for (int i = 0; i < int(edgeMapCopies.size()); ++i) { 1512 1514 edgeMapCopies[i]->copy(source, edgeRefMap); 1513 1515 } … … 1778 1780 /// \c AlterationNotifier. 1779 1781 virtual void erase(const std::vector<Key>& keys) { 1780 for (int i = 0; i < (int)keys.size(); ++i) {1782 for (int i = 0; i < int(keys.size()); ++i) { 1781 1783 Value val = Map::operator[](keys[i]); 1782 1784 typename Container::iterator it = invMap.find(val); … … 1874 1876 explicit DescriptorMap(const Graph& _graph) : Map(_graph) { 1875 1877 Item it; 1876 const typename Map::Notifier* n otifier= Map::notifier();1877 for (n otifier->first(it); it != INVALID; notifier->next(it)) {1878 const typename Map::Notifier* nf = Map::notifier(); 1879 for (nf->first(it); it != INVALID; nf->next(it)) { 1878 1880 Map::set(it, invMap.size()); 1879 1881 invMap.push_back(it); … … 1899 1901 virtual void add(const std::vector<Item>& items) { 1900 1902 Map::add(items); 1901 for (int i = 0; i < (int)items.size(); ++i) {1903 for (int i = 0; i < int(items.size()); ++i) { 1902 1904 Map::set(items[i], invMap.size()); 1903 1905 invMap.push_back(items[i]); … … 1921 1923 /// \c AlterationNotifier. 1922 1924 virtual void erase(const std::vector<Item>& items) { 1923 for (int i = 0; i < (int)items.size(); ++i) {1925 for (int i = 0; i < int(items.size()); ++i) { 1924 1926 Map::set(invMap.back(), Map::operator[](items[i])); 1925 1927 invMap[Map::operator[](items[i])] = invMap.back(); … … 1936 1938 Map::build(); 1937 1939 Item it; 1938 const typename Map::Notifier* n otifier= Map::notifier();1939 for (n otifier->first(it); it != INVALID; notifier->next(it)) {1940 const typename Map::Notifier* nf = Map::notifier(); 1941 for (nf->first(it); it != INVALID; nf->next(it)) { 1940 1942 Map::set(it, invMap.size()); 1941 1943 invMap.push_back(it); … … 2281 2283 virtual void add(const std::vector<Key>& keys) { 2282 2284 Parent::add(keys); 2283 for (int i = 0; i < (int)keys.size(); ++i) {2285 for (int i = 0; i < int(keys.size()); ++i) { 2284 2286 Parent::set(keys[i], 0); 2285 2287 } … … 2314 2316 2315 2317 virtual void add(const std::vector<Edge>& edges) { 2316 for (int i = 0; i < (int)edges.size(); ++i) {2318 for (int i = 0; i < int(edges.size()); ++i) { 2317 2319 ++deg[graph.target(edges[i])]; 2318 2320 } … … 2324 2326 2325 2327 virtual void erase(const std::vector<Edge>& edges) { 2326 for (int i = 0; i < (int)edges.size(); ++i) {2328 for (int i = 0; i < int(edges.size()); ++i) { 2327 2329 --deg[graph.target(edges[i])]; 2328 2330 } … … 2393 2395 virtual void add(const std::vector<Key>& keys) { 2394 2396 Parent::add(keys); 2395 for (int i = 0; i < (int)keys.size(); ++i) {2397 for (int i = 0; i < int(keys.size()); ++i) { 2396 2398 Parent::set(keys[i], 0); 2397 2399 } … … 2426 2428 2427 2429 virtual void add(const std::vector<Edge>& edges) { 2428 for (int i = 0; i < (int)edges.size(); ++i) {2430 for (int i = 0; i < int(edges.size()); ++i) { 2429 2431 ++deg[graph.source(edges[i])]; 2430 2432 } … … 2436 2438 2437 2439 virtual void erase(const std::vector<Edge>& edges) { 2438 for (int i = 0; i < (int)edges.size(); ++i) {2440 for (int i = 0; i < int(edges.size()); ++i) { 2439 2441 --deg[graph.source(edges[i])]; 2440 2442 }
Note: See TracChangeset
for help on using the changeset viewer.