equal
deleted
inserted
replaced
100 OUT& out, |
100 OUT& out, |
101 // typename IN::value_type::first_type = typename GR::Edge() |
101 // typename IN::value_type::first_type = typename GR::Edge() |
102 // ,typename OUT::Key = OUT::Key() |
102 // ,typename OUT::Key = OUT::Key() |
103 // //,typename OUT::Key = typename GR::Edge() |
103 // //,typename OUT::Key = typename GR::Edge() |
104 const typename IN::value_type::first_type * = |
104 const typename IN::value_type::first_type * = |
105 (const typename IN::value_type::first_type *)(0), |
105 reinterpret_cast<const typename IN::value_type::first_type*>(0), |
106 const typename OUT::Key * = (const typename OUT::Key *)(0) |
106 const typename OUT::Key * = |
|
107 reinterpret_cast<const typename OUT::Key*>(0) |
107 ) |
108 ) |
108 #endif |
109 #endif |
109 { |
110 { |
110 typedef typename IN::value_type::second_type EdgeCost; |
111 typedef typename IN::value_type::second_type EdgeCost; |
111 typedef typename GR::template NodeMap<int> NodeIntMap; |
112 typedef typename GR::template NodeMap<int> NodeIntMap; |
168 typename IN::value_type::second_type |
169 typename IN::value_type::second_type |
169 kruskal(GR const& g, IN const& edges, OUT const& out_map, |
170 kruskal(GR const& g, IN const& edges, OUT const& out_map, |
170 // typename IN::value_type::first_type = typename GR::Edge(), |
171 // typename IN::value_type::first_type = typename GR::Edge(), |
171 // typename OUT::Key = GR::Edge() |
172 // typename OUT::Key = GR::Edge() |
172 const typename IN::value_type::first_type * = |
173 const typename IN::value_type::first_type * = |
173 (const typename IN::value_type::first_type *)(0), |
174 reinterpret_cast<const typename IN::value_type::first_type*>(0), |
174 const typename OUT::Key * = (const typename OUT::Key *)(0) |
175 const typename OUT::Key * = |
|
176 reinterpret_cast<const typename OUT::Key*>(0) |
175 ) |
177 ) |
176 { |
178 { |
177 NonConstMapWr<OUT> map_wr(out_map); |
179 NonConstMapWr<OUT> map_wr(out_map); |
178 return kruskal(g, edges, map_wr); |
180 return kruskal(g, edges, map_wr); |
179 } |
181 } |
355 IN const& in, |
357 IN const& in, |
356 RET &out, |
358 RET &out, |
357 // typename IN::Key = typename GR::Edge(), |
359 // typename IN::Key = typename GR::Edge(), |
358 //typename IN::Key = typename IN::Key (), |
360 //typename IN::Key = typename IN::Key (), |
359 // typename RET::Key = typename GR::Edge() |
361 // typename RET::Key = typename GR::Edge() |
360 const typename IN::Key * = (const typename IN::Key *)(0), |
362 const typename IN::Key * = |
361 const typename RET::Key * = (const typename RET::Key *)(0) |
363 reinterpret_cast<const typename IN::Key*>(0), |
|
364 const typename RET::Key * = |
|
365 reinterpret_cast<const typename RET::Key*>(0) |
362 ) |
366 ) |
363 { |
367 { |
364 return kruskal(g, |
368 return kruskal(g, |
365 KruskalMapInput<GR,IN>(g,in), |
369 KruskalMapInput<GR,IN>(g,in), |
366 out); |
370 out); |
405 typename IN::Value |
409 typename IN::Value |
406 kruskal(const GR& g, |
410 kruskal(const GR& g, |
407 const IN& in, |
411 const IN& in, |
408 RET out, |
412 RET out, |
409 const typename RET::value_type * = |
413 const typename RET::value_type * = |
410 (const typename RET::value_type *)(0) |
414 reinterpret_cast<const typename RET::value_type*>(0) |
411 ) |
415 ) |
412 { |
416 { |
413 KruskalSequenceOutput<RET> _out(out); |
417 KruskalSequenceOutput<RET> _out(out); |
414 return kruskal(g, KruskalMapInput<GR,IN>(g, in), _out); |
418 return kruskal(g, KruskalMapInput<GR,IN>(g, in), _out); |
415 } |
419 } |