1.1 --- a/lemon/dijkstra.h Wed Oct 05 13:44:29 2005 +0000
1.2 +++ b/lemon/dijkstra.h Wed Oct 05 16:45:37 2005 +0000
1.3 @@ -56,8 +56,7 @@
1.4 ///
1.5 ///\sa BinHeap
1.6 ///\sa Dijkstra
1.7 - typedef BinHeap<typename Graph::Node,
1.8 - typename LM::Value,
1.9 + typedef BinHeap<typename Graph::Node, typename LM::Value,
1.10 typename GR::template NodeMap<int>,
1.11 std::less<Value> > Heap;
1.12
1.13 @@ -255,9 +254,10 @@
1.14 ///\ref named-templ-param "Named parameter" for setting PredMap type
1.15 ///
1.16 template <class T>
1.17 - class DefPredMap : public Dijkstra< Graph,
1.18 - LengthMap,
1.19 - DefPredMapTraits<T> > { };
1.20 + struct DefPredMap
1.21 + : public Dijkstra< Graph, LengthMap, DefPredMapTraits<T> > {
1.22 + typedef Dijkstra< Graph, LengthMap, DefPredMapTraits<T> > Create;
1.23 + };
1.24
1.25 template <class T>
1.26 struct DefDistMapTraits : public Traits {
1.27 @@ -272,9 +272,10 @@
1.28 ///\ref named-templ-param "Named parameter" for setting DistMap type
1.29 ///
1.30 template <class T>
1.31 - class DefDistMap : public Dijkstra< Graph,
1.32 - LengthMap,
1.33 - DefDistMapTraits<T> > { };
1.34 + struct DefDistMap
1.35 + : public Dijkstra< Graph, LengthMap, DefDistMapTraits<T> > {
1.36 + typedef Dijkstra< Graph, LengthMap, DefDistMapTraits<T> > Create;
1.37 + };
1.38
1.39 template <class T>
1.40 struct DefProcessedMapTraits : public Traits {
1.41 @@ -289,9 +290,10 @@
1.42 ///\ref named-templ-param "Named parameter" for setting ProcessedMap type
1.43 ///
1.44 template <class T>
1.45 - class DefProcessedMap : public Dijkstra< Graph,
1.46 - LengthMap,
1.47 - DefProcessedMapTraits<T> > { };
1.48 + struct DefProcessedMap
1.49 + : public Dijkstra< Graph, LengthMap, DefProcessedMapTraits<T> > {
1.50 + typedef Dijkstra< Graph, LengthMap, DefProcessedMapTraits<T> > Create;
1.51 + };
1.52
1.53 struct DefGraphProcessedMapTraits : public Traits {
1.54 typedef typename Graph::template NodeMap<bool> ProcessedMap;
1.55 @@ -307,10 +309,10 @@
1.56 ///for setting the ProcessedMap type to be Graph::NodeMap<bool>.
1.57 ///If you don't set it explicitely, it will be automatically allocated.
1.58 template <class T>
1.59 - class DefProcessedMapToBeDefaultMap :
1.60 - public Dijkstra< Graph,
1.61 - LengthMap,
1.62 - DefGraphProcessedMapTraits> { };
1.63 + struct DefProcessedMapToBeDefaultMap
1.64 + : public Dijkstra< Graph, LengthMap, DefGraphProcessedMapTraits> {
1.65 + typedef Dijkstra< Graph, LengthMap, DefGraphProcessedMapTraits> Create;
1.66 + };
1.67
1.68 ///@}
1.69