Changes in / [260:c691064dfd4f:259:362415050b29] in lemon-main
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/bfs.h
r258 r252 231 231 232 232 template <class T> 233 struct SetPredMapTraits : public Traits {233 struct DefPredMapTraits : public Traits { 234 234 typedef T PredMap; 235 235 static PredMap *createPredMap(const Digraph &) … … 244 244 ///\ref PredMap type. 245 245 template <class T> 246 struct SetPredMap : public Bfs< Digraph, SetPredMapTraits<T> > {247 typedef Bfs< Digraph, SetPredMapTraits<T> > Create;246 struct DefPredMap : public Bfs< Digraph, DefPredMapTraits<T> > { 247 typedef Bfs< Digraph, DefPredMapTraits<T> > Create; 248 248 }; 249 249 250 250 template <class T> 251 struct SetDistMapTraits : public Traits {251 struct DefDistMapTraits : public Traits { 252 252 typedef T DistMap; 253 253 static DistMap *createDistMap(const Digraph &) … … 262 262 ///\ref DistMap type. 263 263 template <class T> 264 struct SetDistMap : public Bfs< Digraph, SetDistMapTraits<T> > {265 typedef Bfs< Digraph, SetDistMapTraits<T> > Create;264 struct DefDistMap : public Bfs< Digraph, DefDistMapTraits<T> > { 265 typedef Bfs< Digraph, DefDistMapTraits<T> > Create; 266 266 }; 267 267 268 268 template <class T> 269 struct SetReachedMapTraits : public Traits {269 struct DefReachedMapTraits : public Traits { 270 270 typedef T ReachedMap; 271 271 static ReachedMap *createReachedMap(const Digraph &) … … 280 280 ///\ref ReachedMap type. 281 281 template <class T> 282 struct SetReachedMap : public Bfs< Digraph, SetReachedMapTraits<T> > {283 typedef Bfs< Digraph, SetReachedMapTraits<T> > Create;282 struct DefReachedMap : public Bfs< Digraph, DefReachedMapTraits<T> > { 283 typedef Bfs< Digraph, DefReachedMapTraits<T> > Create; 284 284 }; 285 285 286 286 template <class T> 287 struct SetProcessedMapTraits : public Traits {287 struct DefProcessedMapTraits : public Traits { 288 288 typedef T ProcessedMap; 289 289 static ProcessedMap *createProcessedMap(const Digraph &) … … 298 298 ///\ref ProcessedMap type. 299 299 template <class T> 300 struct SetProcessedMap : public Bfs< Digraph, SetProcessedMapTraits<T> > {301 typedef Bfs< Digraph, SetProcessedMapTraits<T> > Create;302 }; 303 304 struct SetStandardProcessedMapTraits : public Traits {300 struct DefProcessedMap : public Bfs< Digraph, DefProcessedMapTraits<T> > { 301 typedef Bfs< Digraph, DefProcessedMapTraits<T> > Create; 302 }; 303 304 struct DefDigraphProcessedMapTraits : public Traits { 305 305 typedef typename Digraph::template NodeMap<bool> ProcessedMap; 306 306 static ProcessedMap *createProcessedMap(const Digraph &g) … … 315 315 ///\ref ProcessedMap type to be <tt>Digraph::NodeMap<bool></tt>. 316 316 ///If you don't set it explicitly, it will be automatically allocated. 317 struct SetStandardProcessedMap : 318 public Bfs< Digraph, SetStandardProcessedMapTraits > { 319 typedef Bfs< Digraph, SetStandardProcessedMapTraits > Create; 317 template <class T> 318 struct DefProcessedMapToBeDefaultMap : 319 public Bfs< Digraph, DefDigraphProcessedMapTraits> { 320 typedef Bfs< Digraph, DefDigraphProcessedMapTraits> Create; 320 321 }; 321 322 … … 1065 1066 1066 1067 template<class T> 1067 struct SetPredMapBase : public Base {1068 struct DefPredMapBase : public Base { 1068 1069 typedef T PredMap; 1069 1070 static PredMap *createPredMap(const Digraph &) { return 0; }; 1070 SetPredMapBase(const TR &b) : TR(b) {}1071 DefPredMapBase(const TR &b) : TR(b) {} 1071 1072 }; 1072 1073 ///\brief \ref named-templ-param "Named parameter" … … 1076 1077 ///for setting \ref PredMap object. 1077 1078 template<class T> 1078 BfsWizard< SetPredMapBase<T> > predMap(const T &t)1079 BfsWizard<DefPredMapBase<T> > predMap(const T &t) 1079 1080 { 1080 1081 Base::_pred=reinterpret_cast<void*>(const_cast<T*>(&t)); 1081 return BfsWizard< SetPredMapBase<T> >(*this);1082 return BfsWizard<DefPredMapBase<T> >(*this); 1082 1083 } 1083 1084 1084 1085 template<class T> 1085 struct SetReachedMapBase : public Base {1086 struct DefReachedMapBase : public Base { 1086 1087 typedef T ReachedMap; 1087 1088 static ReachedMap *createReachedMap(const Digraph &) { return 0; }; 1088 SetReachedMapBase(const TR &b) : TR(b) {}1089 DefReachedMapBase(const TR &b) : TR(b) {} 1089 1090 }; 1090 1091 ///\brief \ref named-templ-param "Named parameter" … … 1094 1095 ///for setting \ref ReachedMap object. 1095 1096 template<class T> 1096 BfsWizard< SetReachedMapBase<T> > reachedMap(const T &t)1097 BfsWizard<DefReachedMapBase<T> > reachedMap(const T &t) 1097 1098 { 1098 1099 Base::_reached=reinterpret_cast<void*>(const_cast<T*>(&t)); 1099 return BfsWizard< SetReachedMapBase<T> >(*this);1100 return BfsWizard<DefReachedMapBase<T> >(*this); 1100 1101 } 1101 1102 1102 1103 template<class T> 1103 struct SetProcessedMapBase : public Base {1104 struct DefProcessedMapBase : public Base { 1104 1105 typedef T ProcessedMap; 1105 1106 static ProcessedMap *createProcessedMap(const Digraph &) { return 0; }; 1106 SetProcessedMapBase(const TR &b) : TR(b) {}1107 DefProcessedMapBase(const TR &b) : TR(b) {} 1107 1108 }; 1108 1109 ///\brief \ref named-templ-param "Named parameter" … … 1112 1113 ///for setting \ref ProcessedMap object. 1113 1114 template<class T> 1114 BfsWizard< SetProcessedMapBase<T> > processedMap(const T &t)1115 BfsWizard<DefProcessedMapBase<T> > processedMap(const T &t) 1115 1116 { 1116 1117 Base::_processed=reinterpret_cast<void*>(const_cast<T*>(&t)); 1117 return BfsWizard< SetProcessedMapBase<T> >(*this);1118 return BfsWizard<DefProcessedMapBase<T> >(*this); 1118 1119 } 1119 1120 1120 1121 template<class T> 1121 struct SetDistMapBase : public Base {1122 struct DefDistMapBase : public Base { 1122 1123 typedef T DistMap; 1123 1124 static DistMap *createDistMap(const Digraph &) { return 0; }; 1124 SetDistMapBase(const TR &b) : TR(b) {}1125 DefDistMapBase(const TR &b) : TR(b) {} 1125 1126 }; 1126 1127 ///\brief \ref named-templ-param "Named parameter" … … 1130 1131 ///for setting \ref DistMap object. 1131 1132 template<class T> 1132 BfsWizard< SetDistMapBase<T> > distMap(const T &t)1133 BfsWizard<DefDistMapBase<T> > distMap(const T &t) 1133 1134 { 1134 1135 Base::_dist=reinterpret_cast<void*>(const_cast<T*>(&t)); 1135 return BfsWizard< SetDistMapBase<T> >(*this);1136 return BfsWizard<DefDistMapBase<T> >(*this); 1136 1137 } 1137 1138 … … 1354 1355 ///@{ 1355 1356 template <class T> 1356 struct SetReachedMapTraits : public Traits {1357 struct DefReachedMapTraits : public Traits { 1357 1358 typedef T ReachedMap; 1358 1359 static ReachedMap *createReachedMap(const Digraph &digraph) { … … 1365 1366 /// \ref named-templ-param "Named parameter" for setting ReachedMap type. 1366 1367 template <class T> 1367 struct SetReachedMap : public BfsVisit< Digraph, Visitor,1368 SetReachedMapTraits<T> > {1369 typedef BfsVisit< Digraph, Visitor, SetReachedMapTraits<T> > Create;1368 struct DefReachedMap : public BfsVisit< Digraph, Visitor, 1369 DefReachedMapTraits<T> > { 1370 typedef BfsVisit< Digraph, Visitor, DefReachedMapTraits<T> > Create; 1370 1371 }; 1371 1372 ///@} -
lemon/bits/base_extender.h
r256 r220 60 60 Arc() {} 61 61 62 // Invalid arc constructor62 /// Invalid arc constructor 63 63 Arc(Invalid i) : Edge(i), forward(true) {} 64 64 … … 75 75 }; 76 76 77 /// First node of the edge 78 Node u(const Edge &e) const { 79 return Parent::source(e); 80 } 81 82 /// Source of the given arc 77 78 79 using Parent::source; 80 81 /// Source of the given Arc. 83 82 Node source(const Arc &e) const { 84 83 return e.forward ? Parent::source(e) : Parent::target(e); 85 84 } 86 85 87 /// Second node of the edge 88 Node v(const Edge &e) const { 89 return Parent::target(e); 90 } 91 92 /// Target of the given arc 86 using Parent::target; 87 88 /// Target of the given Arc. 93 89 Node target(const Arc &e) const { 94 90 return e.forward ? Parent::target(e) : Parent::source(e); … … 97 93 /// \brief Directed arc from an edge. 98 94 /// 99 /// Returns a directed arc corresponding to the specified edge.100 /// If the given bool is true , the first node of the given edge and101 /// the source node of the returned arc are the same.102 static Arc direct(const Edge & e, bool d) {103 return Arc( e, d);104 } 105 106 /// Returns whether the given directed arc has the same orientation107 /// as thecorresponding edge.95 /// Returns a directed arc corresponding to the specified Edge. 96 /// If the given bool is true the given edge and the 97 /// returned arc have the same source node. 98 static Arc direct(const Edge &ue, bool d) { 99 return Arc(ue, d); 100 } 101 102 /// Returns whether the given directed arc is same orientation as the 103 /// corresponding edge. 108 104 /// 109 105 /// \todo reference to the corresponding point of the undirected digraph 110 106 /// concept. "What does the direction of an edge mean?" 111 static bool direction(const Arc &a) { return a.forward; } 107 static bool direction(const Arc &e) { return e.forward; } 108 112 109 113 110 using Parent::first; … … 232 229 return Parent::maxArcId(); 233 230 } 231 234 232 235 233 int arcNum() const { -
lemon/dfs.h
r258 r252 231 231 232 232 template <class T> 233 struct SetPredMapTraits : public Traits {233 struct DefPredMapTraits : public Traits { 234 234 typedef T PredMap; 235 235 static PredMap *createPredMap(const Digraph &) … … 244 244 ///\ref PredMap type. 245 245 template <class T> 246 struct SetPredMap : public Dfs<Digraph, SetPredMapTraits<T> > {247 typedef Dfs<Digraph, SetPredMapTraits<T> > Create;246 struct DefPredMap : public Dfs<Digraph, DefPredMapTraits<T> > { 247 typedef Dfs<Digraph, DefPredMapTraits<T> > Create; 248 248 }; 249 249 250 250 template <class T> 251 struct SetDistMapTraits : public Traits {251 struct DefDistMapTraits : public Traits { 252 252 typedef T DistMap; 253 253 static DistMap *createDistMap(const Digraph &) … … 262 262 ///\ref DistMap type. 263 263 template <class T> 264 struct SetDistMap : public Dfs< Digraph, SetDistMapTraits<T> > {265 typedef Dfs<Digraph, SetDistMapTraits<T> > Create;264 struct DefDistMap : public Dfs< Digraph, DefDistMapTraits<T> > { 265 typedef Dfs<Digraph, DefDistMapTraits<T> > Create; 266 266 }; 267 267 268 268 template <class T> 269 struct SetReachedMapTraits : public Traits {269 struct DefReachedMapTraits : public Traits { 270 270 typedef T ReachedMap; 271 271 static ReachedMap *createReachedMap(const Digraph &) … … 280 280 ///\ref ReachedMap type. 281 281 template <class T> 282 struct SetReachedMap : public Dfs< Digraph, SetReachedMapTraits<T> > {283 typedef Dfs< Digraph, SetReachedMapTraits<T> > Create;282 struct DefReachedMap : public Dfs< Digraph, DefReachedMapTraits<T> > { 283 typedef Dfs< Digraph, DefReachedMapTraits<T> > Create; 284 284 }; 285 285 286 286 template <class T> 287 struct SetProcessedMapTraits : public Traits {287 struct DefProcessedMapTraits : public Traits { 288 288 typedef T ProcessedMap; 289 289 static ProcessedMap *createProcessedMap(const Digraph &) … … 298 298 ///\ref ProcessedMap type. 299 299 template <class T> 300 struct SetProcessedMap : public Dfs< Digraph, SetProcessedMapTraits<T> > {301 typedef Dfs< Digraph, SetProcessedMapTraits<T> > Create;302 }; 303 304 struct SetStandardProcessedMapTraits : public Traits {300 struct DefProcessedMap : public Dfs< Digraph, DefProcessedMapTraits<T> > { 301 typedef Dfs< Digraph, DefProcessedMapTraits<T> > Create; 302 }; 303 304 struct DefDigraphProcessedMapTraits : public Traits { 305 305 typedef typename Digraph::template NodeMap<bool> ProcessedMap; 306 306 static ProcessedMap *createProcessedMap(const Digraph &g) … … 315 315 ///\ref ProcessedMap type to be <tt>Digraph::NodeMap<bool></tt>. 316 316 ///If you don't set it explicitly, it will be automatically allocated. 317 struct SetStandardProcessedMap : 318 public Dfs< Digraph, SetStandardProcessedMapTraits > { 319 typedef Dfs< Digraph, SetStandardProcessedMapTraits > Create; 317 template <class T> 318 struct DefProcessedMapToBeDefaultMap : 319 public Dfs< Digraph, DefDigraphProcessedMapTraits> { 320 typedef Dfs< Digraph, DefDigraphProcessedMapTraits> Create; 320 321 }; 321 322 … … 1000 1001 1001 1002 template<class T> 1002 struct SetPredMapBase : public Base {1003 struct DefPredMapBase : public Base { 1003 1004 typedef T PredMap; 1004 1005 static PredMap *createPredMap(const Digraph &) { return 0; }; 1005 SetPredMapBase(const TR &b) : TR(b) {}1006 DefPredMapBase(const TR &b) : TR(b) {} 1006 1007 }; 1007 1008 ///\brief \ref named-templ-param "Named parameter" … … 1011 1012 ///for setting \ref PredMap object. 1012 1013 template<class T> 1013 DfsWizard< SetPredMapBase<T> > predMap(const T &t)1014 DfsWizard<DefPredMapBase<T> > predMap(const T &t) 1014 1015 { 1015 1016 Base::_pred=reinterpret_cast<void*>(const_cast<T*>(&t)); 1016 return DfsWizard< SetPredMapBase<T> >(*this);1017 return DfsWizard<DefPredMapBase<T> >(*this); 1017 1018 } 1018 1019 1019 1020 template<class T> 1020 struct SetReachedMapBase : public Base {1021 struct DefReachedMapBase : public Base { 1021 1022 typedef T ReachedMap; 1022 1023 static ReachedMap *createReachedMap(const Digraph &) { return 0; }; 1023 SetReachedMapBase(const TR &b) : TR(b) {}1024 DefReachedMapBase(const TR &b) : TR(b) {} 1024 1025 }; 1025 1026 ///\brief \ref named-templ-param "Named parameter" … … 1029 1030 ///for setting \ref ReachedMap object. 1030 1031 template<class T> 1031 DfsWizard< SetReachedMapBase<T> > reachedMap(const T &t)1032 DfsWizard<DefReachedMapBase<T> > reachedMap(const T &t) 1032 1033 { 1033 1034 Base::_reached=reinterpret_cast<void*>(const_cast<T*>(&t)); 1034 return DfsWizard< SetReachedMapBase<T> >(*this);1035 return DfsWizard<DefReachedMapBase<T> >(*this); 1035 1036 } 1036 1037 1037 1038 template<class T> 1038 struct SetProcessedMapBase : public Base {1039 struct DefProcessedMapBase : public Base { 1039 1040 typedef T ProcessedMap; 1040 1041 static ProcessedMap *createProcessedMap(const Digraph &) { return 0; }; 1041 SetProcessedMapBase(const TR &b) : TR(b) {}1042 DefProcessedMapBase(const TR &b) : TR(b) {} 1042 1043 }; 1043 1044 ///\brief \ref named-templ-param "Named parameter" … … 1047 1048 ///for setting \ref ProcessedMap object. 1048 1049 template<class T> 1049 DfsWizard< SetProcessedMapBase<T> > processedMap(const T &t)1050 DfsWizard<DefProcessedMapBase<T> > processedMap(const T &t) 1050 1051 { 1051 1052 Base::_processed=reinterpret_cast<void*>(const_cast<T*>(&t)); 1052 return DfsWizard< SetProcessedMapBase<T> >(*this);1053 return DfsWizard<DefProcessedMapBase<T> >(*this); 1053 1054 } 1054 1055 1055 1056 template<class T> 1056 struct SetDistMapBase : public Base {1057 struct DefDistMapBase : public Base { 1057 1058 typedef T DistMap; 1058 1059 static DistMap *createDistMap(const Digraph &) { return 0; }; 1059 SetDistMapBase(const TR &b) : TR(b) {}1060 DefDistMapBase(const TR &b) : TR(b) {} 1060 1061 }; 1061 1062 ///\brief \ref named-templ-param "Named parameter" … … 1065 1066 ///for setting \ref DistMap object. 1066 1067 template<class T> 1067 DfsWizard< SetDistMapBase<T> > distMap(const T &t)1068 DfsWizard<DefDistMapBase<T> > distMap(const T &t) 1068 1069 { 1069 1070 Base::_dist=reinterpret_cast<void*>(const_cast<T*>(&t)); 1070 return DfsWizard< SetDistMapBase<T> >(*this);1071 return DfsWizard<DefDistMapBase<T> >(*this); 1071 1072 } 1072 1073 … … 1301 1302 ///@{ 1302 1303 template <class T> 1303 struct SetReachedMapTraits : public Traits {1304 struct DefReachedMapTraits : public Traits { 1304 1305 typedef T ReachedMap; 1305 1306 static ReachedMap *createReachedMap(const Digraph &digraph) { … … 1312 1313 /// \ref named-templ-param "Named parameter" for setting ReachedMap type. 1313 1314 template <class T> 1314 struct SetReachedMap : public DfsVisit< Digraph, Visitor,1315 SetReachedMapTraits<T> > {1316 typedef DfsVisit< Digraph, Visitor, SetReachedMapTraits<T> > Create;1315 struct DefReachedMap : public DfsVisit< Digraph, Visitor, 1316 DefReachedMapTraits<T> > { 1317 typedef DfsVisit< Digraph, Visitor, DefReachedMapTraits<T> > Create; 1317 1318 }; 1318 1319 ///@} -
lemon/dijkstra.h
r258 r251 332 332 333 333 template <class T> 334 struct SetPredMapTraits : public Traits {334 struct DefPredMapTraits : public Traits { 335 335 typedef T PredMap; 336 336 static PredMap *createPredMap(const Digraph &) … … 345 345 ///\ref PredMap type. 346 346 template <class T> 347 struct SetPredMap348 : public Dijkstra< Digraph, LengthMap, SetPredMapTraits<T> > {349 typedef Dijkstra< Digraph, LengthMap, SetPredMapTraits<T> > Create;347 struct DefPredMap 348 : public Dijkstra< Digraph, LengthMap, DefPredMapTraits<T> > { 349 typedef Dijkstra< Digraph, LengthMap, DefPredMapTraits<T> > Create; 350 350 }; 351 351 352 352 template <class T> 353 struct SetDistMapTraits : public Traits {353 struct DefDistMapTraits : public Traits { 354 354 typedef T DistMap; 355 355 static DistMap *createDistMap(const Digraph &) … … 364 364 ///\ref DistMap type. 365 365 template <class T> 366 struct SetDistMap367 : public Dijkstra< Digraph, LengthMap, SetDistMapTraits<T> > {368 typedef Dijkstra< Digraph, LengthMap, SetDistMapTraits<T> > Create;366 struct DefDistMap 367 : public Dijkstra< Digraph, LengthMap, DefDistMapTraits<T> > { 368 typedef Dijkstra< Digraph, LengthMap, DefDistMapTraits<T> > Create; 369 369 }; 370 370 371 371 template <class T> 372 struct SetProcessedMapTraits : public Traits {372 struct DefProcessedMapTraits : public Traits { 373 373 typedef T ProcessedMap; 374 374 static ProcessedMap *createProcessedMap(const Digraph &) … … 383 383 ///\ref ProcessedMap type. 384 384 template <class T> 385 struct SetProcessedMap386 : public Dijkstra< Digraph, LengthMap, SetProcessedMapTraits<T> > {387 typedef Dijkstra< Digraph, LengthMap, SetProcessedMapTraits<T> > Create;388 }; 389 390 struct SetStandardProcessedMapTraits : public Traits {385 struct DefProcessedMap 386 : public Dijkstra< Digraph, LengthMap, DefProcessedMapTraits<T> > { 387 typedef Dijkstra< Digraph, LengthMap, DefProcessedMapTraits<T> > Create; 388 }; 389 390 struct DefDigraphProcessedMapTraits : public Traits { 391 391 typedef typename Digraph::template NodeMap<bool> ProcessedMap; 392 392 static ProcessedMap *createProcessedMap(const Digraph &g) … … 401 401 ///\ref ProcessedMap type to be <tt>Digraph::NodeMap<bool></tt>. 402 402 ///If you don't set it explicitly, it will be automatically allocated. 403 struct SetStandardProcessedMap 404 : public Dijkstra< Digraph, LengthMap, SetStandardProcessedMapTraits > { 405 typedef Dijkstra< Digraph, LengthMap, SetStandardProcessedMapTraits > 403 template <class T> 404 struct DefProcessedMapToBeDefaultMap 405 : public Dijkstra< Digraph, LengthMap, DefDigraphProcessedMapTraits> { 406 typedef Dijkstra< Digraph, LengthMap, DefDigraphProcessedMapTraits> 406 407 Create; 407 408 }; 408 409 409 410 template <class H, class CR> 410 struct SetHeapTraits : public Traits {411 struct DefHeapTraits : public Traits { 411 412 typedef CR HeapCrossRef; 412 413 typedef H Heap; … … 425 426 ///reference type. 426 427 template <class H, class CR = typename Digraph::template NodeMap<int> > 427 struct SetHeap428 : public Dijkstra< Digraph, LengthMap, SetHeapTraits<H, CR> > {429 typedef Dijkstra< Digraph, LengthMap, SetHeapTraits<H, CR> > Create;428 struct DefHeap 429 : public Dijkstra< Digraph, LengthMap, DefHeapTraits<H, CR> > { 430 typedef Dijkstra< Digraph, LengthMap, DefHeapTraits<H, CR> > Create; 430 431 }; 431 432 432 433 template <class H, class CR> 433 struct SetStandardHeapTraits : public Traits {434 struct DefStandardHeapTraits : public Traits { 434 435 typedef CR HeapCrossRef; 435 436 typedef H Heap; … … 450 451 ///parameter and the heap's constructor waits for the cross reference. 451 452 template <class H, class CR = typename Digraph::template NodeMap<int> > 452 struct SetStandardHeap453 : public Dijkstra< Digraph, LengthMap, SetStandardHeapTraits<H, CR> > {454 typedef Dijkstra< Digraph, LengthMap, SetStandardHeapTraits<H, CR> >453 struct DefStandardHeap 454 : public Dijkstra< Digraph, LengthMap, DefStandardHeapTraits<H, CR> > { 455 typedef Dijkstra< Digraph, LengthMap, DefStandardHeapTraits<H, CR> > 455 456 Create; 456 457 }; 457 458 458 459 template <class T> 459 struct SetOperationTraitsTraits : public Traits {460 struct DefOperationTraitsTraits : public Traits { 460 461 typedef T OperationTraits; 461 462 }; … … 467 468 ///\ref OperationTraits type. 468 469 template <class T> 469 struct SetOperationTraits470 : public Dijkstra<Digraph, LengthMap, SetOperationTraitsTraits<T> > {471 typedef Dijkstra<Digraph, LengthMap, SetOperationTraitsTraits<T> >470 struct DefOperationTraits 471 : public Dijkstra<Digraph, LengthMap, DefOperationTraitsTraits<T> > { 472 typedef Dijkstra<Digraph, LengthMap, DefOperationTraitsTraits<T> > 472 473 Create; 473 474 }; … … 1205 1206 1206 1207 template<class T> 1207 struct SetPredMapBase : public Base {1208 struct DefPredMapBase : public Base { 1208 1209 typedef T PredMap; 1209 1210 static PredMap *createPredMap(const Digraph &) { return 0; }; 1210 SetPredMapBase(const TR &b) : TR(b) {}1211 DefPredMapBase(const TR &b) : TR(b) {} 1211 1212 }; 1212 1213 ///\brief \ref named-templ-param "Named parameter" … … 1216 1217 ///for setting \ref PredMap object. 1217 1218 template<class T> 1218 DijkstraWizard< SetPredMapBase<T> > predMap(const T &t)1219 DijkstraWizard<DefPredMapBase<T> > predMap(const T &t) 1219 1220 { 1220 1221 Base::_pred=reinterpret_cast<void*>(const_cast<T*>(&t)); 1221 return DijkstraWizard< SetPredMapBase<T> >(*this);1222 return DijkstraWizard<DefPredMapBase<T> >(*this); 1222 1223 } 1223 1224 1224 1225 template<class T> 1225 struct SetProcessedMapBase : public Base {1226 struct DefProcessedMapBase : public Base { 1226 1227 typedef T ProcessedMap; 1227 1228 static ProcessedMap *createProcessedMap(const Digraph &) { return 0; }; 1228 SetProcessedMapBase(const TR &b) : TR(b) {}1229 DefProcessedMapBase(const TR &b) : TR(b) {} 1229 1230 }; 1230 1231 ///\brief \ref named-templ-param "Named parameter" … … 1234 1235 ///for setting \ref ProcessedMap object. 1235 1236 template<class T> 1236 DijkstraWizard< SetProcessedMapBase<T> > processedMap(const T &t)1237 DijkstraWizard<DefProcessedMapBase<T> > processedMap(const T &t) 1237 1238 { 1238 1239 Base::_processed=reinterpret_cast<void*>(const_cast<T*>(&t)); 1239 return DijkstraWizard< SetProcessedMapBase<T> >(*this);1240 return DijkstraWizard<DefProcessedMapBase<T> >(*this); 1240 1241 } 1241 1242 1242 1243 template<class T> 1243 struct SetDistMapBase : public Base {1244 struct DefDistMapBase : public Base { 1244 1245 typedef T DistMap; 1245 1246 static DistMap *createDistMap(const Digraph &) { return 0; }; 1246 SetDistMapBase(const TR &b) : TR(b) {}1247 DefDistMapBase(const TR &b) : TR(b) {} 1247 1248 }; 1248 1249 ///\brief \ref named-templ-param "Named parameter" … … 1252 1253 ///for setting \ref DistMap object. 1253 1254 template<class T> 1254 DijkstraWizard< SetDistMapBase<T> > distMap(const T &t)1255 DijkstraWizard<DefDistMapBase<T> > distMap(const T &t) 1255 1256 { 1256 1257 Base::_dist=reinterpret_cast<void*>(const_cast<T*>(&t)); 1257 return DijkstraWizard< SetDistMapBase<T> >(*this);1258 return DijkstraWizard<DefDistMapBase<T> >(*this); 1258 1259 } 1259 1260 -
test/heap_test.cc
r257 r212 132 132 Node source) { 133 133 134 typename Dijkstra<Digraph, IntArcMap>::template SetStandardHeap<Heap>::134 typename Dijkstra<Digraph, IntArcMap>::template DefStandardHeap<Heap>:: 135 135 Create dijkstra(digraph, length); 136 136
Note: See TracChangeset
for help on using the changeset viewer.