lemon/dijkstra.h
changeset 1709 a323456bf7c8
parent 1694 6d81e6f7a88d
child 1710 f531c16dd923
     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