Index: lemon/edge_set.h
===================================================================
--- lemon/edge_set.h	(revision 491)
+++ lemon/edge_set.h	(revision 559)
@@ -30,11 +30,11 @@
 namespace lemon {
 
-  template <typename _Graph>
+  template <typename GR>
   class ListArcSetBase {
   public:
 
-    typedef _Graph Graph;
-    typedef typename Graph::Node Node;
-    typedef typename Graph::NodeIt NodeIt;
+    typedef GR Graph;
+    typedef typename GR::Node Node;
+    typedef typename GR::NodeIt NodeIt;
 
   protected:
@@ -45,8 +45,8 @@
     };
 
-    typedef typename ItemSetTraits<Graph, Node>::
+    typedef typename ItemSetTraits<GR, Node>::
     template Map<NodeT>::Type NodesImplBase;
 
-    NodesImplBase* nodes;
+    NodesImplBase* _nodes;
 
     struct ArcT {
@@ -62,9 +62,9 @@
     int first_free_arc;
 
-    const Graph* graph;
-
-    void initalize(const Graph& _graph, NodesImplBase& _nodes) {
-      graph = &_graph;
-      nodes = &_nodes;
+    const GR* _graph;
+
+    void initalize(const GR& graph, NodesImplBase& nodes) {
+      _graph = &graph;
+      _nodes = &nodes;
     }
 
@@ -72,5 +72,5 @@
 
     class Arc {
-      friend class ListArcSetBase<Graph>;
+      friend class ListArcSetBase<GR>;
     protected:
       Arc(int _id) : id(_id) {}
@@ -95,14 +95,14 @@
         first_free_arc = arcs[first_free_arc].next_in;
       }
-      arcs[n].next_in = (*nodes)[v].first_in;
-      if ((*nodes)[v].first_in != -1) {
-        arcs[(*nodes)[v].first_in].prev_in = n;
-      }
-      (*nodes)[v].first_in = n;
-      arcs[n].next_out = (*nodes)[u].first_out;
-      if ((*nodes)[u].first_out != -1) {
-        arcs[(*nodes)[u].first_out].prev_out = n;
-      }
-      (*nodes)[u].first_out = n;
+      arcs[n].next_in = (*_nodes)[v].first_in;
+      if ((*_nodes)[v].first_in != -1) {
+        arcs[(*_nodes)[v].first_in].prev_in = n;
+      }
+      (*_nodes)[v].first_in = n;
+      arcs[n].next_out = (*_nodes)[u].first_out;
+      if ((*_nodes)[u].first_out != -1) {
+        arcs[(*_nodes)[u].first_out].prev_out = n;
+      }
+      (*_nodes)[u].first_out = n;
       arcs[n].source = u;
       arcs[n].target = v;
@@ -115,5 +115,5 @@
         arcs[arcs[n].prev_in].next_in = arcs[n].next_in;
       } else {
-        (*nodes)[arcs[n].target].first_in = arcs[n].next_in;
+        (*_nodes)[arcs[n].target].first_in = arcs[n].next_in;
       }
       if (arcs[n].next_in != -1) {
@@ -124,5 +124,5 @@
         arcs[arcs[n].prev_out].next_out = arcs[n].next_out;
       } else {
-        (*nodes)[arcs[n].source].first_out = arcs[n].next_out;
+        (*_nodes)[arcs[n].source].first_out = arcs[n].next_out;
       }
       if (arcs[n].next_out != -1) {
@@ -135,6 +135,6 @@
       Node node;
       for (first(node); node != INVALID; next(node)) {
-        (*nodes)[node].first_in = -1;
-        (*nodes)[node].first_out = -1;
+        (*_nodes)[node].first_in = -1;
+        (*_nodes)[node].first_out = -1;
       }
       arcs.clear();
@@ -144,9 +144,9 @@
 
     void first(Node& node) const {
-      graph->first(node);
+      _graph->first(node);
     }
 
     void next(Node& node) const {
-      graph->next(node);
+      _graph->next(node);
     }
 
@@ -154,8 +154,8 @@
       Node node;
       first(node);
-      while (node != INVALID && (*nodes)[node].first_in == -1) {
+      while (node != INVALID && (*_nodes)[node].first_in == -1) {
         next(node);
       }
-      arc.id = (node == INVALID) ? -1 : (*nodes)[node].first_in;
+      arc.id = (node == INVALID) ? -1 : (*_nodes)[node].first_in;
     }
 
@@ -166,13 +166,13 @@
         Node node = arcs[arc.id].target;
         next(node);
-        while (node != INVALID && (*nodes)[node].first_in == -1) {
+        while (node != INVALID && (*_nodes)[node].first_in == -1) {
           next(node);
         }
-        arc.id = (node == INVALID) ? -1 : (*nodes)[node].first_in;
+        arc.id = (node == INVALID) ? -1 : (*_nodes)[node].first_in;
       }
     }
 
     void firstOut(Arc& arc, const Node& node) const {
-      arc.id = (*nodes)[node].first_out;
+      arc.id = (*_nodes)[node].first_out;
     }
 
@@ -182,5 +182,5 @@
 
     void firstIn(Arc& arc, const Node& node) const {
-      arc.id = (*nodes)[node].first_in;
+      arc.id = (*_nodes)[node].first_in;
     }
 
@@ -189,11 +189,11 @@
     }
 
-    int id(const Node& node) const { return graph->id(node); }
+    int id(const Node& node) const { return _graph->id(node); }
     int id(const Arc& arc) const { return arc.id; }
 
-    Node nodeFromId(int ix) const { return graph->nodeFromId(ix); }
+    Node nodeFromId(int ix) const { return _graph->nodeFromId(ix); }
     Arc arcFromId(int ix) const { return Arc(ix); }
 
-    int maxNodeId() const { return graph->maxNodeId(); };
+    int maxNodeId() const { return _graph->maxNodeId(); };
     int maxArcId() const { return arcs.size() - 1; }
 
@@ -201,21 +201,21 @@
     Node target(const Arc& arc) const { return arcs[arc.id].target;}
 
-    typedef typename ItemSetTraits<Graph, Node>::ItemNotifier NodeNotifier;
+    typedef typename ItemSetTraits<GR, Node>::ItemNotifier NodeNotifier;
 
     NodeNotifier& notifier(Node) const {
-      return graph->notifier(Node());
-    }
-
-    template <typename _Value>
-    class NodeMap : public Graph::template NodeMap<_Value> {
+      return _graph->notifier(Node());
+    }
+
+    template <typename V>
+    class NodeMap : public GR::template NodeMap<V> {
     public:
 
-      typedef typename _Graph::template NodeMap<_Value> Parent;
-
-      explicit NodeMap(const ListArcSetBase<Graph>& arcset)
-        : Parent(*arcset.graph) {}
-
-      NodeMap(const ListArcSetBase<Graph>& arcset, const _Value& value)
-        : Parent(*arcset.graph, value) {}
+      typedef typename GR::template NodeMap<V> Parent;
+
+      explicit NodeMap(const ListArcSetBase<GR>& arcset)
+        : Parent(*arcset._graph) {}
+
+      NodeMap(const ListArcSetBase<GR>& arcset, const V& value)
+        : Parent(*arcset._graph, value) {}
 
       NodeMap& operator=(const NodeMap& cmap) {
@@ -251,5 +251,5 @@
   /// all arcs incident to the given node is erased from the arc set.
   ///
-  /// \param _Graph The type of the graph which shares its node set with
+  /// \param GR The type of the graph which shares its node set with
   /// this class. Its interface must conform to the
   /// \ref concepts::Digraph "Digraph" or \ref concepts::Graph "Graph"
@@ -258,15 +258,15 @@
   /// This class is fully conform to the \ref concepts::Digraph
   /// "Digraph" concept.
-  template <typename _Graph>
-  class ListArcSet : public ArcSetExtender<ListArcSetBase<_Graph> > {
-
-  public:
-
-    typedef ArcSetExtender<ListArcSetBase<_Graph> > Parent;
+  template <typename GR>
+  class ListArcSet : public ArcSetExtender<ListArcSetBase<GR> > {
+
+  public:
+
+    typedef ArcSetExtender<ListArcSetBase<GR> > Parent;
 
     typedef typename Parent::Node Node;
     typedef typename Parent::Arc Arc;
 
-    typedef _Graph Graph;
+    typedef GR Graph;
 
 
@@ -296,5 +296,5 @@
       typedef NodesImplBase Parent;
 
-      NodesImpl(const Graph& graph, ListArcSet& arcset)
+      NodesImpl(const GR& graph, ListArcSet& arcset)
         : Parent(graph), _arcset(arcset) {}
 
@@ -322,5 +322,5 @@
     };
 
-    NodesImpl nodes;
+    NodesImpl _nodes;
 
   public:
@@ -329,6 +329,6 @@
     ///
     /// Constructor of the ArcSet.
-    ListArcSet(const Graph& graph) : nodes(graph, *this) {
-      Parent::initalize(graph, nodes);
+    ListArcSet(const GR& graph) : _nodes(graph, *this) {
+      Parent::initalize(graph, _nodes);
     }
 
@@ -351,11 +351,11 @@
   };
 
-  template <typename _Graph>
+  template <typename GR>
   class ListEdgeSetBase {
   public:
 
-    typedef _Graph Graph;
-    typedef typename Graph::Node Node;
-    typedef typename Graph::NodeIt NodeIt;
+    typedef GR Graph;
+    typedef typename GR::Node Node;
+    typedef typename GR::NodeIt NodeIt;
 
   protected:
@@ -366,8 +366,8 @@
     };
 
-    typedef typename ItemSetTraits<Graph, Node>::
+    typedef typename ItemSetTraits<GR, Node>::
     template Map<NodeT>::Type NodesImplBase;
 
-    NodesImplBase* nodes;
+    NodesImplBase* _nodes;
 
     struct ArcT {
@@ -382,9 +382,9 @@
     int first_free_arc;
 
-    const Graph* graph;
-
-    void initalize(const Graph& _graph, NodesImplBase& _nodes) {
-      graph = &_graph;
-      nodes = &_nodes;
+    const GR* _graph;
+
+    void initalize(const GR& graph, NodesImplBase& nodes) {
+      _graph = &graph;
+      _nodes = &nodes;
     }
 
@@ -438,16 +438,16 @@
       arcs[n | 1].target = v;
 
-      arcs[n].next_out = (*nodes)[v].first_out;
-      if ((*nodes)[v].first_out != -1) {
-        arcs[(*nodes)[v].first_out].prev_out = n;
-      }
-      (*nodes)[v].first_out = n;
+      arcs[n].next_out = (*_nodes)[v].first_out;
+      if ((*_nodes)[v].first_out != -1) {
+        arcs[(*_nodes)[v].first_out].prev_out = n;
+      }
+      (*_nodes)[v].first_out = n;
       arcs[n].prev_out = -1;
 
-      if ((*nodes)[u].first_out != -1) {
-        arcs[(*nodes)[u].first_out].prev_out = (n | 1);
-      }
-      arcs[n | 1].next_out = (*nodes)[u].first_out;
-      (*nodes)[u].first_out = (n | 1);
+      if ((*_nodes)[u].first_out != -1) {
+        arcs[(*_nodes)[u].first_out].prev_out = (n | 1);
+      }
+      arcs[n | 1].next_out = (*_nodes)[u].first_out;
+      (*_nodes)[u].first_out = (n | 1);
       arcs[n | 1].prev_out = -1;
 
@@ -465,5 +465,5 @@
         arcs[arcs[n].prev_out].next_out = arcs[n].next_out;
       } else {
-        (*nodes)[arcs[n | 1].target].first_out = arcs[n].next_out;
+        (*_nodes)[arcs[n | 1].target].first_out = arcs[n].next_out;
       }
 
@@ -475,5 +475,5 @@
         arcs[arcs[n | 1].prev_out].next_out = arcs[n | 1].next_out;
       } else {
-        (*nodes)[arcs[n].target].first_out = arcs[n | 1].next_out;
+        (*_nodes)[arcs[n].target].first_out = arcs[n | 1].next_out;
       }
 
@@ -486,5 +486,5 @@
       Node node;
       for (first(node); node != INVALID; next(node)) {
-        (*nodes)[node].first_out = -1;
+        (*_nodes)[node].first_out = -1;
       }
       arcs.clear();
@@ -494,9 +494,9 @@
 
     void first(Node& node) const {
-      graph->first(node);
+      _graph->first(node);
     }
 
     void next(Node& node) const {
-      graph->next(node);
+      _graph->next(node);
     }
 
@@ -504,8 +504,8 @@
       Node node;
       first(node);
-      while (node != INVALID && (*nodes)[node].first_out == -1) {
+      while (node != INVALID && (*_nodes)[node].first_out == -1) {
         next(node);
       }
-      arc.id = (node == INVALID) ? -1 : (*nodes)[node].first_out;
+      arc.id = (node == INVALID) ? -1 : (*_nodes)[node].first_out;
     }
 
@@ -516,8 +516,8 @@
         Node node = arcs[arc.id ^ 1].target;
         next(node);
-        while(node != INVALID && (*nodes)[node].first_out == -1) {
+        while(node != INVALID && (*_nodes)[node].first_out == -1) {
           next(node);
         }
-        arc.id = (node == INVALID) ? -1 : (*nodes)[node].first_out;
+        arc.id = (node == INVALID) ? -1 : (*_nodes)[node].first_out;
       }
     }
@@ -527,5 +527,5 @@
       first(node);
       while (node != INVALID) {
-        edge.id = (*nodes)[node].first_out;
+        edge.id = (*_nodes)[node].first_out;
         while ((edge.id & 1) != 1) {
           edge.id = arcs[edge.id].next_out;
@@ -552,5 +552,5 @@
       next(node);
       while (node != INVALID) {
-        edge.id = (*nodes)[node].first_out;
+        edge.id = (*_nodes)[node].first_out;
         while ((edge.id & 1) != 1) {
           edge.id = arcs[edge.id].next_out;
@@ -566,5 +566,5 @@
 
     void firstOut(Arc& arc, const Node& node) const {
-      arc.id = (*nodes)[node].first_out;
+      arc.id = (*_nodes)[node].first_out;
     }
 
@@ -574,5 +574,5 @@
 
     void firstIn(Arc& arc, const Node& node) const {
-      arc.id = (((*nodes)[node].first_out) ^ 1);
+      arc.id = (((*_nodes)[node].first_out) ^ 1);
       if (arc.id == -2) arc.id = -1;
     }
@@ -584,5 +584,5 @@
 
     void firstInc(Edge &arc, bool& dir, const Node& node) const {
-      int de = (*nodes)[node].first_out;
+      int de = (*_nodes)[node].first_out;
       if (de != -1 ) {
         arc.id = de / 2;
@@ -612,13 +612,13 @@
     }
 
-    int id(const Node& node) const { return graph->id(node); }
+    int id(const Node& node) const { return _graph->id(node); }
     static int id(Arc e) { return e.id; }
     static int id(Edge e) { return e.id; }
 
-    Node nodeFromId(int id) const { return graph->nodeFromId(id); }
+    Node nodeFromId(int id) const { return _graph->nodeFromId(id); }
     static Arc arcFromId(int id) { return Arc(id);}
     static Edge edgeFromId(int id) { return Edge(id);}
 
-    int maxNodeId() const { return graph->maxNodeId(); };
+    int maxNodeId() const { return _graph->maxNodeId(); };
     int maxEdgeId() const { return arcs.size() / 2 - 1; }
     int maxArcId() const { return arcs.size()-1; }
@@ -630,21 +630,21 @@
     Node v(Edge e) const { return arcs[2 * e.id + 1].target; }
 
-    typedef typename ItemSetTraits<Graph, Node>::ItemNotifier NodeNotifier;
+    typedef typename ItemSetTraits<GR, Node>::ItemNotifier NodeNotifier;
 
     NodeNotifier& notifier(Node) const {
-      return graph->notifier(Node());
-    }
-
-    template <typename _Value>
-    class NodeMap : public Graph::template NodeMap<_Value> {
+      return _graph->notifier(Node());
+    }
+
+    template <typename V>
+    class NodeMap : public GR::template NodeMap<V> {
     public:
 
-      typedef typename _Graph::template NodeMap<_Value> Parent;
-
-      explicit NodeMap(const ListEdgeSetBase<Graph>& arcset)
-        : Parent(*arcset.graph) {}
-
-      NodeMap(const ListEdgeSetBase<Graph>& arcset, const _Value& value)
-        : Parent(*arcset.graph, value) {}
+      typedef typename GR::template NodeMap<V> Parent;
+
+      explicit NodeMap(const ListEdgeSetBase<GR>& arcset)
+        : Parent(*arcset._graph) {}
+
+      NodeMap(const ListEdgeSetBase<GR>& arcset, const V& value)
+        : Parent(*arcset._graph, value) {}
 
       NodeMap& operator=(const NodeMap& cmap) {
@@ -680,5 +680,5 @@
   /// incident to the given node is erased from the arc set.
   ///
-  /// \param _Graph The type of the graph which shares its node set
+  /// \param GR The type of the graph which shares its node set
   /// with this class. Its interface must conform to the
   /// \ref concepts::Digraph "Digraph" or \ref concepts::Graph "Graph"
@@ -687,10 +687,10 @@
   /// This class is fully conform to the \ref concepts::Graph "Graph"
   /// concept.
-  template <typename _Graph>
-  class ListEdgeSet : public EdgeSetExtender<ListEdgeSetBase<_Graph> > {
-
-  public:
-
-    typedef EdgeSetExtender<ListEdgeSetBase<_Graph> > Parent;
+  template <typename GR>
+  class ListEdgeSet : public EdgeSetExtender<ListEdgeSetBase<GR> > {
+
+  public:
+
+    typedef EdgeSetExtender<ListEdgeSetBase<GR> > Parent;
 
     typedef typename Parent::Node Node;
@@ -698,5 +698,5 @@
     typedef typename Parent::Edge Edge;
 
-    typedef _Graph Graph;
+    typedef GR Graph;
 
 
@@ -721,5 +721,5 @@
       typedef NodesImplBase Parent;
 
-      NodesImpl(const Graph& graph, ListEdgeSet& arcset)
+      NodesImpl(const GR& graph, ListEdgeSet& arcset)
         : Parent(graph), _arcset(arcset) {}
 
@@ -747,5 +747,5 @@
     };
 
-    NodesImpl nodes;
+    NodesImpl _nodes;
 
   public:
@@ -754,6 +754,6 @@
     ///
     /// Constructor of the EdgeSet.
-    ListEdgeSet(const Graph& graph) : nodes(graph, *this) {
-      Parent::initalize(graph, nodes);
+    ListEdgeSet(const GR& graph) : _nodes(graph, *this) {
+      Parent::initalize(graph, _nodes);
     }
 
@@ -776,9 +776,9 @@
   };
 
-  template <typename _Graph>
+  template <typename GR>
   class SmartArcSetBase {
   public:
 
-    typedef _Graph Graph;
+    typedef GR Graph;
     typedef typename Graph::Node Node;
     typedef typename Graph::NodeIt NodeIt;
@@ -791,8 +791,8 @@
     };
 
-    typedef typename ItemSetTraits<Graph, Node>::
+    typedef typename ItemSetTraits<GR, Node>::
     template Map<NodeT>::Type NodesImplBase;
 
-    NodesImplBase* nodes;
+    NodesImplBase* _nodes;
 
     struct ArcT {
@@ -804,9 +804,9 @@
     std::vector<ArcT> arcs;
 
-    const Graph* graph;
-
-    void initalize(const Graph& _graph, NodesImplBase& _nodes) {
-      graph = &_graph;
-      nodes = &_nodes;
+    const GR* _graph;
+
+    void initalize(const GR& graph, NodesImplBase& nodes) {
+      _graph = &graph;
+      _nodes = &nodes;
     }
 
@@ -814,5 +814,5 @@
 
     class Arc {
-      friend class SmartArcSetBase<Graph>;
+      friend class SmartArcSetBase<GR>;
     protected:
       Arc(int _id) : id(_id) {}
@@ -831,8 +831,8 @@
       int n = arcs.size();
       arcs.push_back(ArcT());
-      arcs[n].next_in = (*nodes)[v].first_in;
-      (*nodes)[v].first_in = n;
-      arcs[n].next_out = (*nodes)[u].first_out;
-      (*nodes)[u].first_out = n;
+      arcs[n].next_in = (*_nodes)[v].first_in;
+      (*_nodes)[v].first_in = n;
+      arcs[n].next_out = (*_nodes)[u].first_out;
+      (*_nodes)[u].first_out = n;
       arcs[n].source = u;
       arcs[n].target = v;
@@ -843,6 +843,6 @@
       Node node;
       for (first(node); node != INVALID; next(node)) {
-        (*nodes)[node].first_in = -1;
-        (*nodes)[node].first_out = -1;
+        (*_nodes)[node].first_in = -1;
+        (*_nodes)[node].first_out = -1;
       }
       arcs.clear();
@@ -850,9 +850,9 @@
 
     void first(Node& node) const {
-      graph->first(node);
+      _graph->first(node);
     }
 
     void next(Node& node) const {
-      graph->next(node);
+      _graph->next(node);
     }
 
@@ -866,5 +866,5 @@
 
     void firstOut(Arc& arc, const Node& node) const {
-      arc.id = (*nodes)[node].first_out;
+      arc.id = (*_nodes)[node].first_out;
     }
 
@@ -874,5 +874,5 @@
 
     void firstIn(Arc& arc, const Node& node) const {
-      arc.id = (*nodes)[node].first_in;
+      arc.id = (*_nodes)[node].first_in;
     }
 
@@ -881,11 +881,11 @@
     }
 
-    int id(const Node& node) const { return graph->id(node); }
+    int id(const Node& node) const { return _graph->id(node); }
     int id(const Arc& arc) const { return arc.id; }
 
-    Node nodeFromId(int ix) const { return graph->nodeFromId(ix); }
+    Node nodeFromId(int ix) const { return _graph->nodeFromId(ix); }
     Arc arcFromId(int ix) const { return Arc(ix); }
 
-    int maxNodeId() const { return graph->maxNodeId(); };
+    int maxNodeId() const { return _graph->maxNodeId(); };
     int maxArcId() const { return arcs.size() - 1; }
 
@@ -893,21 +893,21 @@
     Node target(const Arc& arc) const { return arcs[arc.id].target;}
 
-    typedef typename ItemSetTraits<Graph, Node>::ItemNotifier NodeNotifier;
+    typedef typename ItemSetTraits<GR, Node>::ItemNotifier NodeNotifier;
 
     NodeNotifier& notifier(Node) const {
-      return graph->notifier(Node());
-    }
-
-    template <typename _Value>
-    class NodeMap : public Graph::template NodeMap<_Value> {
+      return _graph->notifier(Node());
+    }
+
+    template <typename V>
+    class NodeMap : public GR::template NodeMap<V> {
     public:
 
-      typedef typename _Graph::template NodeMap<_Value> Parent;
-
-      explicit NodeMap(const SmartArcSetBase<Graph>& arcset)
-        : Parent(*arcset.graph) { }
-
-      NodeMap(const SmartArcSetBase<Graph>& arcset, const _Value& value)
-        : Parent(*arcset.graph, value) { }
+      typedef typename GR::template NodeMap<V> Parent;
+
+      explicit NodeMap(const SmartArcSetBase<GR>& arcset)
+        : Parent(*arcset._graph) { }
+
+      NodeMap(const SmartArcSetBase<GR>& arcset, const V& value)
+        : Parent(*arcset._graph, value) { }
 
       NodeMap& operator=(const NodeMap& cmap) {
@@ -938,5 +938,5 @@
   /// iterators) works equivalently as in the original graph.
   ///
-  /// \param _Graph The type of the graph which shares its node set with
+  /// \param GR The type of the graph which shares its node set with
   /// this class. Its interface must conform to the
   /// \ref concepts::Digraph "Digraph" or \ref concepts::Graph "Graph"
@@ -955,15 +955,15 @@
   /// This class is fully conform to the \ref concepts::Digraph
   /// "Digraph" concept.
-  template <typename _Graph>
-  class SmartArcSet : public ArcSetExtender<SmartArcSetBase<_Graph> > {
-
-  public:
-
-    typedef ArcSetExtender<SmartArcSetBase<_Graph> > Parent;
+  template <typename GR>
+  class SmartArcSet : public ArcSetExtender<SmartArcSetBase<GR> > {
+
+  public:
+
+    typedef ArcSetExtender<SmartArcSetBase<GR> > Parent;
 
     typedef typename Parent::Node Node;
     typedef typename Parent::Arc Arc;
 
-    typedef _Graph Graph;
+    typedef GR Graph;
 
   protected:
@@ -987,5 +987,5 @@
       typedef NodesImplBase Parent;
 
-      NodesImpl(const Graph& graph, SmartArcSet& arcset)
+      NodesImpl(const GR& graph, SmartArcSet& arcset)
         : Parent(graph), _arcset(arcset) {}
 
@@ -1027,5 +1027,5 @@
     };
 
-    NodesImpl nodes;
+    NodesImpl _nodes;
 
   public:
@@ -1034,6 +1034,6 @@
     ///
     /// Constructor of the ArcSet.
-    SmartArcSet(const Graph& graph) : nodes(graph, *this) {
-      Parent::initalize(graph, nodes);
+    SmartArcSet(const GR& graph) : _nodes(graph, *this) {
+      Parent::initalize(graph, _nodes);
     }
 
@@ -1053,5 +1053,5 @@
     /// erased and it is not isolated in the ArcSet.
     bool valid() const {
-      return nodes.attached();
+      return _nodes.attached();
     }
 
@@ -1059,11 +1059,11 @@
 
 
-  template <typename _Graph>
+  template <typename GR>
   class SmartEdgeSetBase {
   public:
 
-    typedef _Graph Graph;
-    typedef typename Graph::Node Node;
-    typedef typename Graph::NodeIt NodeIt;
+    typedef GR Graph;
+    typedef typename GR::Node Node;
+    typedef typename GR::NodeIt NodeIt;
 
   protected:
@@ -1074,8 +1074,8 @@
     };
 
-    typedef typename ItemSetTraits<Graph, Node>::
+    typedef typename ItemSetTraits<GR, Node>::
     template Map<NodeT>::Type NodesImplBase;
 
-    NodesImplBase* nodes;
+    NodesImplBase* _nodes;
 
     struct ArcT {
@@ -1087,9 +1087,9 @@
     std::vector<ArcT> arcs;
 
-    const Graph* graph;
-
-    void initalize(const Graph& _graph, NodesImplBase& _nodes) {
-      graph = &_graph;
-      nodes = &_nodes;
+    const GR* _graph;
+
+    void initalize(const GR& graph, NodesImplBase& nodes) {
+      _graph = &graph;
+      _nodes = &nodes;
     }
 
@@ -1136,9 +1136,9 @@
       arcs[n | 1].target = v;
 
-      arcs[n].next_out = (*nodes)[v].first_out;
-      (*nodes)[v].first_out = n;
-
-      arcs[n | 1].next_out = (*nodes)[u].first_out;
-      (*nodes)[u].first_out = (n | 1);
+      arcs[n].next_out = (*_nodes)[v].first_out;
+      (*_nodes)[v].first_out = n;
+
+      arcs[n | 1].next_out = (*_nodes)[u].first_out;
+      (*_nodes)[u].first_out = (n | 1);
 
       return Edge(n / 2);
@@ -1148,5 +1148,5 @@
       Node node;
       for (first(node); node != INVALID; next(node)) {
-        (*nodes)[node].first_out = -1;
+        (*_nodes)[node].first_out = -1;
       }
       arcs.clear();
@@ -1154,9 +1154,9 @@
 
     void first(Node& node) const {
-      graph->first(node);
+      _graph->first(node);
     }
 
     void next(Node& node) const {
-      graph->next(node);
+      _graph->next(node);
     }
 
@@ -1178,5 +1178,5 @@
 
     void firstOut(Arc& arc, const Node& node) const {
-      arc.id = (*nodes)[node].first_out;
+      arc.id = (*_nodes)[node].first_out;
     }
 
@@ -1186,5 +1186,5 @@
 
     void firstIn(Arc& arc, const Node& node) const {
-      arc.id = (((*nodes)[node].first_out) ^ 1);
+      arc.id = (((*_nodes)[node].first_out) ^ 1);
       if (arc.id == -2) arc.id = -1;
     }
@@ -1196,5 +1196,5 @@
 
     void firstInc(Edge &arc, bool& dir, const Node& node) const {
-      int de = (*nodes)[node].first_out;
+      int de = (*_nodes)[node].first_out;
       if (de != -1 ) {
         arc.id = de / 2;
@@ -1224,13 +1224,13 @@
     }
 
-    int id(Node node) const { return graph->id(node); }
+    int id(Node node) const { return _graph->id(node); }
     static int id(Arc arc) { return arc.id; }
     static int id(Edge arc) { return arc.id; }
 
-    Node nodeFromId(int id) const { return graph->nodeFromId(id); }
+    Node nodeFromId(int id) const { return _graph->nodeFromId(id); }
     static Arc arcFromId(int id) { return Arc(id); }
     static Edge edgeFromId(int id) { return Edge(id);}
 
-    int maxNodeId() const { return graph->maxNodeId(); };
+    int maxNodeId() const { return _graph->maxNodeId(); };
     int maxArcId() const { return arcs.size() - 1; }
     int maxEdgeId() const { return arcs.size() / 2 - 1; }
@@ -1242,21 +1242,21 @@
     Node v(Edge e) const { return arcs[2 * e.id + 1].target; }
 
-    typedef typename ItemSetTraits<Graph, Node>::ItemNotifier NodeNotifier;
+    typedef typename ItemSetTraits<GR, Node>::ItemNotifier NodeNotifier;
 
     NodeNotifier& notifier(Node) const {
-      return graph->notifier(Node());
-    }
-
-    template <typename _Value>
-    class NodeMap : public Graph::template NodeMap<_Value> {
+      return _graph->notifier(Node());
+    }
+
+    template <typename V>
+    class NodeMap : public GR::template NodeMap<V> {
     public:
 
-      typedef typename _Graph::template NodeMap<_Value> Parent;
-
-      explicit NodeMap(const SmartEdgeSetBase<Graph>& arcset)
-        : Parent(*arcset.graph) { }
-
-      NodeMap(const SmartEdgeSetBase<Graph>& arcset, const _Value& value)
-        : Parent(*arcset.graph, value) { }
+      typedef typename GR::template NodeMap<V> Parent;
+
+      explicit NodeMap(const SmartEdgeSetBase<GR>& arcset)
+        : Parent(*arcset._graph) { }
+
+      NodeMap(const SmartEdgeSetBase<GR>& arcset, const V& value)
+        : Parent(*arcset._graph, value) { }
 
       NodeMap& operator=(const NodeMap& cmap) {
@@ -1286,5 +1286,5 @@
   /// works equivalently as in the original graph.
   ///
-  /// \param _Graph The type of the graph which shares its node set
+  /// \param GR The type of the graph which shares its node set
   /// with this class. Its interface must conform to the
   /// \ref concepts::Digraph "Digraph" or \ref concepts::Graph "Graph"
@@ -1303,10 +1303,10 @@
   /// This class is fully conform to the \ref concepts::Graph
   /// "Graph" concept.
-  template <typename _Graph>
-  class SmartEdgeSet : public EdgeSetExtender<SmartEdgeSetBase<_Graph> > {
-
-  public:
-
-    typedef EdgeSetExtender<SmartEdgeSetBase<_Graph> > Parent;
+  template <typename GR>
+  class SmartEdgeSet : public EdgeSetExtender<SmartEdgeSetBase<GR> > {
+
+  public:
+
+    typedef EdgeSetExtender<SmartEdgeSetBase<GR> > Parent;
 
     typedef typename Parent::Node Node;
@@ -1314,5 +1314,5 @@
     typedef typename Parent::Edge Edge;
 
-    typedef _Graph Graph;
+    typedef GR Graph;
 
   protected:
@@ -1335,5 +1335,5 @@
       typedef NodesImplBase Parent;
 
-      NodesImpl(const Graph& graph, SmartEdgeSet& arcset)
+      NodesImpl(const GR& graph, SmartEdgeSet& arcset)
         : Parent(graph), _arcset(arcset) {}
 
@@ -1375,5 +1375,5 @@
     };
 
-    NodesImpl nodes;
+    NodesImpl _nodes;
 
   public:
@@ -1382,6 +1382,6 @@
     ///
     /// Constructor of the EdgeSet.
-    SmartEdgeSet(const Graph& graph) : nodes(graph, *this) {
-      Parent::initalize(graph, nodes);
+    SmartEdgeSet(const GR& graph) : _nodes(graph, *this) {
+      Parent::initalize(graph, _nodes);
     }
 
@@ -1401,5 +1401,5 @@
     /// erased and it is not isolated in the EdgeSet.
     bool valid() const {
-      return nodes.attached();
+      return _nodes.attached();
     }
 
