24   | 
    24   | 
    25 #include <lemon/bits/traits.h>  | 
    25 #include <lemon/bits/traits.h>  | 
    26 #include <lemon/bits/utility.h>  | 
    26 #include <lemon/bits/utility.h>  | 
    27   | 
    27   | 
    28 #include <lemon/bits/alteration_notifier.h>  | 
    28 #include <lemon/bits/alteration_notifier.h>  | 
         | 
    29   | 
         | 
    30 #include <lemon/concept_check.h>  | 
         | 
    31 #include <lemon/concept/maps.h>  | 
    29   | 
    32   | 
    30 ///\ingroup graphbits  | 
    33 ///\ingroup graphbits  | 
    31 ///  | 
    34 ///  | 
    32 ///\file  | 
    35 ///\file  | 
    33 ///\brief Vector based graph maps.  | 
    36 ///\brief Vector based graph maps.  | 
   110 	Parent::attach(*_copy.getNotifier());  | 
   113 	Parent::attach(*_copy.getNotifier());  | 
   111 	container = _copy.container;  | 
   114 	container = _copy.container;  | 
   112       }  | 
   115       }  | 
   113     }  | 
   116     }  | 
   114   | 
   117   | 
   115   private:  | 
   118     /// \brief Assign operator.  | 
   116   | 
   119     ///  | 
   117     VectorMap& operator=(const VectorMap&);  | 
   120     /// This operator assigns for each item in the map the  | 
   118   | 
   121     /// value mapped to the same item in the copied map.    | 
         | 
   122     /// The parameter map should be indiced with the same  | 
         | 
   123     /// itemset because this assign operator does not change  | 
         | 
   124     /// the container of the map.   | 
         | 
   125     VectorMap& operator=(const VectorMap& cmap) { | 
         | 
   126       return operator=<VectorMap>(cmap);  | 
         | 
   127     }  | 
         | 
   128   | 
         | 
   129   | 
         | 
   130     /// \brief Template assign operator.  | 
         | 
   131     ///  | 
         | 
   132     /// The given parameter should be conform to the ReadMap  | 
         | 
   133     /// concecpt and could be indiced by the current item set of  | 
         | 
   134     /// the NodeMap. In this case the value for each item  | 
         | 
   135     /// is assigned by the value of the given ReadMap.   | 
         | 
   136     template <typename CMap>  | 
         | 
   137     VectorMap& operator=(const CMap& cmap) { | 
         | 
   138       checkConcept<concept::ReadMap<Key, _Value>, CMap>();  | 
         | 
   139       const typename Parent::Notifier* notifier = Parent::getNotifier();  | 
         | 
   140       Item it;  | 
         | 
   141       for (notifier->first(it); it != INVALID; notifier->next(it)) { | 
         | 
   142         set(it, cmap[it]);  | 
         | 
   143       }  | 
         | 
   144       return *this;  | 
         | 
   145     }  | 
         | 
   146       | 
   119   public:  | 
   147   public:  | 
   120   | 
   148   | 
   121     /// \brief The subcript operator.  | 
   149     /// \brief The subcript operator.  | 
   122     ///  | 
   150     ///  | 
   123     /// The subscript operator. The map can be subscripted by the  | 
   151     /// The subscript operator. The map can be subscripted by the  |