equal
deleted
inserted
replaced
1 // -*- c++ -*- |
1 // -*- c++ -*- |
2 #ifndef LEMON_ITERABLE_GRAPH_EXTENDER_H |
2 #ifndef LEMON_ITERABLE_GRAPH_EXTENDER_H |
3 #define LEMON_ITERABLE_GRAPH_EXTENDER_H |
3 #define LEMON_ITERABLE_GRAPH_EXTENDER_H |
4 |
4 |
5 #include <lemon/invalid.h> |
5 #include <lemon/invalid.h> |
|
6 #include <lemon/utility.h> |
6 |
7 |
7 namespace lemon { |
8 namespace lemon { |
8 |
9 |
9 template <typename _Base> |
10 template <typename _Base> |
10 class IterableGraphExtender : public _Base { |
11 class IterableGraphExtender : public _Base { |
11 public: |
12 public: |
12 |
13 |
|
14 /// Indicates that the graph is undirected. |
|
15 |
|
16 ///\todo Better name? |
|
17 /// |
|
18 ///\bug Should it be here? |
|
19 typedef False UndirTag; |
|
20 |
13 typedef _Base Parent; |
21 typedef _Base Parent; |
14 typedef IterableGraphExtender<_Base> Graph; |
22 typedef IterableGraphExtender<_Base> Graph; |
15 |
23 |
16 typedef typename Parent::Node Node; |
24 typedef typename Parent::Node Node; |
17 typedef typename Parent::Edge Edge; |
25 typedef typename Parent::Edge Edge; |
168 |
176 |
169 template <typename _Base> |
177 template <typename _Base> |
170 class IterableUndirGraphExtender : public IterableGraphExtender<_Base> { |
178 class IterableUndirGraphExtender : public IterableGraphExtender<_Base> { |
171 public: |
179 public: |
172 |
180 |
|
181 /// Indicates that the graph is undirected. |
|
182 |
|
183 ///\todo Better name? |
|
184 /// |
|
185 ///\bug Should it be here? |
|
186 ///\bug Should be tested in the concept checker whether it is defined |
|
187 ///correctly. |
|
188 typedef True UndirTag; |
|
189 |
173 typedef IterableGraphExtender<_Base> Parent; |
190 typedef IterableGraphExtender<_Base> Parent; |
174 typedef IterableUndirGraphExtender<_Base> Graph; |
191 typedef IterableUndirGraphExtender<_Base> Graph; |
175 typedef typename Parent::Node Node; |
192 typedef typename Parent::Node Node; |
176 |
193 |
177 typedef typename Parent::UndirEdge UndirEdge; |
194 typedef typename Parent::UndirEdge UndirEdge; |