[Lemon-commits] Peter Kovacs: Fix and uniform the usage of Graph...
Lemon HG
hg at lemon.cs.elte.hu
Fri Apr 24 13:15:15 CEST 2009
details: http://lemon.cs.elte.hu/hg/lemon/rev/4137ef9aacc6
changeset: 649:4137ef9aacc6
user: Peter Kovacs <kpeter [at] inf.elte.hu>
date: Fri Apr 24 11:54:48 2009 +0200
description:
Fix and uniform the usage of Graph and Parent typedefs (#268)
- Rename Graph typedefs to GraphType in the implementation of graph
maps and MapExtender to prevent conflicts (especially using VS).
They are not public.
- Make Parent typedefs private in all classes.
- Replace Digraph with Graph in some places (fix faulty renamings
of the script).
- Use Graph and Digraph typedefs (more) consequently.
diffstat:
lemon/adaptors.h | 160 ++++++++++++++++++++++-----------------
lemon/bits/array_map.h | 12 ++-
lemon/bits/base_extender.h | 5 +-
lemon/bits/default_map.h | 11 +-
lemon/bits/edge_set_extender.h | 97 +++++++++++------------
lemon/bits/graph_adaptor_extender.h | 6 +-
lemon/bits/graph_extender.h | 21 ++---
lemon/bits/map_extender.h | 47 +++++------
lemon/bits/vector_map.h | 14 ++-
lemon/concepts/graph_components.h | 23 +++--
lemon/core.h | 65 +++++++++-------
lemon/edge_set.h | 54 ++++---------
lemon/full_graph.h | 15 ++-
lemon/graph_to_eps.h | 2 +
lemon/grid_graph.h | 4 +-
lemon/hypercube_graph.h | 4 +-
lemon/list_graph.h | 10 +-
lemon/maps.h | 9 +-
lemon/smart_graph.h | 10 +-
19 files changed, 295 insertions(+), 274 deletions(-)
diffs (truncated from 1937 to 300 lines):
diff --git a/lemon/adaptors.h b/lemon/adaptors.h
--- a/lemon/adaptors.h
+++ b/lemon/adaptors.h
@@ -109,13 +109,11 @@
template <typename V>
class NodeMap : public DGR::template NodeMap<V> {
- public:
-
typedef typename DGR::template NodeMap<V> Parent;
+ public:
explicit NodeMap(const Adaptor& adaptor)
: Parent(*adaptor._digraph) {}
-
NodeMap(const Adaptor& adaptor, const V& value)
: Parent(*adaptor._digraph, value) { }
@@ -134,13 +132,11 @@
template <typename V>
class ArcMap : public DGR::template ArcMap<V> {
- public:
-
typedef typename DGR::template ArcMap<V> Parent;
+ public:
explicit ArcMap(const DigraphAdaptorBase<DGR>& adaptor)
: Parent(*adaptor._digraph) {}
-
ArcMap(const DigraphAdaptorBase<DGR>& adaptor, const V& value)
: Parent(*adaptor._digraph, value) {}
@@ -255,8 +251,9 @@
template <typename V>
class NodeMap : public GR::template NodeMap<V> {
+ typedef typename GR::template NodeMap<V> Parent;
+
public:
- typedef typename GR::template NodeMap<V> Parent;
explicit NodeMap(const GraphAdaptorBase<GR>& adapter)
: Parent(*adapter._graph) {}
NodeMap(const GraphAdaptorBase<GR>& adapter, const V& value)
@@ -277,8 +274,9 @@
template <typename V>
class ArcMap : public GR::template ArcMap<V> {
+ typedef typename GR::template ArcMap<V> Parent;
+
public:
- typedef typename GR::template ArcMap<V> Parent;
explicit ArcMap(const GraphAdaptorBase<GR>& adapter)
: Parent(*adapter._graph) {}
ArcMap(const GraphAdaptorBase<GR>& adapter, const V& value)
@@ -298,8 +296,9 @@
template <typename V>
class EdgeMap : public GR::template EdgeMap<V> {
+ typedef typename GR::template EdgeMap<V> Parent;
+
public:
- typedef typename GR::template EdgeMap<V> Parent;
explicit EdgeMap(const GraphAdaptorBase<GR>& adapter)
: Parent(*adapter._graph) {}
EdgeMap(const GraphAdaptorBase<GR>& adapter, const V& value)
@@ -321,9 +320,9 @@
template <typename DGR>
class ReverseDigraphBase : public DigraphAdaptorBase<DGR> {
+ typedef DigraphAdaptorBase<DGR> Parent;
public:
typedef DGR Digraph;
- typedef DigraphAdaptorBase<DGR> Parent;
protected:
ReverseDigraphBase() : Parent() { }
public:
@@ -374,10 +373,10 @@
class ReverseDigraph :
public DigraphAdaptorExtender<ReverseDigraphBase<DGR> > {
#endif
+ typedef DigraphAdaptorExtender<ReverseDigraphBase<DGR> > Parent;
public:
/// The type of the adapted digraph.
typedef DGR Digraph;
- typedef DigraphAdaptorExtender<ReverseDigraphBase<DGR> > Parent;
protected:
ReverseDigraph() { }
public:
@@ -403,13 +402,13 @@
template <typename DGR, typename NF, typename AF, bool ch = true>
class SubDigraphBase : public DigraphAdaptorBase<DGR> {
+ typedef DigraphAdaptorBase<DGR> Parent;
public:
typedef DGR Digraph;
typedef NF NodeFilterMap;
typedef AF ArcFilterMap;
typedef SubDigraphBase Adaptor;
- typedef DigraphAdaptorBase<DGR> Parent;
protected:
NF* _node_filter;
AF* _arc_filter;
@@ -509,10 +508,11 @@
class NodeMap
: public SubMapExtender<SubDigraphBase<DGR, NF, AF, ch>,
LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, NodeMap<V>)> {
+ typedef SubMapExtender<SubDigraphBase<DGR, NF, AF, ch>,
+ LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, NodeMap<V>)> Parent;
+
public:
typedef V Value;
- typedef SubMapExtender<SubDigraphBase<DGR, NF, AF, ch>,
- LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, NodeMap<V>)> Parent;
NodeMap(const SubDigraphBase<DGR, NF, AF, ch>& adaptor)
: Parent(adaptor) {}
@@ -535,10 +535,11 @@
class ArcMap
: public SubMapExtender<SubDigraphBase<DGR, NF, AF, ch>,
LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, ArcMap<V>)> {
+ typedef SubMapExtender<SubDigraphBase<DGR, NF, AF, ch>,
+ LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, ArcMap<V>)> Parent;
+
public:
typedef V Value;
- typedef SubMapExtender<SubDigraphBase<DGR, NF, AF, ch>,
- LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, ArcMap<V>)> Parent;
ArcMap(const SubDigraphBase<DGR, NF, AF, ch>& adaptor)
: Parent(adaptor) {}
@@ -562,13 +563,13 @@
template <typename DGR, typename NF, typename AF>
class SubDigraphBase<DGR, NF, AF, false>
: public DigraphAdaptorBase<DGR> {
+ typedef DigraphAdaptorBase<DGR> Parent;
public:
typedef DGR Digraph;
typedef NF NodeFilterMap;
typedef AF ArcFilterMap;
typedef SubDigraphBase Adaptor;
- typedef DigraphAdaptorBase<Digraph> Parent;
protected:
NF* _node_filter;
AF* _arc_filter;
@@ -650,10 +651,11 @@
class NodeMap
: public SubMapExtender<SubDigraphBase<DGR, NF, AF, false>,
LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, NodeMap<V>)> {
+ typedef SubMapExtender<SubDigraphBase<DGR, NF, AF, false>,
+ LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, NodeMap<V>)> Parent;
+
public:
typedef V Value;
- typedef SubMapExtender<SubDigraphBase<DGR, NF, AF, false>,
- LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, NodeMap<V>)> Parent;
NodeMap(const SubDigraphBase<DGR, NF, AF, false>& adaptor)
: Parent(adaptor) {}
@@ -676,10 +678,11 @@
class ArcMap
: public SubMapExtender<SubDigraphBase<DGR, NF, AF, false>,
LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, ArcMap<V>)> {
+ typedef SubMapExtender<SubDigraphBase<DGR, NF, AF, false>,
+ LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, ArcMap<V>)> Parent;
+
public:
typedef V Value;
- typedef SubMapExtender<SubDigraphBase<DGR, NF, AF, false>,
- LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, ArcMap<V>)> Parent;
ArcMap(const SubDigraphBase<DGR, NF, AF, false>& adaptor)
: Parent(adaptor) {}
@@ -863,13 +866,13 @@
template <typename GR, typename NF, typename EF, bool ch = true>
class SubGraphBase : public GraphAdaptorBase<GR> {
+ typedef GraphAdaptorBase<GR> Parent;
public:
typedef GR Graph;
typedef NF NodeFilterMap;
typedef EF EdgeFilterMap;
typedef SubGraphBase Adaptor;
- typedef GraphAdaptorBase<GR> Parent;
protected:
NF* _node_filter;
@@ -1016,10 +1019,11 @@
class NodeMap
: public SubMapExtender<SubGraphBase<GR, NF, EF, ch>,
LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, NodeMap<V>)> {
+ typedef SubMapExtender<SubGraphBase<GR, NF, EF, ch>,
+ LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, NodeMap<V>)> Parent;
+
public:
typedef V Value;
- typedef SubMapExtender<SubGraphBase<GR, NF, EF, ch>,
- LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, NodeMap<V>)> Parent;
NodeMap(const SubGraphBase<GR, NF, EF, ch>& adaptor)
: Parent(adaptor) {}
@@ -1042,10 +1046,11 @@
class ArcMap
: public SubMapExtender<SubGraphBase<GR, NF, EF, ch>,
LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, ArcMap<V>)> {
+ typedef SubMapExtender<SubGraphBase<GR, NF, EF, ch>,
+ LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, ArcMap<V>)> Parent;
+
public:
typedef V Value;
- typedef SubMapExtender<SubGraphBase<GR, NF, EF, ch>,
- LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, ArcMap<V>)> Parent;
ArcMap(const SubGraphBase<GR, NF, EF, ch>& adaptor)
: Parent(adaptor) {}
@@ -1068,10 +1073,11 @@
class EdgeMap
: public SubMapExtender<SubGraphBase<GR, NF, EF, ch>,
LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, EdgeMap<V>)> {
+ typedef SubMapExtender<SubGraphBase<GR, NF, EF, ch>,
+ LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, EdgeMap<V>)> Parent;
+
public:
typedef V Value;
- typedef SubMapExtender<SubGraphBase<GR, NF, EF, ch>,
- LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, EdgeMap<V>)> Parent;
EdgeMap(const SubGraphBase<GR, NF, EF, ch>& adaptor)
: Parent(adaptor) {}
@@ -1096,13 +1102,13 @@
template <typename GR, typename NF, typename EF>
class SubGraphBase<GR, NF, EF, false>
: public GraphAdaptorBase<GR> {
+ typedef GraphAdaptorBase<GR> Parent;
public:
typedef GR Graph;
typedef NF NodeFilterMap;
typedef EF EdgeFilterMap;
typedef SubGraphBase Adaptor;
- typedef GraphAdaptorBase<GR> Parent;
protected:
NF* _node_filter;
EF* _edge_filter;
@@ -1211,10 +1217,11 @@
class NodeMap
: public SubMapExtender<SubGraphBase<GR, NF, EF, false>,
LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, NodeMap<V>)> {
+ typedef SubMapExtender<SubGraphBase<GR, NF, EF, false>,
+ LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, NodeMap<V>)> Parent;
+
public:
typedef V Value;
- typedef SubMapExtender<SubGraphBase<GR, NF, EF, false>,
- LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, NodeMap<V>)> Parent;
NodeMap(const SubGraphBase<GR, NF, EF, false>& adaptor)
: Parent(adaptor) {}
@@ -1237,10 +1244,11 @@
class ArcMap
: public SubMapExtender<SubGraphBase<GR, NF, EF, false>,
LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, ArcMap<V>)> {
+ typedef SubMapExtender<SubGraphBase<GR, NF, EF, false>,
+ LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, ArcMap<V>)> Parent;
+
public:
typedef V Value;
- typedef SubMapExtender<SubGraphBase<GR, NF, EF, false>,
- LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, ArcMap<V>)> Parent;
ArcMap(const SubGraphBase<GR, NF, EF, false>& adaptor)
: Parent(adaptor) {}
@@ -1263,10 +1271,11 @@
class EdgeMap
: public SubMapExtender<SubGraphBase<GR, NF, EF, false>,
LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, EdgeMap<V>)> {
+ typedef SubMapExtender<SubGraphBase<GR, NF, EF, false>,
+ LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, EdgeMap<V>)> Parent;
+
public:
typedef V Value;
- typedef SubMapExtender<SubGraphBase<GR, NF, EF, false>,
- LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, EdgeMap<V>)> Parent;
EdgeMap(const SubGraphBase<GR, NF, EF, false>& adaptor)
: Parent(adaptor) {}
@@ -1485,15 +1494,15 @@
SubDigraphBase<GR, NF, ConstMap<typename GR::Arc, Const<bool, true> >,
true> > {
#endif
+ typedef DigraphAdaptorExtender<
+ SubDigraphBase<GR, NF, ConstMap<typename GR::Arc, Const<bool, true> >,
+ true> > Parent;
+
public:
typedef GR Digraph;
More information about the Lemon-commits
mailing list