Index: src/lemon/map_iterator.h
===================================================================
--- src/lemon/map_iterator.h	(revision 921)
+++ src/lemon/map_iterator.h	(revision 987)
@@ -42,21 +42,21 @@
 
     /// The key type of the iterator.
-    typedef typename Map::KeyType KeyType;
-    /// The iterator to iterate on the keys.
-    typedef typename Map::KeyIt KeyIt;
-
-    /// The value type of the iterator.
-    typedef typename Map::ValueType ValueType;
-    /// The reference type of the iterator.
-    typedef typename Map::ReferenceType ReferenceType;
-    /// The pointer type of the iterator.
-    typedef typename Map::PointerType PointerType;
-
-    /// The const value type of the iterator.
-    typedef typename Map::ConstValueType ConstValueType;
-    /// The const reference type of the iterator.
-    typedef typename Map::ConstReferenceType ConstReferenceType;
-    /// The pointer type of the iterator.
-    typedef typename Map::ConstPointerType ConstPointerType;
+    typedef typename Map::Key Key;
+    /// The iterator to iterate on the keys.
+    typedef typename Map::KeyIt KeyIt;
+
+    /// The value type of the iterator.
+    typedef typename Map::Value Value;
+    /// The reference type of the iterator.
+    typedef typename Map::Reference Reference;
+    /// The pointer type of the iterator.
+    typedef typename Map::Pointer Pointer;
+
+    /// The const value type of the iterator.
+    typedef typename Map::ConstValue ConstValue;
+    /// The const reference type of the iterator.
+    typedef typename Map::ConstReference ConstReference;
+    /// The pointer type of the iterator.
+    typedef typename Map::ConstPointer ConstPointer;
 
   protected:
@@ -105,31 +105,31 @@
 
     /// The key type of the iterator.
-    typedef typename Map::KeyType KeyType;
-    /// The iterator to iterate on the keys.
-    typedef typename Map::KeyIt KeyIt;
-
-    /// The value type of the iterator.
-    typedef typename Map::ValueType ValueType;
-    /// The reference type of the iterator.
-    typedef typename Map::ReferenceType ReferenceType;
-    /// The pointer type of the iterator.
-    typedef typename Map::PointerType PointerType;
-
-    /// The const value type of the iterator.
-    typedef typename Map::ConstValueType ConstValueType;
-    /// The const reference type of the iterator.
-    typedef typename Map::ConstReferenceType ConstReferenceType;
-    /// The pointer type of the iterator.
-    typedef typename Map::ConstPointerType ConstPointerType;
+    typedef typename Map::Key Key;
+    /// The iterator to iterate on the keys.
+    typedef typename Map::KeyIt KeyIt;
+
+    /// The value type of the iterator.
+    typedef typename Map::Value Value;
+    /// The reference type of the iterator.
+    typedef typename Map::Reference Reference;
+    /// The pointer type of the iterator.
+    typedef typename Map::Pointer Pointer;
+
+    /// The const value type of the iterator.
+    typedef typename Map::ConstValue ConstValue;
+    /// The const reference type of the iterator.
+    typedef typename Map::ConstReference ConstReference;
+    /// The pointer type of the iterator.
+    typedef typename Map::ConstPointer ConstPointer;
     
   public:
 
     /// The value type of the iterator.
-    typedef extended_pair<KeyType, const KeyType&,
-      ValueType, const ValueType&> PairValueType;
+    typedef extended_pair<Key, const Key&,
+      Value, const Value&> PairValue;
 
     /// The reference type of the iterator. 
-    typedef extended_pair<const KeyType&, const KeyType&, 
-      ReferenceType, ReferenceType> PairReferenceType;
+    typedef extended_pair<const Key&, const Key&, 
+      Reference, Reference> PairReference;
 
     /// Default constructor. 
@@ -141,22 +141,22 @@
 
     /// Dereference operator for the iterator.
