# HG changeset patch
# User Peter Kovacs <kpeter@inf.elte.hu>
# Date 1225831006 -3600
# Node ID 75cf49ce539059c67130b03592325fcbd5e4f96c
# Parent 3fb8ed1322de7eb738605582ff668a1ba0120d62
Add missing tags and indicators
diff --git a/lemon/bits/traits.h b/lemon/bits/traits.h
|
a
|
b
|
|
| 218 | 218 | }; |
| 219 | 219 | |
| 220 | 220 | template <typename Graph, typename Enable = void> |
| | 221 | struct ArcNumTagIndicator { |
| | 222 | static const bool value = false; |
| | 223 | }; |
| | 224 | |
| | 225 | template <typename Graph> |
| | 226 | struct ArcNumTagIndicator< |
| | 227 | Graph, |
| | 228 | typename enable_if<typename Graph::ArcNumTag, void>::type |
| | 229 | > { |
| | 230 | static const bool value = true; |
| | 231 | }; |
| | 232 | |
| | 233 | template <typename Graph, typename Enable = void> |
| 221 | 234 | struct EdgeNumTagIndicator { |
| 222 | 235 | static const bool value = false; |
| 223 | 236 | }; |
| … |
… |
|
| 226 | 239 | struct EdgeNumTagIndicator< |
| 227 | 240 | Graph, |
| 228 | 241 | typename enable_if<typename Graph::EdgeNumTag, void>::type |
| | 242 | > { |
| | 243 | static const bool value = true; |
| | 244 | }; |
| | 245 | |
| | 246 | template <typename Graph, typename Enable = void> |
| | 247 | struct FindArcTagIndicator { |
| | 248 | static const bool value = false; |
| | 249 | }; |
| | 250 | |
| | 251 | template <typename Graph> |
| | 252 | struct FindArcTagIndicator< |
| | 253 | Graph, |
| | 254 | typename enable_if<typename Graph::FindArcTag, void>::type |
| 229 | 255 | > { |
| 230 | 256 | static const bool value = true; |
| 231 | 257 | }; |
diff --git a/lemon/full_graph.h b/lemon/full_graph.h
|
a
|
b
|
|
| 306 | 306 | } |
| 307 | 307 | |
| 308 | 308 | typedef True NodeNumTag; |
| | 309 | typedef True ArcNumTag; |
| 309 | 310 | typedef True EdgeNumTag; |
| 310 | 311 | |
| 311 | 312 | int nodeNum() const { return _node_num; } |
| … |
… |
|
| 343 | 344 | } |
| 344 | 345 | |
| 345 | 346 | typedef True FindEdgeTag; |
| | 347 | typedef True FindArcTag; |
| 346 | 348 | |
| 347 | 349 | Edge findEdge(Node u, Node v, Edge prev = INVALID) const { |
| 348 | 350 | return prev != INVALID ? INVALID : edge(u, v); |
diff --git a/lemon/grid_graph.h b/lemon/grid_graph.h
|
a
|
b
|
|
| 82 | 82 | } |
| 83 | 83 | |
| 84 | 84 | typedef True NodeNumTag; |
| | 85 | typedef True EdgeNumTag; |
| 85 | 86 | typedef True ArcNumTag; |
| 86 | 87 | |
| 87 | 88 | int nodeNum() const { return _node_num; } |
| … |
… |
|
| 127 | 128 | static Arc arcFromId(int id) { return Arc(id);} |
| 128 | 129 | |
| 129 | 130 | typedef True FindEdgeTag; |
| | 131 | typedef True FindArcTag; |
| 130 | 132 | |
| 131 | 133 | Edge findEdge(Node u, Node v, Edge prev = INVALID) const { |
| 132 | 134 | if (prev != INVALID) return INVALID; |
diff --git a/lemon/smart_graph.h b/lemon/smart_graph.h
|
a
|
b
|
|
| 67 | 67 | : nodes(_g.nodes), arcs(_g.arcs) { } |
| 68 | 68 | |
| 69 | 69 | typedef True NodeNumTag; |
| 70 | | typedef True EdgeNumTag; |
| | 70 | typedef True ArcNumTag; |
| 71 | 71 | |
| 72 | 72 | int nodeNum() const { return nodes.size(); } |
| 73 | 73 | int arcNum() const { return arcs.size(); } |