[Lemon-commits] Peter Kovacs: Add missing tags and indicators
Lemon HG
hg at lemon.cs.elte.hu
Wed Nov 5 09:12:08 CET 2008
details: http://lemon.cs.elte.hu/hg/lemon/rev/75cf49ce5390
changeset: 372:75cf49ce5390
user: Peter Kovacs <kpeter [at] inf.elte.hu>
date: Tue Nov 04 21:36:46 2008 +0100
description:
Add missing tags and indicators
diffstat:
4 files changed, 31 insertions(+), 1 deletion(-)
lemon/bits/traits.h | 26 ++++++++++++++++++++++++++
lemon/full_graph.h | 2 ++
lemon/grid_graph.h | 2 ++
lemon/smart_graph.h | 2 +-
diffs (93 lines):
diff -r 3fb8ed1322de -r 75cf49ce5390 lemon/bits/traits.h
--- a/lemon/bits/traits.h Tue Nov 04 10:25:47 2008 +0000
+++ b/lemon/bits/traits.h Tue Nov 04 21:36:46 2008 +0100
@@ -218,6 +218,19 @@
};
template <typename Graph, typename Enable = void>
+ struct ArcNumTagIndicator {
+ static const bool value = false;
+ };
+
+ template <typename Graph>
+ struct ArcNumTagIndicator<
+ Graph,
+ typename enable_if<typename Graph::ArcNumTag, void>::type
+ > {
+ static const bool value = true;
+ };
+
+ template <typename Graph, typename Enable = void>
struct EdgeNumTagIndicator {
static const bool value = false;
};
@@ -226,6 +239,19 @@
struct EdgeNumTagIndicator<
Graph,
typename enable_if<typename Graph::EdgeNumTag, void>::type
+ > {
+ static const bool value = true;
+ };
+
+ template <typename Graph, typename Enable = void>
+ struct FindArcTagIndicator {
+ static const bool value = false;
+ };
+
+ template <typename Graph>
+ struct FindArcTagIndicator<
+ Graph,
+ typename enable_if<typename Graph::FindArcTag, void>::type
> {
static const bool value = true;
};
diff -r 3fb8ed1322de -r 75cf49ce5390 lemon/full_graph.h
--- a/lemon/full_graph.h Tue Nov 04 10:25:47 2008 +0000
+++ b/lemon/full_graph.h Tue Nov 04 21:36:46 2008 +0100
@@ -306,6 +306,7 @@
}
typedef True NodeNumTag;
+ typedef True ArcNumTag;
typedef True EdgeNumTag;
int nodeNum() const { return _node_num; }
@@ -343,6 +344,7 @@
}
typedef True FindEdgeTag;
+ typedef True FindArcTag;
Edge findEdge(Node u, Node v, Edge prev = INVALID) const {
return prev != INVALID ? INVALID : edge(u, v);
diff -r 3fb8ed1322de -r 75cf49ce5390 lemon/grid_graph.h
--- a/lemon/grid_graph.h Tue Nov 04 10:25:47 2008 +0000
+++ b/lemon/grid_graph.h Tue Nov 04 21:36:46 2008 +0100
@@ -82,6 +82,7 @@
}
typedef True NodeNumTag;
+ typedef True EdgeNumTag;
typedef True ArcNumTag;
int nodeNum() const { return _node_num; }
@@ -127,6 +128,7 @@
static Arc arcFromId(int id) { return Arc(id);}
typedef True FindEdgeTag;
+ typedef True FindArcTag;
Edge findEdge(Node u, Node v, Edge prev = INVALID) const {
if (prev != INVALID) return INVALID;
diff -r 3fb8ed1322de -r 75cf49ce5390 lemon/smart_graph.h
--- a/lemon/smart_graph.h Tue Nov 04 10:25:47 2008 +0000
+++ b/lemon/smart_graph.h Tue Nov 04 21:36:46 2008 +0100
@@ -67,7 +67,7 @@
: nodes(_g.nodes), arcs(_g.arcs) { }
typedef True NodeNumTag;
- typedef True EdgeNumTag;
+ typedef True ArcNumTag;
int nodeNum() const { return nodes.size(); }
int arcNum() const { return arcs.size(); }
More information about the Lemon-commits
mailing list