Index: src/hugo/array_map_factory.h
===================================================================
--- src/hugo/array_map_factory.h	(revision 785)
+++ src/hugo/array_map_factory.h	(revision 786)
@@ -23,5 +23,5 @@
 		
     typedef typename MapRegistry::Graph Graph;
-    typedef typename MapRegistry::Key Key;
+    typedef typename MapRegistry::KeyType KeyType;
     typedef typename MapRegistry::KeyIt KeyIt;
 
@@ -114,25 +114,25 @@
 	
 	
-      Value& operator[](const Key& key) {
+      Value& operator[](const KeyType& key) {
 	int id = MapBase::getGraph()->id(key);
 	return values[id];
       } 
 		
-      const Value& operator[](const Key& key) const {
+      const Value& operator[](const KeyType& key) const {
 	int id = MapBase::getGraph()->id(key);
 	return values[id];
       }
 	
-      const Value& get(const Key& key) const {
+      const Value& get(const KeyType& key) const {
 	int id = MapBase::getGraph()->id(key);
 	return values[id];
       } 
 		
-      void set(const Key& key, const Value& val) {
+      void set(const KeyType& key, const Value& val) {
 	int id = MapBase::getGraph()->id(key);
 	values[id] = val;
       }
 		
-      void add(const Key& key) {
+      void add(const KeyType& key) {
 	int id = MapBase::getGraph()->id(key);
 	if (id >= capacity) {
@@ -156,5 +156,5 @@
       }
 		
-      void erase(const Key& key) {
+      void erase(const KeyType& key) {
 	int id = MapBase::getGraph()->id(key);
 	allocator.destroy(&(values[id]));
@@ -185,5 +185,5 @@
 	iterator() {}
 
-	typedef extended_pair<const Key&, const Key&, 
+	typedef extended_pair<const KeyType&, const KeyType&, 
 			      Value&, Value&> Reference;
 
@@ -198,5 +198,5 @@
 	private:
 	  Reference data;
-	  Pointer(const Key& key, Value& val) : data(key, val) {}
+	  Pointer(const KeyType& key, Value& val) : data(key, val) {}
 	public:
 	  Reference* operator->() {return &data;}
@@ -275,5 +275,5 @@
 	const_iterator(iterator p_it) : map(p_it.map), it(p_it.it) {}
       
-	typedef extended_pair<const Key&, const Key&, 
+	typedef extended_pair<const KeyType&, const KeyType&, 
 	  const Value&, const Value&> Reference;
 
@@ -289,5 +289,5 @@
 	private:
 	  Reference data;
-	  Pointer(const Key& key, const Value& val) : data(key, val) {}
+	  Pointer(const KeyType& key, const Value& val) : data(key, val) {}
 	public:
 	  Reference* operator->() {return &data;}
Index: src/hugo/map_registry.h
===================================================================
--- src/hugo/map_registry.h	(revision 785)
+++ src/hugo/map_registry.h	(revision 786)
@@ -26,5 +26,5 @@
   public:
     typedef G Graph;
-    typedef K Key;
+    typedef K KeyType;
     typedef KIt KeyIt;
 	
@@ -39,5 +39,5 @@
     public:
       typedef G Graph;
-      typedef K Key;
+      typedef K KeyType;
       typedef KIt KeyIt;
 
@@ -136,5 +136,5 @@
       */
 	
-      virtual void add(const Key&) = 0;	
+      virtual void add(const KeyType&) = 0;	
       /** 
 	  The erase member function should be overloaded in the subclasses.
@@ -142,5 +142,5 @@
       */
 	
-      virtual void erase(const Key&) = 0;
+      virtual void erase(const KeyType&) = 0;
 
       /**
@@ -241,5 +241,5 @@
      * Notify all the registered maps about a Key added.
      */
-    void add(Key& key) {
+    void add(KeyType& key) {
       typename Container::iterator it;
       for (it = container.begin(); it != container.end(); ++it) {
@@ -251,5 +251,5 @@
      * Notify all the registered maps about a Key erased.
      */ 
-    void erase(Key& key) {
+    void erase(KeyType& key) {
       typename Container::iterator it;
       for (it = container.begin(); it != container.end(); ++it) {
Index: src/hugo/sym_map_factory.h
===================================================================
--- src/hugo/sym_map_factory.h	(revision 782)
+++ src/hugo/sym_map_factory.h	(revision 786)
@@ -36,5 +36,5 @@
 		
     typedef typename MapRegistry::Graph Graph;
-    typedef typename MapRegistry::Key Key;
+    typedef typename MapRegistry::KeyType KeyType;
     typedef typename MapRegistry::KeyIt KeyIt;
 
@@ -69,25 +69,25 @@
       }
    
-      Value& operator[](const Key& key) {
+      Value& operator[](const KeyType& key) {
 	int id = MapBase::getGraph()->id(key);	
 	return MapImpl::operator[](id >> 1);
       } 
 		
-      const Value& operator[](const Key& key) const {
+      const Value& operator[](const KeyType& key) const {
 	int id = MapBase::getGraph()->id(key);
 	return MapImpl::operator[](id >> 1);
       }
 	
-      const Value& get(const Key& key) const {
+      const Value& get(const KeyType& key) const {
 	int id = MapBase::getGraph()->id(key);
 	return MapImpl::operator[](id >> 1);
       } 
 		
-      void set(const Key& key, const Value& val) {
+      void set(const KeyType& key, const Value& val) {
 	int id = MapBase::getGraph()->id(key);
 	MapImpl::operator[](id >> 1) = val;
       }
 		
-      void add(const Key& key) {
+      void add(const KeyType& key) {
 	int id = MapBase::getGraph()->id(key);
 	if (id & 1) return;
@@ -95,5 +95,5 @@
       }
 		
-      void erase(const Key& key) {
+      void erase(const KeyType& key) {
 	int id = MapBase::getGraph()->id(key);
 	if (id & 1) return;
Index: src/hugo/vector_map_factory.h
===================================================================
--- src/hugo/vector_map_factory.h	(revision 785)
+++ src/hugo/vector_map_factory.h	(revision 786)
@@ -31,5 +31,5 @@
     typedef typename MapRegistry::Graph Graph;
     /// The key type of the maps.
-    typedef typename MapRegistry::Key Key;
+    typedef typename MapRegistry::KeyType KeyType;
     /// The iterator to iterate on the keys.
     typedef typename MapRegistry::KeyIt KeyIt;
@@ -113,5 +113,5 @@
        * actual keys of the graph. 
        */
-      typename Container::reference operator[](const Key& key) {
+      typename Container::reference operator[](const KeyType& key) {
 	int id = getGraph()->id(key);
 	return container[id];
@@ -122,5 +122,5 @@
        * actual keys of the graph. 
        */
-      typename Container::const_reference operator[](const Key& key) const {
+      typename Container::const_reference operator[](const KeyType& key) const {
 	int id = getGraph()->id(key);
 	return container[id];
@@ -130,5 +130,5 @@
        *  This is a compatibility feature with the not dereferable maps.
        */
-      void set(const Key& key, const Value& val) {
+      void set(const KeyType& key, const Value& val) {
 	int id = getGraph()->id(key);
 	container[id] = val;
@@ -137,5 +137,5 @@
       /** Add a new key to the map. It called by the map registry.
        */
-      void add(const Key& key) {
+      void add(const KeyType& key) {
 	int id = getGraph()->id(key);
 	if (id >= container.size()) {
@@ -146,5 +146,5 @@
       /** Erase a key from the map. It called by the map registry.
        */
-      void erase(const Key& key) {}
+      void erase(const KeyType& key) {}
 
       /** Clear the data structure.
@@ -173,5 +173,5 @@
 	iterator() {}
 
-	typedef extended_pair<const Key&, const Key&, 
+	typedef extended_pair<const KeyType&, const KeyType&, 
 			      Value&, Value&> Reference;
 
@@ -186,5 +186,5 @@
 	private:
 	  Reference data;
-	  Pointer(const Key& key, Value& val) : data(key, val) {}
+	  Pointer(const KeyType& key, Value& val) : data(key, val) {}
 	public:
 	  Reference* operator->() {return &data;}
@@ -263,5 +263,5 @@
 	const_iterator(iterator p_it) : map(p_it.map), it(p_it.it) {}
       
-	typedef extended_pair<const Key&, const Key&, 
+	typedef extended_pair<const KeyType&, const KeyType&, 
 	  const Value&, const Value&> Reference;
 
@@ -277,5 +277,5 @@
 	private:
 	  Reference data;
-	  Pointer(const Key& key, const Value& val) : data(key, val) {}
+	  Pointer(const KeyType& key, const Value& val) : data(key, val) {}
 	public:
 	  Reference* operator->() {return &data;}
