141 ///Instantiates a \ref PredMap. |
141 ///Instantiates a \ref PredMap. |
142 |
142 |
143 ///This function instantiates a \ref PredMap. |
143 ///This function instantiates a \ref PredMap. |
144 ///\param g is the digraph, to which we would like to define the |
144 ///\param g is the digraph, to which we would like to define the |
145 ///\ref PredMap. |
145 ///\ref PredMap. |
146 ///\todo The digraph alone may be insufficient for the initialization |
|
147 static PredMap *createPredMap(const Digraph &g) |
146 static PredMap *createPredMap(const Digraph &g) |
148 { |
147 { |
149 return new PredMap(g); |
148 return new PredMap(g); |
150 } |
149 } |
151 |
150 |
152 ///The type of the map that indicates which nodes are processed. |
151 ///The type of the map that indicates which nodes are processed. |
153 |
152 |
154 ///The type of the map that indicates which nodes are processed. |
153 ///The type of the map that indicates which nodes are processed. |
155 ///It must meet the \ref concepts::WriteMap "WriteMap" concept. |
154 ///It must meet the \ref concepts::WriteMap "WriteMap" concept. |
156 ///By default it is a NullMap. |
155 ///By default it is a NullMap. |
157 ///\todo If it is set to a real map, |
|
158 ///Dijkstra::processed() should read this. |
|
159 typedef NullMap<typename Digraph::Node,bool> ProcessedMap; |
156 typedef NullMap<typename Digraph::Node,bool> ProcessedMap; |
160 ///Instantiates a \ref ProcessedMap. |
157 ///Instantiates a \ref ProcessedMap. |
161 |
158 |
162 ///This function instantiates a \ref ProcessedMap. |
159 ///This function instantiates a \ref ProcessedMap. |
163 ///\param g is the digraph, to which |
160 ///\param g is the digraph, to which |
955 ///Instantiates a \ref HeapCrossRef. |
951 ///Instantiates a \ref HeapCrossRef. |
956 |
952 |
957 ///This function instantiates a \ref HeapCrossRef. |
953 ///This function instantiates a \ref HeapCrossRef. |
958 /// \param g is the digraph, to which we would like to define the |
954 /// \param g is the digraph, to which we would like to define the |
959 /// HeapCrossRef. |
955 /// HeapCrossRef. |
960 /// \todo The digraph alone may be insufficient for the initialization |
|
961 static HeapCrossRef *createHeapCrossRef(const Digraph &g) |
956 static HeapCrossRef *createHeapCrossRef(const Digraph &g) |
962 { |
957 { |
963 return new HeapCrossRef(g); |
958 return new HeapCrossRef(g); |
964 } |
959 } |
965 |
960 |
991 ///Instantiates a \ref PredMap. |
986 ///Instantiates a \ref PredMap. |
992 |
987 |
993 ///This function instantiates a \ref PredMap. |
988 ///This function instantiates a \ref PredMap. |
994 ///\param g is the digraph, to which we would like to define the |
989 ///\param g is the digraph, to which we would like to define the |
995 ///\ref PredMap. |
990 ///\ref PredMap. |
996 ///\todo The digraph alone may be insufficient to initialize |
|
997 #ifdef DOXYGEN |
991 #ifdef DOXYGEN |
998 static PredMap *createPredMap(const Digraph &g) |
992 static PredMap *createPredMap(const Digraph &g) |
999 #else |
993 #else |
1000 static PredMap *createPredMap(const Digraph &) |
994 static PredMap *createPredMap(const Digraph &) |
1001 #endif |
995 #endif |
1006 ///The type of the map that indicates which nodes are processed. |
1000 ///The type of the map that indicates which nodes are processed. |
1007 |
1001 |
1008 ///The type of the map that indicates which nodes are processed. |
1002 ///The type of the map that indicates which nodes are processed. |
1009 ///It must meet the \ref concepts::WriteMap "WriteMap" concept. |
1003 ///It must meet the \ref concepts::WriteMap "WriteMap" concept. |
1010 ///By default it is a NullMap. |
1004 ///By default it is a NullMap. |
1011 ///\todo If it is set to a real map, |
|
1012 ///Dijkstra::processed() should read this. |
|
1013 ///\todo named parameter to set this type, function to read and write. |
|
1014 typedef NullMap<typename Digraph::Node,bool> ProcessedMap; |
1005 typedef NullMap<typename Digraph::Node,bool> ProcessedMap; |
1015 ///Instantiates a \ref ProcessedMap. |
1006 ///Instantiates a \ref ProcessedMap. |
1016 |
1007 |
1017 ///This function instantiates a \ref ProcessedMap. |
1008 ///This function instantiates a \ref ProcessedMap. |
1018 ///\param g is the digraph, to which |
1009 ///\param g is the digraph, to which |
1052 /// we have created a wizard class. |
1043 /// we have created a wizard class. |
1053 /// This \ref DijkstraWizard class needs default traits, |
1044 /// This \ref DijkstraWizard class needs default traits, |
1054 /// as well as the \ref Dijkstra class. |
1045 /// as well as the \ref Dijkstra class. |
1055 /// The \ref DijkstraWizardBase is a class to be the default traits of the |
1046 /// The \ref DijkstraWizardBase is a class to be the default traits of the |
1056 /// \ref DijkstraWizard class. |
1047 /// \ref DijkstraWizard class. |
1057 /// \todo More named parameters are required... |
|
1058 template<class GR,class LM> |
1048 template<class GR,class LM> |
1059 class DijkstraWizardBase : public DijkstraWizardDefaultTraits<GR,LM> |
1049 class DijkstraWizardBase : public DijkstraWizardDefaultTraits<GR,LM> |
1060 { |
1050 { |
1061 typedef DijkstraWizardDefaultTraits<GR,LM> Base; |
1051 typedef DijkstraWizardDefaultTraits<GR,LM> Base; |
1062 protected: |
1052 protected: |