[Lemon-commits] [lemon_svn] klao: r2517 - hugo/trunk/lemon
Lemon SVN
svn at lemon.cs.elte.hu
Mon Nov 6 20:53:13 CET 2006
Author: klao
Date: Thu Feb 2 14:43:01 2006
New Revision: 2517
Modified:
hugo/trunk/lemon/kruskal.h
Log:
kruskal.h: an overloaded function for older, pointer-style iterators
Modified: hugo/trunk/lemon/kruskal.h
==============================================================================
--- hugo/trunk/lemon/kruskal.h (original)
+++ hugo/trunk/lemon/kruskal.h Thu Feb 2 14:43:01 2006
@@ -18,8 +18,9 @@
#define LEMON_KRUSKAL_H
#include <algorithm>
+#include <vector>
#include <lemon/unionfind.h>
-#include<lemon/utility.h>
+#include <lemon/utility.h>
/**
@defgroup spantree Minimum Cost Spanning Tree Algorithms
@@ -315,7 +316,7 @@
mutable Iterator it;
public:
- typedef typename Iterator::value_type Key;
+ typedef typename std::iterator_traits<Iterator>::value_type Key;
typedef bool Value;
KruskalSequenceOutput(Iterator const &_it) : it(_it) {}
@@ -415,8 +416,6 @@
kruskal(const GR& g,
const IN& in,
RET out,
- //,typename RET::value_type = typename GR::Edge()
- //,typename RET::value_type = typename RET::value_type()
const typename RET::value_type * =
(const typename RET::value_type *)(0)
)
@@ -425,6 +424,18 @@
return kruskal(g, KruskalMapInput<GR,IN>(g, in), _out);
}
+ template <class GR, class IN, class RET>
+ inline
+ typename IN::Value
+ kruskal(const GR& g,
+ const IN& in,
+ RET *out
+ )
+ {
+ KruskalSequenceOutput<RET*> _out(out);
+ return kruskal(g, KruskalMapInput<GR,IN>(g, in), _out);
+ }
+
/// @}
} //namespace lemon
More information about the Lemon-commits
mailing list