src/work/alpar/dijkstra.h
changeset 1117 5767cc417f62
parent 1116 f97e1cbbd453
child 1119 d3504fc075dc
equal deleted inserted replaced
9:ee45c3a48a92 10:559ab4610e4e
   567     }
   567     }
   568 
   568 
   569     template<class T>
   569     template<class T>
   570     struct DefPredMapBase : public Base {
   570     struct DefPredMapBase : public Base {
   571       typedef T PredMap;
   571       typedef T PredMap;
   572       static PredMap *createPredMap(const Graph &G) {};
   572       static PredMap *createPredMap(const Graph &G) { return 0; };
       
   573       DefPredMapBase(const Base &b) : Base(b) {}
   573     };
   574     };
   574     
   575     
   575     ///\e
   576     ///\e
   576     template<class T>
   577     template<class T>
   577     DijkstraWizard<DefPredMapBase<T> > predMap(const T &t) 
   578     DijkstraWizard<DefPredMapBase<T> > predMap(const T &t) 
   582     
   583     
   583 
   584 
   584     template<class T>
   585     template<class T>
   585     struct DefPredNodeMapBase : public Base {
   586     struct DefPredNodeMapBase : public Base {
   586       typedef T PredNodeMap;
   587       typedef T PredNodeMap;
   587       static PredNodeMap *createPredNodeMap(const Graph &G) {};
   588       static PredNodeMap *createPredNodeMap(const Graph &G) { return 0; };
       
   589       DefPredNodeMapBase(const Base &b) : Base(b) {}
   588     };
   590     };
   589     
   591     
   590     ///\e
   592     ///\e
   591     template<class T>
   593     template<class T>
   592     DijkstraWizard<DefPredNodeMapBase<T> > predNodeMap(const T &t) 
   594     DijkstraWizard<DefPredNodeMapBase<T> > predNodeMap(const T &t) 
   596     }
   598     }
   597    
   599    
   598     template<class T>
   600     template<class T>
   599     struct DefDistMapBase : public Base {
   601     struct DefDistMapBase : public Base {
   600       typedef T DistMap;
   602       typedef T DistMap;
   601       static DistMap *createDistMap(const Graph &G) {};
   603       static DistMap *createDistMap(const Graph &G) { return 0; };
       
   604       DefDistMapBase(const Base &b) : Base(b) {}
   602     };
   605     };
   603     
   606     
   604     ///\e
   607     ///\e
   605     template<class T>
   608     template<class T>
   606     DijkstraWizard<DefDistMapBase<T> > distMap(const T &t) 
   609     DijkstraWizard<DefDistMapBase<T> > distMap(const T &t) 
   607     {
   610     {
   608       _dist=(void *)&t;
   611       _dist=(void *)&t;
   609       return DijkstraWizard<DefDistMapBase<T> >(*this);
   612       return DijkstraWizard<DefDistMapBase<T> >(*this);
   610     }
   613     }
   611 
   614     
   612     ///\e
   615     ///\e
   613     DijkstraWizard<TR> &setSource(Node s) 
   616     DijkstraWizard<TR> &source(Node s) 
   614     {
   617     {
   615       source=(void *)&s;
   618       source=(void *)&s;
   616       return *this;
   619       return *this;
   617     }
   620     }
   618     
   621     
   633   
   636   
   634 } //END OF NAMESPACE LEMON
   637 } //END OF NAMESPACE LEMON
   635 
   638 
   636 #endif
   639 #endif
   637 
   640 
   638