gravatar
alpar (Alpar Juttner)
alpar@cs.elte.hu
Merge
0 5 0
merge default
0 files changed with 132 insertions and 133 deletions:
↑ Collapse diff ↑
Ignore white space 6 line context
... ...
@@ -230,7 +230,7 @@
230 230
    ///@{
231 231

	
232 232
    template <class T>
233
    struct DefPredMapTraits : public Traits {
233
    struct SetPredMapTraits : public Traits {
234 234
      typedef T PredMap;
235 235
      static PredMap *createPredMap(const Digraph &)
236 236
      {
... ...
@@ -243,12 +243,12 @@
243 243
    ///\ref named-templ-param "Named parameter" for setting
244 244
    ///\ref PredMap type.
245 245
    template <class T>
246
    struct DefPredMap : public Bfs< Digraph, DefPredMapTraits<T> > {
247
      typedef Bfs< Digraph, DefPredMapTraits<T> > Create;
246
    struct SetPredMap : public Bfs< Digraph, SetPredMapTraits<T> > {
247
      typedef Bfs< Digraph, SetPredMapTraits<T> > Create;
248 248
    };
249 249

	
250 250
    template <class T>
251
    struct DefDistMapTraits : public Traits {
251
    struct SetDistMapTraits : public Traits {
252 252
      typedef T DistMap;
253 253
      static DistMap *createDistMap(const Digraph &)
254 254
      {
... ...
@@ -261,12 +261,12 @@
261 261
    ///\ref named-templ-param "Named parameter" for setting
262 262
    ///\ref DistMap type.
263 263
    template <class T>
264
    struct DefDistMap : public Bfs< Digraph, DefDistMapTraits<T> > {
265
      typedef Bfs< Digraph, DefDistMapTraits<T> > Create;
264
    struct SetDistMap : public Bfs< Digraph, SetDistMapTraits<T> > {
265
      typedef Bfs< Digraph, SetDistMapTraits<T> > Create;
266 266
    };
267 267

	
268 268
    template <class T>
269
    struct DefReachedMapTraits : public Traits {
269
    struct SetReachedMapTraits : public Traits {
270 270
      typedef T ReachedMap;
271 271
      static ReachedMap *createReachedMap(const Digraph &)
272 272
      {
... ...
@@ -279,12 +279,12 @@
279 279
    ///\ref named-templ-param "Named parameter" for setting
280 280
    ///\ref ReachedMap type.
281 281
    template <class T>
282
    struct DefReachedMap : public Bfs< Digraph, DefReachedMapTraits<T> > {
283
      typedef Bfs< Digraph, DefReachedMapTraits<T> > Create;
282
    struct SetReachedMap : public Bfs< Digraph, SetReachedMapTraits<T> > {
283
      typedef Bfs< Digraph, SetReachedMapTraits<T> > Create;
284 284
    };
285 285

	
286 286
    template <class T>
287
    struct DefProcessedMapTraits : public Traits {
287
    struct SetProcessedMapTraits : public Traits {
288 288
      typedef T ProcessedMap;
289 289
      static ProcessedMap *createProcessedMap(const Digraph &)
290 290
      {
... ...
@@ -297,11 +297,11 @@
297 297
    ///\ref named-templ-param "Named parameter" for setting
298 298
    ///\ref ProcessedMap type.
299 299
    template <class T>
300
    struct DefProcessedMap : public Bfs< Digraph, DefProcessedMapTraits<T> > {
301
      typedef Bfs< Digraph, DefProcessedMapTraits<T> > Create;
300
    struct SetProcessedMap : public Bfs< Digraph, SetProcessedMapTraits<T> > {
301
      typedef Bfs< Digraph, SetProcessedMapTraits<T> > Create;
302 302
    };
303 303

	
304
    struct DefDigraphProcessedMapTraits : public Traits {
304
    struct SetStandardProcessedMapTraits : public Traits {
305 305
      typedef typename Digraph::template NodeMap<bool> ProcessedMap;
306 306
      static ProcessedMap *createProcessedMap(const Digraph &g)
307 307
      {
... ...
@@ -314,10 +314,9 @@
314 314
    ///\ref named-templ-param "Named parameter" for setting
315 315
    ///\ref ProcessedMap type to be <tt>Digraph::NodeMap<bool></tt>.
316 316
    ///If you don't set it explicitly, it will be automatically allocated.
317
    template <class T>
318
    struct DefProcessedMapToBeDefaultMap :
319
      public Bfs< Digraph, DefDigraphProcessedMapTraits> {
320
      typedef Bfs< Digraph, DefDigraphProcessedMapTraits> Create;
317
    struct SetStandardProcessedMap :
318
      public Bfs< Digraph, SetStandardProcessedMapTraits > {
319
      typedef Bfs< Digraph, SetStandardProcessedMapTraits > Create;
321 320
    };
322 321

	
323 322
    ///@}
... ...
@@ -1065,10 +1064,10 @@
1065 1064
    }
1066 1065

	
1067 1066
    template<class T>
1068
    struct DefPredMapBase : public Base {
1067
    struct SetPredMapBase : public Base {
1069 1068
      typedef T PredMap;
1070 1069
      static PredMap *createPredMap(const Digraph &) { return 0; };
1071
      DefPredMapBase(const TR &b) : TR(b) {}
1070
      SetPredMapBase(const TR &b) : TR(b) {}
1072 1071
    };
1073 1072
    ///\brief \ref named-templ-param "Named parameter"
1074 1073
    ///for setting \ref PredMap object.
... ...
@@ -1076,17 +1075,17 @@
1076 1075
    /// \ref named-templ-param "Named parameter"
1077 1076
    ///for setting \ref PredMap object.
1078 1077
    template<class T>
1079
    BfsWizard<DefPredMapBase<T> > predMap(const T &t)
1078
    BfsWizard<SetPredMapBase<T> > predMap(const T &t)
1080 1079
    {
1081 1080
      Base::_pred=reinterpret_cast<void*>(const_cast<T*>(&t));
1082
      return BfsWizard<DefPredMapBase<T> >(*this);
1081
      return BfsWizard<SetPredMapBase<T> >(*this);
1083 1082
    }
1084 1083

	
1085 1084
    template<class T>
1086
    struct DefReachedMapBase : public Base {
1085
    struct SetReachedMapBase : public Base {
1087 1086
      typedef T ReachedMap;
1088 1087
      static ReachedMap *createReachedMap(const Digraph &) { return 0; };
1089
      DefReachedMapBase(const TR &b) : TR(b) {}
1088
      SetReachedMapBase(const TR &b) : TR(b) {}
1090 1089
    };
1091 1090
    ///\brief \ref named-templ-param "Named parameter"
1092 1091
    ///for setting \ref ReachedMap object.
... ...
@@ -1094,17 +1093,17 @@
1094 1093
    /// \ref named-templ-param "Named parameter"
1095 1094
    ///for setting \ref ReachedMap object.
1096 1095
    template<class T>
1097
    BfsWizard<DefReachedMapBase<T> > reachedMap(const T &t)
1096
    BfsWizard<SetReachedMapBase<T> > reachedMap(const T &t)
1098 1097
    {
1099 1098
      Base::_reached=reinterpret_cast<void*>(const_cast<T*>(&t));
1100
      return BfsWizard<DefReachedMapBase<T> >(*this);
1099
      return BfsWizard<SetReachedMapBase<T> >(*this);
1101 1100
    }
1102 1101

	
1103 1102
    template<class T>
1104
    struct DefProcessedMapBase : public Base {
1103
    struct SetProcessedMapBase : public Base {
1105 1104
      typedef T ProcessedMap;
1106 1105
      static ProcessedMap *createProcessedMap(const Digraph &) { return 0; };
1107
      DefProcessedMapBase(const TR &b) : TR(b) {}
1106
      SetProcessedMapBase(const TR &b) : TR(b) {}
1108 1107
    };
1109 1108
    ///\brief \ref named-templ-param "Named parameter"
1110 1109
    ///for setting \ref ProcessedMap object.
... ...
@@ -1112,17 +1111,17 @@
1112 1111
    /// \ref named-templ-param "Named parameter"
1113 1112
    ///for setting \ref ProcessedMap object.
1114 1113
    template<class T>
1115
    BfsWizard<DefProcessedMapBase<T> > processedMap(const T &t)
1114
    BfsWizard<SetProcessedMapBase<T> > processedMap(const T &t)
1116 1115
    {
1117 1116
      Base::_processed=reinterpret_cast<void*>(const_cast<T*>(&t));
1118
      return BfsWizard<DefProcessedMapBase<T> >(*this);
1117
      return BfsWizard<SetProcessedMapBase<T> >(*this);
1119 1118
    }
1120 1119

	
1121 1120
    template<class T>
1122
    struct DefDistMapBase : public Base {
1121
    struct SetDistMapBase : public Base {
1123 1122
      typedef T DistMap;
1124 1123
      static DistMap *createDistMap(const Digraph &) { return 0; };
1125
      DefDistMapBase(const TR &b) : TR(b) {}
1124
      SetDistMapBase(const TR &b) : TR(b) {}
1126 1125
    };
1127 1126
    ///\brief \ref named-templ-param "Named parameter"
1128 1127
    ///for setting \ref DistMap object.
... ...
@@ -1130,10 +1129,10 @@
1130 1129
    /// \ref named-templ-param "Named parameter"
1131 1130
    ///for setting \ref DistMap object.
1132 1131
    template<class T>
1133
    BfsWizard<DefDistMapBase<T> > distMap(const T &t)
1132
    BfsWizard<SetDistMapBase<T> > distMap(const T &t)
1134 1133
    {
1135 1134
      Base::_dist=reinterpret_cast<void*>(const_cast<T*>(&t));
1136
      return BfsWizard<DefDistMapBase<T> >(*this);
1135
      return BfsWizard<SetDistMapBase<T> >(*this);
1137 1136
    }
1138 1137

	
1139 1138
  };
... ...
@@ -1354,7 +1353,7 @@
1354 1353

	
1355 1354
    ///@{
1356 1355
    template <class T>
1357
    struct DefReachedMapTraits : public Traits {
1356
    struct SetReachedMapTraits : public Traits {
1358 1357
      typedef T ReachedMap;
1359 1358
      static ReachedMap *createReachedMap(const Digraph &digraph) {
1360 1359
        throw UninitializedParameter();
... ...
@@ -1365,9 +1364,9 @@
1365 1364
    ///
1366 1365
    /// \ref named-templ-param "Named parameter" for setting ReachedMap type.
1367 1366
    template <class T>
1368
    struct DefReachedMap : public BfsVisit< Digraph, Visitor,
1369
                                            DefReachedMapTraits<T> > {
1370
      typedef BfsVisit< Digraph, Visitor, DefReachedMapTraits<T> > Create;
1367
    struct SetReachedMap : public BfsVisit< Digraph, Visitor,
1368
                                            SetReachedMapTraits<T> > {
1369
      typedef BfsVisit< Digraph, Visitor, SetReachedMapTraits<T> > Create;
1371 1370
    };
1372 1371
    ///@}
1373 1372

	
Ignore white space 6 line context
... ...
@@ -59,7 +59,7 @@
59 59
    public:
60 60
      Arc() {}
61 61

	
62
      /// Invalid arc constructor
62
      // Invalid arc constructor
63 63
      Arc(Invalid i) : Edge(i), forward(true) {}
64 64

	
65 65
      bool operator==(const Arc &that) const {
... ...
@@ -74,38 +74,41 @@
74 74
      }
75 75
    };
76 76

	
77
    /// First node of the edge
78
    Node u(const Edge &e) const {
79
      return Parent::source(e);
80
    }
77 81

	
78

	
79
    using Parent::source;
80

	
81
    /// Source of the given Arc.
82
    /// Source of the given arc
82 83
    Node source(const Arc &e) const {
83 84
      return e.forward ? Parent::source(e) : Parent::target(e);
84 85
    }
85 86

	
86
    using Parent::target;
87
    /// Second node of the edge
88
    Node v(const Edge &e) const {
89
      return Parent::target(e);
90
    }
87 91

	
88
    /// Target of the given Arc.
92
    /// Target of the given arc
89 93
    Node target(const Arc &e) const {
90 94
      return e.forward ? Parent::target(e) : Parent::source(e);
91 95
    }
92 96

	
93 97
    /// \brief Directed arc from an edge.
94 98
    ///
95
    /// Returns a directed arc corresponding to the specified Edge.
96
    /// If the given bool is true the given edge and the
97
    /// returned arc have the same source node.
98
    static Arc direct(const Edge &ue, bool d) {
99
      return Arc(ue, d);
99
    /// Returns a directed arc corresponding to the specified edge.
100
    /// If the given bool is true, the first node of the given edge and
101
    /// the source node of the returned arc are the same.
102
    static Arc direct(const Edge &e, bool d) {
103
      return Arc(e, d);
100 104
    }
101 105

	
102
    /// Returns whether the given directed arc is same orientation as the
103
    /// corresponding edge.
106
    /// Returns whether the given directed arc has the same orientation
107
    /// as the corresponding edge.
104 108
    ///
105 109
    /// \todo reference to the corresponding point of the undirected digraph
106 110
    /// concept. "What does the direction of an edge mean?"
107
    static bool direction(const Arc &e) { return e.forward; }
108

	
111
    static bool direction(const Arc &a) { return a.forward; }
109 112

	
110 113
    using Parent::first;
111 114
    using Parent::next;
... ...
@@ -229,7 +232,6 @@
229 232
      return Parent::maxArcId();
230 233
    }
231 234

	
232

	
233 235
    int arcNum() const {
234 236
      return 2 * Parent::arcNum();
235 237
    }
Ignore white space 6 line context
... ...
@@ -230,7 +230,7 @@
230 230
    ///@{
231 231

	
232 232
    template <class T>
233
    struct DefPredMapTraits : public Traits {
233
    struct SetPredMapTraits : public Traits {
234 234
      typedef T PredMap;
235 235
      static PredMap *createPredMap(const Digraph &)
236 236
      {
... ...
@@ -243,12 +243,12 @@
243 243
    ///\ref named-templ-param "Named parameter" for setting
244 244
    ///\ref PredMap type.
245 245
    template <class T>
246
    struct DefPredMap : public Dfs<Digraph, DefPredMapTraits<T> > {
247
      typedef Dfs<Digraph, DefPredMapTraits<T> > Create;
246
    struct SetPredMap : public Dfs<Digraph, SetPredMapTraits<T> > {
247
      typedef Dfs<Digraph, SetPredMapTraits<T> > Create;
248 248
    };
249 249

	
250 250
    template <class T>
251
    struct DefDistMapTraits : public Traits {
251
    struct SetDistMapTraits : public Traits {
252 252
      typedef T DistMap;
253 253
      static DistMap *createDistMap(const Digraph &)
254 254
      {
... ...
@@ -261,12 +261,12 @@
261 261
    ///\ref named-templ-param "Named parameter" for setting
262 262
    ///\ref DistMap type.
263 263
    template <class T>
264
    struct DefDistMap : public Dfs< Digraph, DefDistMapTraits<T> > {
265
      typedef Dfs<Digraph, DefDistMapTraits<T> > Create;
264
    struct SetDistMap : public Dfs< Digraph, SetDistMapTraits<T> > {
265
      typedef Dfs<Digraph, SetDistMapTraits<T> > Create;
266 266
    };
267 267

	
268 268
    template <class T>
269
    struct DefReachedMapTraits : public Traits {
269
    struct SetReachedMapTraits : public Traits {
270 270
      typedef T ReachedMap;
271 271
      static ReachedMap *createReachedMap(const Digraph &)
272 272
      {
... ...
@@ -279,12 +279,12 @@
279 279
    ///\ref named-templ-param "Named parameter" for setting
280 280
    ///\ref ReachedMap type.
281 281
    template <class T>
282
    struct DefReachedMap : public Dfs< Digraph, DefReachedMapTraits<T> > {
283
      typedef Dfs< Digraph, DefReachedMapTraits<T> > Create;
282
    struct SetReachedMap : public Dfs< Digraph, SetReachedMapTraits<T> > {
283
      typedef Dfs< Digraph, SetReachedMapTraits<T> > Create;
284 284
    };
285 285

	
286 286
    template <class T>
287
    struct DefProcessedMapTraits : public Traits {
287
    struct SetProcessedMapTraits : public Traits {
288 288
      typedef T ProcessedMap;
289 289
      static ProcessedMap *createProcessedMap(const Digraph &)
290 290
      {
... ...
@@ -297,11 +297,11 @@
297 297
    ///\ref named-templ-param "Named parameter" for setting
298 298
    ///\ref ProcessedMap type.
299 299
    template <class T>
300
    struct DefProcessedMap : public Dfs< Digraph, DefProcessedMapTraits<T> > {
301
      typedef Dfs< Digraph, DefProcessedMapTraits<T> > Create;
300
    struct SetProcessedMap : public Dfs< Digraph, SetProcessedMapTraits<T> > {
301
      typedef Dfs< Digraph, SetProcessedMapTraits<T> > Create;
302 302
    };
303 303

	
304
    struct DefDigraphProcessedMapTraits : public Traits {
304
    struct SetStandardProcessedMapTraits : public Traits {
305 305
      typedef typename Digraph::template NodeMap<bool> ProcessedMap;
306 306
      static ProcessedMap *createProcessedMap(const Digraph &g)
307 307
      {
... ...
@@ -314,10 +314,9 @@
314 314
    ///\ref named-templ-param "Named parameter" for setting
315 315
    ///\ref ProcessedMap type to be <tt>Digraph::NodeMap<bool></tt>.
316 316
    ///If you don't set it explicitly, it will be automatically allocated.
317
    template <class T>
318
    struct DefProcessedMapToBeDefaultMap :
319
      public Dfs< Digraph, DefDigraphProcessedMapTraits> {
320
      typedef Dfs< Digraph, DefDigraphProcessedMapTraits> Create;
317
    struct SetStandardProcessedMap :
318
      public Dfs< Digraph, SetStandardProcessedMapTraits > {
319
      typedef Dfs< Digraph, SetStandardProcessedMapTraits > Create;
321 320
    };
322 321

	
323 322
    ///@}
... ...
@@ -1000,10 +999,10 @@
1000 999
    }
1001 1000

	
1002 1001
    template<class T>
1003
    struct DefPredMapBase : public Base {
1002
    struct SetPredMapBase : public Base {
1004 1003
      typedef T PredMap;
1005 1004
      static PredMap *createPredMap(const Digraph &) { return 0; };
1006
      DefPredMapBase(const TR &b) : TR(b) {}
1005
      SetPredMapBase(const TR &b) : TR(b) {}
1007 1006
    };
1008 1007
    ///\brief \ref named-templ-param "Named parameter"
1009 1008
    ///for setting \ref PredMap object.
... ...
@@ -1011,17 +1010,17 @@
1011 1010
    ///\ref named-templ-param "Named parameter"
1012 1011
    ///for setting \ref PredMap object.
1013 1012
    template<class T>
1014
    DfsWizard<DefPredMapBase<T> > predMap(const T &t)
1013
    DfsWizard<SetPredMapBase<T> > predMap(const T &t)
1015 1014
    {
1016 1015
      Base::_pred=reinterpret_cast<void*>(const_cast<T*>(&t));
1017
      return DfsWizard<DefPredMapBase<T> >(*this);
1016
      return DfsWizard<SetPredMapBase<T> >(*this);
1018 1017
    }
1019 1018

	
1020 1019
    template<class T>
1021
    struct DefReachedMapBase : public Base {
1020
    struct SetReachedMapBase : public Base {
1022 1021
      typedef T ReachedMap;
1023 1022
      static ReachedMap *createReachedMap(const Digraph &) { return 0; };
1024
      DefReachedMapBase(const TR &b) : TR(b) {}
1023
      SetReachedMapBase(const TR &b) : TR(b) {}
1025 1024
    };
1026 1025
    ///\brief \ref named-templ-param "Named parameter"
1027 1026
    ///for setting \ref ReachedMap object.
... ...
@@ -1029,17 +1028,17 @@
1029 1028
    /// \ref named-templ-param "Named parameter"
1030 1029
    ///for setting \ref ReachedMap object.
1031 1030
    template<class T>
1032
    DfsWizard<DefReachedMapBase<T> > reachedMap(const T &t)
1031
    DfsWizard<SetReachedMapBase<T> > reachedMap(const T &t)
1033 1032
    {
1034 1033
      Base::_reached=reinterpret_cast<void*>(const_cast<T*>(&t));
1035
      return DfsWizard<DefReachedMapBase<T> >(*this);
1034
      return DfsWizard<SetReachedMapBase<T> >(*this);
1036 1035
    }
1037 1036

	
1038 1037
    template<class T>
1039
    struct DefProcessedMapBase : public Base {
1038
    struct SetProcessedMapBase : public Base {
1040 1039
      typedef T ProcessedMap;
1041 1040
      static ProcessedMap *createProcessedMap(const Digraph &) { return 0; };
1042
      DefProcessedMapBase(const TR &b) : TR(b) {}
1041
      SetProcessedMapBase(const TR &b) : TR(b) {}
1043 1042
    };
1044 1043
    ///\brief \ref named-templ-param "Named parameter"
1045 1044
    ///for setting \ref ProcessedMap object.
... ...
@@ -1047,17 +1046,17 @@
1047 1046
    /// \ref named-templ-param "Named parameter"
1048 1047
    ///for setting \ref ProcessedMap object.
1049 1048
    template<class T>
1050
    DfsWizard<DefProcessedMapBase<T> > processedMap(const T &t)
1049
    DfsWizard<SetProcessedMapBase<T> > processedMap(const T &t)
1051 1050
    {
1052 1051
      Base::_processed=reinterpret_cast<void*>(const_cast<T*>(&t));
1053
      return DfsWizard<DefProcessedMapBase<T> >(*this);
1052
      return DfsWizard<SetProcessedMapBase<T> >(*this);
1054 1053
    }
1055 1054

	
1056 1055
    template<class T>
1057
    struct DefDistMapBase : public Base {
1056
    struct SetDistMapBase : public Base {
1058 1057
      typedef T DistMap;
1059 1058
      static DistMap *createDistMap(const Digraph &) { return 0; };
1060
      DefDistMapBase(const TR &b) : TR(b) {}
1059
      SetDistMapBase(const TR &b) : TR(b) {}
1061 1060
    };
1062 1061
    ///\brief \ref named-templ-param "Named parameter"
1063 1062
    ///for setting \ref DistMap object.
... ...
@@ -1065,10 +1064,10 @@
1065 1064
    ///\ref named-templ-param "Named parameter"
1066 1065
    ///for setting \ref DistMap object.
1067 1066
    template<class T>
1068
    DfsWizard<DefDistMapBase<T> > distMap(const T &t)
1067
    DfsWizard<SetDistMapBase<T> > distMap(const T &t)
1069 1068
    {
1070 1069
      Base::_dist=reinterpret_cast<void*>(const_cast<T*>(&t));
1071
      return DfsWizard<DefDistMapBase<T> >(*this);
1070
      return DfsWizard<SetDistMapBase<T> >(*this);
1072 1071
    }
1073 1072

	
1074 1073
  };
... ...
@@ -1301,7 +1300,7 @@
1301 1300

	
1302 1301
    ///@{
1303 1302
    template <class T>
1304
    struct DefReachedMapTraits : public Traits {
1303
    struct SetReachedMapTraits : public Traits {
1305 1304
      typedef T ReachedMap;
1306 1305
      static ReachedMap *createReachedMap(const Digraph &digraph) {
1307 1306
        throw UninitializedParameter();
... ...
@@ -1312,9 +1311,9 @@
1312 1311
    ///
1313 1312
    /// \ref named-templ-param "Named parameter" for setting ReachedMap type.
1314 1313
    template <class T>
1315
    struct DefReachedMap : public DfsVisit< Digraph, Visitor,
1316
                                            DefReachedMapTraits<T> > {
1317
      typedef DfsVisit< Digraph, Visitor, DefReachedMapTraits<T> > Create;
1314
    struct SetReachedMap : public DfsVisit< Digraph, Visitor,
1315
                                            SetReachedMapTraits<T> > {
1316
      typedef DfsVisit< Digraph, Visitor, SetReachedMapTraits<T> > Create;
1318 1317
    };
1319 1318
    ///@}
1320 1319

	
Ignore white space 6 line context
... ...
@@ -331,7 +331,7 @@
331 331
    ///@{
332 332

	
333 333
    template <class T>
334
    struct DefPredMapTraits : public Traits {
334
    struct SetPredMapTraits : public Traits {
335 335
      typedef T PredMap;
336 336
      static PredMap *createPredMap(const Digraph &)
337 337
      {
... ...
@@ -344,13 +344,13 @@
344 344
    ///\ref named-templ-param "Named parameter" for setting
345 345
    ///\ref PredMap type.
346 346
    template <class T>
347
    struct DefPredMap
348
      : public Dijkstra< Digraph, LengthMap, DefPredMapTraits<T> > {
349
      typedef Dijkstra< Digraph, LengthMap, DefPredMapTraits<T> > Create;
347
    struct SetPredMap
348
      : public Dijkstra< Digraph, LengthMap, SetPredMapTraits<T> > {
349
      typedef Dijkstra< Digraph, LengthMap, SetPredMapTraits<T> > Create;
350 350
    };
351 351

	
352 352
    template <class T>
353
    struct DefDistMapTraits : public Traits {
353
    struct SetDistMapTraits : public Traits {
354 354
      typedef T DistMap;
355 355
      static DistMap *createDistMap(const Digraph &)
356 356
      {
... ...
@@ -363,13 +363,13 @@
363 363
    ///\ref named-templ-param "Named parameter" for setting
364 364
    ///\ref DistMap type.
365 365
    template <class T>
366
    struct DefDistMap
367
      : public Dijkstra< Digraph, LengthMap, DefDistMapTraits<T> > {
368
      typedef Dijkstra< Digraph, LengthMap, DefDistMapTraits<T> > Create;
366
    struct SetDistMap
367
      : public Dijkstra< Digraph, LengthMap, SetDistMapTraits<T> > {
368
      typedef Dijkstra< Digraph, LengthMap, SetDistMapTraits<T> > Create;
369 369
    };
370 370

	
371 371
    template <class T>
372
    struct DefProcessedMapTraits : public Traits {
372
    struct SetProcessedMapTraits : public Traits {
373 373
      typedef T ProcessedMap;
374 374
      static ProcessedMap *createProcessedMap(const Digraph &)
375 375
      {
... ...
@@ -382,12 +382,12 @@
382 382
    ///\ref named-templ-param "Named parameter" for setting
383 383
    ///\ref ProcessedMap type.
384 384
    template <class T>
385
    struct DefProcessedMap
386
      : public Dijkstra< Digraph, LengthMap, DefProcessedMapTraits<T> > {
387
      typedef Dijkstra< Digraph, LengthMap, DefProcessedMapTraits<T> > Create;
385
    struct SetProcessedMap
386
      : public Dijkstra< Digraph, LengthMap, SetProcessedMapTraits<T> > {
387
      typedef Dijkstra< Digraph, LengthMap, SetProcessedMapTraits<T> > Create;
388 388
    };
389 389

	
390
    struct DefDigraphProcessedMapTraits : public Traits {
390
    struct SetStandardProcessedMapTraits : public Traits {
391 391
      typedef typename Digraph::template NodeMap<bool> ProcessedMap;
392 392
      static ProcessedMap *createProcessedMap(const Digraph &g)
393 393
      {
... ...
@@ -400,15 +400,14 @@
400 400
    ///\ref named-templ-param "Named parameter" for setting
401 401
    ///\ref ProcessedMap type to be <tt>Digraph::NodeMap<bool></tt>.
402 402
    ///If you don't set it explicitly, it will be automatically allocated.
403
    template <class T>
404
    struct DefProcessedMapToBeDefaultMap
405
      : public Dijkstra< Digraph, LengthMap, DefDigraphProcessedMapTraits> {
406
      typedef Dijkstra< Digraph, LengthMap, DefDigraphProcessedMapTraits>
403
    struct SetStandardProcessedMap
404
      : public Dijkstra< Digraph, LengthMap, SetStandardProcessedMapTraits > {
405
      typedef Dijkstra< Digraph, LengthMap, SetStandardProcessedMapTraits >
407 406
      Create;
408 407
    };
409 408

	
410 409
    template <class H, class CR>
411
    struct DefHeapTraits : public Traits {
410
    struct SetHeapTraits : public Traits {
412 411
      typedef CR HeapCrossRef;
413 412
      typedef H Heap;
414 413
      static HeapCrossRef *createHeapCrossRef(const Digraph &) {
... ...
@@ -425,13 +424,13 @@
425 424
    ///\ref named-templ-param "Named parameter" for setting heap and cross
426 425
    ///reference type.
427 426
    template <class H, class CR = typename Digraph::template NodeMap<int> >
428
    struct DefHeap
429
      : public Dijkstra< Digraph, LengthMap, DefHeapTraits<H, CR> > {
430
      typedef Dijkstra< Digraph, LengthMap, DefHeapTraits<H, CR> > Create;
427
    struct SetHeap
428
      : public Dijkstra< Digraph, LengthMap, SetHeapTraits<H, CR> > {
429
      typedef Dijkstra< Digraph, LengthMap, SetHeapTraits<H, CR> > Create;
431 430
    };
432 431

	
433 432
    template <class H, class CR>
434
    struct DefStandardHeapTraits : public Traits {
433
    struct SetStandardHeapTraits : public Traits {
435 434
      typedef CR HeapCrossRef;
436 435
      typedef H Heap;
437 436
      static HeapCrossRef *createHeapCrossRef(const Digraph &G) {
... ...
@@ -450,14 +449,14 @@
450 449
    ///object if the cross reference's constructor waits for the digraph as
451 450
    ///parameter and the heap's constructor waits for the cross reference.
452 451
    template <class H, class CR = typename Digraph::template NodeMap<int> >
453
    struct DefStandardHeap
454
      : public Dijkstra< Digraph, LengthMap, DefStandardHeapTraits<H, CR> > {
455
      typedef Dijkstra< Digraph, LengthMap, DefStandardHeapTraits<H, CR> >
452
    struct SetStandardHeap
453
      : public Dijkstra< Digraph, LengthMap, SetStandardHeapTraits<H, CR> > {
454
      typedef Dijkstra< Digraph, LengthMap, SetStandardHeapTraits<H, CR> >
456 455
      Create;
457 456
    };
458 457

	
459 458
    template <class T>
460
    struct DefOperationTraitsTraits : public Traits {
459
    struct SetOperationTraitsTraits : public Traits {
461 460
      typedef T OperationTraits;
462 461
    };
463 462

	
... ...
@@ -467,9 +466,9 @@
467 466
    ///\ref named-templ-param "Named parameter" for setting
468 467
    ///\ref OperationTraits type.
469 468
    template <class T>
470
    struct DefOperationTraits
471
      : public Dijkstra<Digraph, LengthMap, DefOperationTraitsTraits<T> > {
472
      typedef Dijkstra<Digraph, LengthMap, DefOperationTraitsTraits<T> >
469
    struct SetOperationTraits
470
      : public Dijkstra<Digraph, LengthMap, SetOperationTraitsTraits<T> > {
471
      typedef Dijkstra<Digraph, LengthMap, SetOperationTraitsTraits<T> >
473 472
      Create;
474 473
    };
475 474

	
... ...
@@ -1205,10 +1204,10 @@
1205 1204
    }
1206 1205

	
1207 1206
    template<class T>
1208
    struct DefPredMapBase : public Base {
1207
    struct SetPredMapBase : public Base {
1209 1208
      typedef T PredMap;
1210 1209
      static PredMap *createPredMap(const Digraph &) { return 0; };
1211
      DefPredMapBase(const TR &b) : TR(b) {}
1210
      SetPredMapBase(const TR &b) : TR(b) {}
1212 1211
    };
1213 1212
    ///\brief \ref named-templ-param "Named parameter"
1214 1213
    ///for setting \ref PredMap object.
... ...
@@ -1216,17 +1215,17 @@
1216 1215
    ///\ref named-templ-param "Named parameter"
1217 1216
    ///for setting \ref PredMap object.
1218 1217
    template<class T>
1219
    DijkstraWizard<DefPredMapBase<T> > predMap(const T &t)
1218
    DijkstraWizard<SetPredMapBase<T> > predMap(const T &t)
1220 1219
    {
1221 1220
      Base::_pred=reinterpret_cast<void*>(const_cast<T*>(&t));
1222
      return DijkstraWizard<DefPredMapBase<T> >(*this);
1221
      return DijkstraWizard<SetPredMapBase<T> >(*this);
1223 1222
    }
1224 1223

	
1225 1224
    template<class T>
1226
    struct DefProcessedMapBase : public Base {
1225
    struct SetProcessedMapBase : public Base {
1227 1226
      typedef T ProcessedMap;
1228 1227
      static ProcessedMap *createProcessedMap(const Digraph &) { return 0; };
1229
      DefProcessedMapBase(const TR &b) : TR(b) {}
1228
      SetProcessedMapBase(const TR &b) : TR(b) {}
1230 1229
    };
1231 1230
    ///\brief \ref named-templ-param "Named parameter"
1232 1231
    ///for setting \ref ProcessedMap object.
... ...
@@ -1234,17 +1233,17 @@
1234 1233
    /// \ref named-templ-param "Named parameter"
1235 1234
    ///for setting \ref ProcessedMap object.
1236 1235
    template<class T>
1237
    DijkstraWizard<DefProcessedMapBase<T> > processedMap(const T &t)
1236
    DijkstraWizard<SetProcessedMapBase<T> > processedMap(const T &t)
1238 1237
    {
1239 1238
      Base::_processed=reinterpret_cast<void*>(const_cast<T*>(&t));
1240
      return DijkstraWizard<DefProcessedMapBase<T> >(*this);
1239
      return DijkstraWizard<SetProcessedMapBase<T> >(*this);
1241 1240
    }
1242 1241

	
1243 1242
    template<class T>
1244
    struct DefDistMapBase : public Base {
1243
    struct SetDistMapBase : public Base {
1245 1244
      typedef T DistMap;
1246 1245
      static DistMap *createDistMap(const Digraph &) { return 0; };
1247
      DefDistMapBase(const TR &b) : TR(b) {}
1246
      SetDistMapBase(const TR &b) : TR(b) {}
1248 1247
    };
1249 1248
    ///\brief \ref named-templ-param "Named parameter"
1250 1249
    ///for setting \ref DistMap object.
... ...
@@ -1252,10 +1251,10 @@
1252 1251
    ///\ref named-templ-param "Named parameter"
1253 1252
    ///for setting \ref DistMap object.
1254 1253
    template<class T>
1255
    DijkstraWizard<DefDistMapBase<T> > distMap(const T &t)
1254
    DijkstraWizard<SetDistMapBase<T> > distMap(const T &t)
1256 1255
    {
1257 1256
      Base::_dist=reinterpret_cast<void*>(const_cast<T*>(&t));
1258
      return DijkstraWizard<DefDistMapBase<T> >(*this);
1257
      return DijkstraWizard<SetDistMapBase<T> >(*this);
1259 1258
    }
1260 1259

	
1261 1260
  };
Ignore white space 6 line context
... ...
@@ -131,7 +131,7 @@
131 131
void dijkstraHeapTest(const Digraph& digraph, const IntArcMap& length,
132 132
                      Node source) {
133 133

	
134
  typename Dijkstra<Digraph, IntArcMap>::template DefStandardHeap<Heap>::
134
  typename Dijkstra<Digraph, IntArcMap>::template SetStandardHeap<Heap>::
135 135
    Create dijkstra(digraph, length);
136 136

	
137 137
  dijkstra.run(source);
0 comments (0 inline)