Index: src/work/deba/map_registry.h
===================================================================
--- src/work/deba/map_registry.h	(revision 676)
+++ src/work/deba/map_registry.h	(revision 701)
@@ -9,8 +9,8 @@
 
 /** 
-    Registry class to register edge or node maps in the graph. The
-    registry helps you to implement an observer pattern. If you add
-    or erase an edge or node you must notify all the maps about the
-    event.
+ * Registry class to register edge or node maps into the graph. The
+ * registry helps you to implement an observer pattern. If you add
+ * or erase an edge or node you must notify all the maps about the
+ * event.
 */
   template <typename G, typename K, typename KIt>
@@ -23,8 +23,9 @@
 
 
-    ///. 
-
-    ///. 
-    /// 
+    /**
+     * MapBase is the base class of the registered maps.
+     * It defines the core modification operations on the maps and
+     * implements some helper functions. 
+     */
     class MapBase {
     public:
@@ -35,21 +36,21 @@
 	
       friend class Registry;
-		
-      /** 
-	  Default constructor.
-      */	
-		
+
+      /**
+       * Default constructor for MapBase.
+       */
+
       MapBase() : graph(0), registry(0) {}
-
-      /** 
-	  Simple constructor to register into a graph registry.
-      */
-	
-      MapBase(Graph& g, Registry& r) : graph(&g), registry(0) {
+		
+      /** 
+       * Simple constructor to register into a graph registry.
+      */
+	
+      MapBase(const Graph& g, Registry& r) : graph(&g), registry(0) {
 	r.attach(*this);
       }
 
       /** 
-	  Copy constructor with registering into the map.
+       * Copy constructor to register into the registry.
       */	
 	
@@ -61,5 +62,5 @@
 	
       /** 
-	  Assign operator.
+       * Assign operator.
       */	
 
@@ -76,5 +77,5 @@
 
       /** 
-	  Destructor.
+       * Destructor. 
       */		
 
@@ -84,11 +85,19 @@
 	}
       }
-	
+
+      /*
+       * Returns the graph that the map belongs to.
+      */
+
+      const Graph* getGraph() const { return graph; }
+	
+    private:
+		
+      const Graph* graph;
+      Registry* registry;
+
+      int registry_index;
+
     protected:
-		
-      Graph* graph;
-      Registry* registry;
-
-      int registry_index;
 	
       /**
@@ -107,5 +116,5 @@
 	
       virtual void destroy() {
-	for (KeyIt it(*graph); graph->valid(it); graph->next(it)) {
+	for (KeyIt it(*getGraph()); getGraph()->valid(it); getGraph()->next(it)) {
 	  erase(it);
 	}
@@ -135,17 +144,32 @@
   protected:
 	
+    /** 
+     * The container type of the maps.
+     */
     typedef std::vector<MapBase*> Container; 
+
+    /**
+     * The container of the registered maps.
+     */
     Container container;
 
 		
-    public:
-	
-    ///. 
+  public:
+	
+    /**
+     * Default Constructor of the MapRegistry. It creates an empty registry.
+     */
     MapRegistry() {}
 	
-    ///.
+    /**
+     * Copy Constructor of the MapRegistry. The new registry does not steal
+     * the maps from the right value. The new registry will be an empty.
+     */
     MapRegistry(const MapRegistry&) {}
 		
-    ///.
+    /**
+     * Assign operator. The left value does not steal the maps 
+     * from the right value. The left value will be an empty registry.
+     */
     MapRegistry& operator=(const MapRegistry&) {
       for (it = container.begin(); it != container.end(); ++it) {
@@ -156,5 +180,7 @@
     }
 				
-    ///.
+    /**
+     * Destructor of the MapRegistry.
+     */
     ~MapRegistry() {
       typename Container::iterator it;
@@ -169,5 +195,8 @@
     public:
 	
-    ///.
+    /**
+     * Attach a map into thr registry. If the map has been attached
+     * into an other registry it is detached from that automaticly.
+     */
     void attach(MapBase& map) {
       if (map.registry) {
@@ -179,5 +208,7 @@
     } 
 	
-    ///.
+    /**
+     * Detach the map from the registry.
+     */
     void detach(MapBase& map) {
       container.back()->registry_index = map.registry_index; 
@@ -189,5 +220,7 @@
 	
 		
-    ///. 
+    /**
+     * Notify all the registered maps about a Key added.
+     */
     virtual void add(Key& key) {
       typename Container::iterator it;
@@ -197,5 +230,7 @@
     }	
 		
-    ///.
+    /**
+     * Notify all the registered maps about a Key erased.
+     */ 
     virtual void erase(Key& key) {
       typename Container::iterator it;