-    PairReferenceType operator*() {
-      return PairReferenceType(Base::it, (*map)[Base::it]);
-    }
-
-    /// The pointer type of the iterator.
-    class PairPointerType {
+    PairReference operator*() {
+      return PairReference(Base::it, (*map)[Base::it]);
+    }
+
+    /// The pointer type of the iterator.
+    class PairPointer {
       friend class MapIterator;
     private:
-      PairReferenceType data;
-      PairPointerType(const KeyType& key, ReferenceType val) 
+      PairReference data;
+      PairPointer(const Key& key, Reference val) 
 	: data(key, val) {}
     public:
-      PairReferenceType* operator->() {return &data;}
+      PairReference* operator->() {return &data;}
     };
 
     /// Arrow operator for the iterator.
-    PairPointerType operator->() {
-      return PairPointerType(Base::it, ((*map)[Base::it])); 
+    PairPointer operator->() {
+      return PairPointer(Base::it, ((*map)[Base::it])); 
     }
 	
@@ -181,7 +181,7 @@
     typedef std::forward_iterator_tag iterator_category;
     typedef int difference_type;
-    typedef PairValueType value_type;
-    typedef PairReferenceType reference;
-    typedef PairPointerType pointer;
+    typedef PairValue value_type;
+    typedef PairReference reference;
+    typedef PairPointer pointer;
   };
 
@@ -198,21 +198,21 @@
 
     /// The key type of the iterator.
-    typedef typename Map::KeyType KeyType;
-    /// The iterator to iterate on the keys.
-    typedef typename Map::KeyIt KeyIt;
-
-    /// The value type of the iterator.
-    typedef typename Map::ValueType ValueType;
-    /// The reference type of the iterator.
-    typedef typename Map::ReferenceType ReferenceType;
-    /// The pointer type of the iterator.
-    typedef typename Map::PointerType PointerType;
-
-    /// The const value type of the iterator.
-    typedef typename Map::ConstValueType ConstValueType;
-    /// The const reference type of the iterator.
-    typedef typename Map::ConstReferenceType ConstReferenceType;
-    /// The pointer type of the iterator.
-    typedef typename Map::ConstPointerType ConstPointerType;
+    typedef typename Map::Key Key;
+    /// The iterator to iterate on the keys.
+    typedef typename Map::KeyIt KeyIt;
+
+    /// The value type of the iterator.
+    typedef typename Map::Value Value;
+    /// The reference type of the iterator.
+    typedef typename Map::Reference Reference;
+    /// The pointer type of the iterator.
+    typedef typename Map::Pointer Pointer;
+
+    /// The const value type of the iterator.
+    typedef typename Map::ConstValue ConstValue;
+    /// The const reference type of the iterator.
+    typedef typename Map::ConstReference ConstReference;
+    /// The pointer type of the iterator.
+    typedef typename Map::ConstPointer ConstPointer;
 
   public:    
@@ -233,30 +233,30 @@
 
     /// The value type of the iterator.
-    typedef extended_pair<KeyType, const KeyType&,
-      ValueType, const ValueType&> PairValueType;
+    typedef extended_pair<Key, const Key&,
+      Value, const Value&> PairValue;
 
     /// The reference type of map.
-    typedef extended_pair<const KeyType&, const KeyType&, 
-      ConstReferenceType, ConstReferenceType> PairReferenceType;
+    typedef extended_pair<const Key&, const Key&, 
+      ConstReference, ConstReference> PairReference;
 
     /// Dereference operator for the iterator.
-    PairReferenceType operator*() {
-      return PairReferenceType(Base::it, (*map)[Base::it]);
-    }
-
-    /// The pointer type of the iterator.
-    class PairPointerType {
+    PairReference operator*() {
+      return PairReference(Base::it, (*map)[Base::it]);
+    }
+
+    /// The pointer type of the iterator.
+    class PairPointer {
       friend class MapConstIterator;
     private:
-      PairReferenceType data;
-      PairPointerType(const KeyType& key, ConstReferenceType val) 
+      PairReference data;
+      PairPointer(const Key& key, ConstReference val) 
 	: data(key, val) {}
     public:
-      PairReferenceType* operator->() {return &data;}
+      PairReference* operator->() {return &data;}
     };
 
     /// Arrow operator for the iterator.
-    PairPointerType operator->() {
-      return PairPointerType(Base::it, (*map)[Base::it]); 
+    PairPointer operator->() {
+      return PairPointer(Base::it, (*map)[Base::it]); 
     }
 
@@ -281,7 +281,7 @@
     typedef std::input_iterator_tag iterator_category;
     typedef int difference_type;
-    typedef PairValueType value_type;
-    typedef PairReferenceType reference;
-    typedef PairPointerType pointer;
+    typedef PairValue value_type;
+    typedef PairReference reference;
+    typedef PairPointer pointer;
   };
 
@@ -298,5 +298,5 @@
  
     /// The key type of the iterator.
-    typedef typename Map::KeyType KeyType;
+    typedef typename Map::Key Key;
     /// The iterator to iterate on the keys.
     typedef typename Map::KeyIt KeyIt;
@@ -324,6 +324,6 @@
 
     /// The dereferencing operator of the iterator.
-    KeyType operator*() const {
-      return static_cast<KeyType>(Base::it);
+    Key operator*() const {
+      return static_cast<Key>(Base::it);
     }
 
@@ -332,7 +332,7 @@
     typedef std::input_iterator_tag iterator_category;
     typedef int difference_type;
-    typedef KeyType value_type;
-    typedef const KeyType& reference;
-    typedef const KeyType* pointer;
+    typedef Key value_type;
+    typedef const Key& reference;
+    typedef const Key* pointer;
   };
 
@@ -353,22 +353,22 @@
 
     /// The key type of the iterator.
-    typedef typename Map::KeyType KeyType;
-    /// The iterator to iterate on the keys.
-    typedef typename Map::KeyIt KeyIt;
-
-
-    /// The value type of the iterator.
-    typedef typename Map::ValueType ValueType;
-    /// The reference type of the iterator.
-    typedef typename Map::ReferenceType ReferenceType;
-    /// The pointer type of the iterator.
-    typedef typename Map::PointerType PointerType;
-
-    /// The const value type of the iterator.
-    typedef typename Map::ConstValueType ConstValueType;
-    /// The const reference type of the iterator.
-    typedef typename Map::ConstReferenceType ConstReferenceType;
-    /// The pointer type of the iterator.
-    typedef typename Map::ConstPointerType ConstPointerType;
+    typedef typename Map::Key Key;
+    /// The iterator to iterate on the keys.
+    typedef typename Map::KeyIt KeyIt;
+
+
+    /// The value type of the iterator.
+    typedef typename Map::Value Value;
+    /// The reference type of the iterator.
+    typedef typename Map::Reference Reference;
+    /// The pointer type of the iterator.
+    typedef typename Map::Pointer Pointer;
+
+    /// The const value type of the iterator.
+    typedef typename Map::ConstValue ConstValue;
+    /// The const reference type of the iterator.
+    typedef typename Map::ConstReference ConstReference;
+    /// The pointer type of the iterator.
+    typedef typename Map::ConstPointer ConstPointer;
 
   private:
@@ -400,10 +400,10 @@
 
     /// The dereferencing operator of the iterator.
-    ReferenceType operator*() const {
+    Reference operator*() const {
       return (*map)[Base::it];
     }
 
     /// The arrow operator of the iterator.
-    PointerType operator->() const {
+    Pointer operator->() const {
       return &(operator*());
     }
@@ -413,7 +413,7 @@
     typedef std::forward_iterator_tag iterator_category;
     typedef int difference_type;
-    typedef ValueType value_type;
-    typedef ReferenceType reference;
-    typedef PointerType pointer;
+    typedef Value value_type;
+    typedef Reference reference;
+    typedef Pointer pointer;
   };
 
@@ -431,21 +431,21 @@
 
     /// The key type of the iterator.
-    typedef typename Map::KeyType KeyType;
-    /// The iterator to iterate on the keys.
-    typedef typename Map::KeyIt KeyIt;
-
-    /// The value type of the iterator.
-    typedef typename Map::ValueType ValueType;
-    /// The reference type of the iterator.
-    typedef typename Map::ReferenceType ReferenceType;
-    /// The pointer type of the iterator.
-    typedef typename Map::PointerType PointerType;
-
-    /// The const value type of the iterator.
-    typedef typename Map::ConstValueType ConstValueType;
-    /// The const reference type of the iterator.
-    typedef typename Map::ConstReferenceType ConstReferenceType;
-    /// The pointer type of the iterator.
-    typedef typename Map::ConstPointerType ConstPointerType;
+    typedef typename Map::Key Key;
+    /// The iterator to iterate on the keys.
+    typedef typename Map::KeyIt KeyIt;
+
+    /// The value type of the iterator.
+    typedef typename Map::Value Value;
+    /// The reference type of the iterator.
+    typedef typename Map::Reference Reference;
+    /// The pointer type of the iterator.
+    typedef typename Map::Pointer Pointer;
+
+    /// The const value type of the iterator.
+    typedef typename Map::ConstValue ConstValue;
+    /// The const reference type of the iterator.
+    typedef typename Map::ConstReference ConstReference;
+    /// The pointer type of the iterator.
+    typedef typename Map::ConstPointer ConstPointer;
 
   private:
@@ -482,10 +482,10 @@
 
     /// The dereferencing operator of the iterator.
-    ConstReferenceType operator*() const {
+    ConstReference operator*() const {
       return (*map)[Base::it];
     }
 
     /// The arrow operator of the iterator.
-    ConstPointerType operator->() const {
+    ConstPointer operator->() const {
       return &(operator*());
     }
@@ -495,7 +495,7 @@
     typedef std::input_iterator_tag iterator_category;
     typedef int difference_type;
-    typedef ValueType value_type;
-    typedef ConstReferenceType reference;
-    typedef ConstPointerType pointer;
+    typedef Value value_type;
+    typedef ConstReference reference;
+    typedef ConstPointer pointer;
   };
 
@@ -512,22 +512,22 @@
 
     /// The key type of the iterator.
-    typedef typename Map::KeyType KeyType;
-    /// The iterator to iterate on the keys.
-    typedef typename Map::KeyIt KeyIt;
-
-
-    /// The value type of the iterator.
-    typedef typename Map::ValueType ValueType;
-    /// The reference type of the iterator.
-    typedef typename Map::ReferenceType ReferenceType;
-    /// The pointer type of the iterator.
-    typedef typename Map::PointerType PointerType;
-
-    /// The const value type of the iterator.
-    typedef typename Map::ConstValueType ConstValueType;
-    /// The const reference type of the iterator.
-    typedef typename Map::ConstReferenceType ConstReferenceType;
-    /// The pointer type of the iterator.
-    typedef typename Map::ConstPointerType ConstPointerType;
+    typedef typename Map::Key Key;
+    /// The iterator to iterate on the keys.
+    typedef typename Map::KeyIt KeyIt;
+
+
+    /// The value type of the iterator.
+    typedef typename Map::Value Value;
+    /// The reference type of the iterator.
+    typedef typename Map::Reference Reference;
+    /// The pointer type of the iterator.
+    typedef typename Map::Pointer Pointer;
+
+    /// The const value type of the iterator.
+    typedef typename Map::ConstValue ConstValue;
+    /// The const reference type of the iterator.
+    typedef typename Map::ConstReference ConstReference;
+    /// The pointer type of the iterator.
+    typedef typename Map::ConstPointer ConstPointer;
 
     /// The map initialized const key set.
@@ -549,8 +549,8 @@
   public:
     // STL  compatibility typedefs.
-    typedef ValueType value_type;
+    typedef Value value_type;
     typedef ConstIterator const_iterator;
-    typedef ConstReferenceType const_reference;
-    typedef ConstPointerType const_pointer;
+    typedef ConstReference const_reference;
+    typedef ConstPointer const_pointer;
     typedef int difference_type;
   };
@@ -568,22 +568,22 @@
 
     /// The key type of the iterator.
-    typedef typename Map::KeyType KeyType;
-    /// The iterator to iterate on the keys.
-    typedef typename Map::KeyIt KeyIt;
-
-
-    /// The value type of the iterator.
-    typedef typename Map::ValueType ValueType;
-    /// The reference type of the iterator.
-    typedef typename Map::ReferenceType ReferenceType;
-    /// The pointer type of the iterator.
-    typedef typename Map::PointerType PointerType;
-
-    /// The const value type of the iterator.
-    typedef typename Map::ConstValueType ConstValueType;
-    /// The const reference type of the iterator.
-    typedef typename Map::ConstReferenceType ConstReferenceType;
-    /// The pointer type of the iterator.
-    typedef typename Map::ConstPointerType ConstPointerType;
+    typedef typename Map::Key Key;
+    /// The iterator to iterate on the keys.
+    typedef typename Map::KeyIt KeyIt;
+
+
+    /// The value type of the iterator.
+    typedef typename Map::Value Value;
+    /// The reference type of the iterator.
+    typedef typename Map::Reference Reference;
+    /// The pointer type of the iterator.
+    typedef typename Map::Pointer Pointer;
+
+    /// The const value type of the iterator.
+    typedef typename Map::ConstValue ConstValue;
+    /// The const reference type of the iterator.
+    typedef typename Map::ConstReference ConstReference;
+    /// The pointer type of the iterator.
+    typedef typename Map::ConstPointer ConstPointer;
 
     /// The map initialized const value set.
@@ -605,8 +605,8 @@
   public:
     // STL  compatibility typedefs.
-    typedef ValueType value_type;
+    typedef Value value_type;
     typedef ConstIterator const_iterator;
-    typedef ConstReferenceType const_reference;
-    typedef ConstPointerType const_pointer;
+    typedef ConstReference const_reference;
+    typedef ConstPointer const_pointer;
     typedef int difference_type;
   };
@@ -625,22 +625,22 @@
 
     /// The key type of the iterator.
-    typedef typename Map::KeyType KeyType;
-    /// The iterator to iterate on the keys.
-    typedef typename Map::KeyIt KeyIt;
-
-
-    /// The value type of the iterator.
-    typedef typename Map::ValueType ValueType;
-    /// The reference type of the iterator.
-    typedef typename Map::ReferenceType ReferenceType;
-    /// The pointer type of the iterator.
-    typedef typename Map::PointerType PointerType;
-
-    /// The const value type of the iterator.
-    typedef typename Map::ConstValueType ConstValueType;
-    /// The const reference type of the iterator.
-    typedef typename Map::ConstReferenceType ConstReferenceType;
-    /// The pointer type of the iterator.
-    typedef typename Map::ConstPointerType ConstPointerType;
+    typedef typename Map::Key Key;
+    /// The iterator to iterate on the keys.
+    typedef typename Map::KeyIt KeyIt;
+
+
+    /// The value type of the iterator.
+    typedef typename Map::Value Value;
+    /// The reference type of the iterator.
+    typedef typename Map::Reference Reference;
+    /// The pointer type of the iterator.
+    typedef typename Map::Pointer Pointer;
+
+    /// The const value type of the iterator.
+    typedef typename Map::ConstValue ConstValue;
+    /// The const reference type of the iterator.
+    typedef typename Map::ConstReference ConstReference;
+    /// The pointer type of the iterator.
+    typedef typename Map::ConstPointer ConstPointer;
 
     /// The map initialized value set.
@@ -675,11 +675,11 @@
   public:
     // STL  compatibility typedefs.
-    typedef ValueType value_type;
+    typedef Value value_type;
     typedef Iterator iterator;
     typedef ConstIterator const_iterator;
-    typedef ReferenceType reference;
-    typedef ConstReferenceType const_reference;
-    typedef PointerType pointer;
-    typedef ConstPointerType const_pointer;
+    typedef Reference reference;
+    typedef ConstReference const_reference;
+    typedef Pointer pointer;
+    typedef ConstPointer const_pointer;
     typedef int difference_type;
 
