gravatar
kpeter (Peter Kovacs)
kpeter@inf.elte.hu
Fix processedMap() named parameter for dijkstra() (ticket #140)
0 1 0
default
1 file changed with 10 insertions and 4 deletions:
↑ Collapse diff ↑
Ignore white space 16 line context
... ...
@@ -1063,43 +1063,45 @@
1063 1063
  protected:
1064 1064
    //The type of the nodes in the digraph.
1065 1065
    typedef typename Base::Digraph::Node Node;
1066 1066

	
1067 1067
    //Pointer to the digraph the algorithm runs on.
1068 1068
    void *_g;
1069 1069
    //Pointer to the length map
1070 1070
    void *_length;
1071
    //Pointer to the map of processed nodes.
1072
    void *_processed;
1071 1073
    //Pointer to the map of predecessors arcs.
1072 1074
    void *_pred;
1073 1075
    //Pointer to the map of distances.
1074 1076
    void *_dist;
1075 1077
    //Pointer to the source node.
1076 1078
    Node _source;
1077 1079

	
1078 1080
  public:
1079 1081
    /// Constructor.
1080 1082

	
1081 1083
    /// This constructor does not require parameters, therefore it initiates
1082 1084
    /// all of the attributes to default values (0, INVALID).
1083
    DijkstraWizardBase() : _g(0), _length(0), _pred(0),
1085
    DijkstraWizardBase() : _g(0), _length(0), _processed(0), _pred(0),
1084 1086
                           _dist(0), _source(INVALID) {}
1085 1087

	
1086 1088
    /// Constructor.
1087 1089

	
1088 1090
    /// This constructor requires some parameters,
1089 1091
    /// listed in the parameters list.
1090 1092
    /// Others are initiated to 0.
1091 1093
    /// \param g The digraph the algorithm runs on.
1092 1094
    /// \param l The length map.
1093 1095
    /// \param s The source node.
1094 1096
    DijkstraWizardBase(const GR &g,const LM &l, Node s=INVALID) :
1095 1097
      _g(reinterpret_cast<void*>(const_cast<GR*>(&g))),
1096 1098
      _length(reinterpret_cast<void*>(const_cast<LM*>(&l))),
1097
      _pred(0), _dist(0), _source(s) {}
1099
      _processed(0), _pred(0), _dist(0), _source(s) {}
1098 1100

	
1099 1101
  };
1100 1102

	
1101 1103
  /// Auxiliary class for the function type interface of Dijkstra algorithm.
1102 1104

	
1103 1105
  /// This auxiliary class is created to implement the function type
1104 1106
  /// interface of \ref Dijkstra algorithm. It uses the functions and features
1105 1107
  /// of the plain \ref Dijkstra, but it is much simpler to use it.
... ...
@@ -1168,18 +1170,22 @@
1168 1170
    ///Runs Dijkstra algorithm from a source node.
1169 1171
    ///The node can be given with the \ref source() function.
1170 1172
    void run()
1171 1173
    {
1172 1174
      if(Base::_source==INVALID) throw UninitializedParameter();
1173 1175
      Dijkstra<Digraph,LengthMap,TR>
1174 1176
        dij(*reinterpret_cast<const Digraph*>(Base::_g),
1175 1177
            *reinterpret_cast<const LengthMap*>(Base::_length));
1176
      if(Base::_pred) dij.predMap(*reinterpret_cast<PredMap*>(Base::_pred));
1177
      if(Base::_dist) dij.distMap(*reinterpret_cast<DistMap*>(Base::_dist));
1178
      if(Base::_processed)
1179
        dij.processedMap(*reinterpret_cast<ProcessedMap*>(Base::_processed));
1180
      if(Base::_pred)
1181
        dij.predMap(*reinterpret_cast<PredMap*>(Base::_pred));
1182
      if(Base::_dist)
1183
        dij.distMap(*reinterpret_cast<DistMap*>(Base::_dist));
1178 1184
      dij.run(Base::_source);
1179 1185
    }
1180 1186

	
1181 1187
    ///Runs Dijkstra algorithm from the given node.
1182 1188

	
1183 1189
    ///Runs Dijkstra algorithm from the given node.
1184 1190
    ///\param s is the given source.
1185 1191
    void run(Node s)
0 comments (0 inline)