# HG changeset patch
# User Peter Kovacs <kpeter@inf.elte.hu>
# Date 1229116721 -3600
# Node ID 9d9990909fc881421f509391cc00ede9252320d7
# Parent  3c0d39b6388ccc6f0f2f1804a47ff9f021d61fdd
Add missing const keywords (+ remove misleading ones) (#67)

diff -r 3c0d39b6388c -r 9d9990909fc8 lemon/adaptors.h
--- a/lemon/adaptors.h	Fri Dec 12 22:09:29 2008 +0100
+++ b/lemon/adaptors.h	Fri Dec 12 22:18:41 2008 +0100
@@ -74,17 +74,17 @@
     int arcNum() const { return _digraph->arcNum(); }
 
     typedef FindArcTagIndicator<Digraph> FindArcTag;
-    Arc findArc(const Node& u, const Node& v, const Arc& prev = INVALID) {
+    Arc findArc(const Node& u, const Node& v, const Arc& prev = INVALID) const {
       return _digraph->findArc(u, v, prev);
     }
 
     Node addNode() { return _digraph->addNode(); }
     Arc addArc(const Node& u, const Node& v) { return _digraph->addArc(u, v); }
 
-    void erase(const Node& n) const { _digraph->erase(n); }
-    void erase(const Arc& a) const { _digraph->erase(a); }
-
-    void clear() const { _digraph->clear(); }
+    void erase(const Node& n) { _digraph->erase(n); }
+    void erase(const Arc& a) { _digraph->erase(a); }
+
+    void clear() { _digraph->clear(); }
 
     int id(const Node& n) const { return _digraph->id(n); }
     int id(const Arc& a) const { return _digraph->id(a); }
@@ -205,12 +205,14 @@
     int edgeNum() const { return _graph->edgeNum(); }
 
     typedef FindArcTagIndicator<Graph> FindArcTag;
-    Arc findArc(const Node& u, const Node& v, const Arc& prev = INVALID) {
+    Arc findArc(const Node& u, const Node& v,
+                const Arc& prev = INVALID) const {
       return _graph->findArc(u, v, prev);
     }
 
     typedef FindEdgeTagIndicator<Graph> FindEdgeTag;
-    Edge findEdge(const Node& u, const Node& v, const Edge& prev = INVALID) {
+    Edge findEdge(const Node& u, const Node& v,
+                  const Edge& prev = INVALID) const {
       return _graph->findEdge(u, v, prev);
     }
 
@@ -336,7 +338,7 @@
 
     typedef FindArcTagIndicator<Digraph> FindArcTag;
     Arc findArc(const Node& u, const Node& v,
-                const Arc& prev = INVALID) {
+                const Arc& prev = INVALID) const {
       return Parent::findArc(v, u, prev);
     }
 
@@ -475,7 +477,7 @@
 
     typedef FindArcTagIndicator<Digraph> FindArcTag;
     Arc findArc(const Node& source, const Node& target,
-                const Arc& prev = INVALID) {
+                const Arc& prev = INVALID) const {
       if (!(*_node_filter)[source] || !(*_node_filter)[target]) {
         return INVALID;
       }
@@ -618,7 +620,7 @@
 
     typedef FindArcTagIndicator<Digraph> FindArcTag;
     Arc findArc(const Node& source, const Node& target,
-                const Arc& prev = INVALID) {
+                const Arc& prev = INVALID) const {
       if (!(*_node_filter)[source] || !(*_node_filter)[target]) {
         return INVALID;
       }
@@ -944,7 +946,7 @@
 
     typedef FindArcTagIndicator<Graph> FindArcTag;
     Arc findArc(const Node& u, const Node& v,
-                const Arc& prev = INVALID) {
+                const Arc& prev = INVALID) const {
       if (!(*_node_filter_map)[u] || !(*_node_filter_map)[v]) {
         return INVALID;
       }
@@ -957,7 +959,7 @@
 
     typedef FindEdgeTagIndicator<Graph> FindEdgeTag;
     Edge findEdge(const Node& u, const Node& v,
-                  const Edge& prev = INVALID) {
+                  const Edge& prev = INVALID) const {
       if (!(*_node_filter_map)[u] || !(*_node_filter_map)[v]) {
         return INVALID;
       }
@@ -1143,7 +1145,7 @@
 
     typedef FindArcTagIndicator<Graph> FindArcTag;
     Arc findArc(const Node& u, const Node& v,
-                const Arc& prev = INVALID) {
+                const Arc& prev = INVALID) const {
       Arc arc = Parent::findArc(u, v, prev);
       while (arc != INVALID && !(*_edge_filter_map)[arc]) {
         arc = Parent::findArc(u, v, arc);
@@ -1153,7 +1155,7 @@
 
     typedef FindEdgeTagIndicator<Graph> FindEdgeTag;
     Edge findEdge(const Node& u, const Node& v,
-                  const Edge& prev = INVALID) {
+                  const Edge& prev = INVALID) const {
       Edge edge = Parent::findEdge(u, v, prev);
       while (edge != INVALID && !(*_edge_filter_map)[edge]) {
         edge = Parent::findEdge(u, v, edge);
@@ -2243,7 +2245,7 @@
 
     typedef FindEdgeTagIndicator<Graph> FindArcTag;
     Arc findArc(const Node& u, const Node& v,
-                const Arc& prev = INVALID) {
+                const Arc& prev = INVALID) const {
       Arc arc = prev;
       bool d = arc == INVALID ? true : (*_direction)[arc];
       if (d) {
@@ -3097,10 +3099,10 @@
   /// "Digraph concept". The type can be specified to be const.
   template <typename _Digraph>
   class SplitNodes
-    : public DigraphAdaptorExtender<SplitNodesBase<_Digraph> > {
+    : public DigraphAdaptorExtender<SplitNodesBase<const _Digraph> > {
   public:
     typedef _Digraph Digraph;
-    typedef DigraphAdaptorExtender<SplitNodesBase<Digraph> > Parent;
+    typedef DigraphAdaptorExtender<SplitNodesBase<const Digraph> > Parent;
 
     typedef typename Digraph::Node DigraphNode;
     typedef typename Digraph::Arc DigraphArc;
@@ -3111,7 +3113,7 @@
     /// \brief Constructor of the adaptor.
     ///
     /// Constructor of the adaptor.
-    SplitNodes(Digraph& g) {
+    SplitNodes(const Digraph& g) {
       Parent::setDigraph(g);
     }