# HG changeset patch
# User Peter Kovacs <kpeter@inf.elte.hu>
# Date 1250793270 -7200
# Node ID 703ebf476a1dd8a25ed96dc2c8daf19ba45817d3
# Parent  9f529abcaebf13f19e61ba24fdd2c3631860af91
Also check ReferenceMapTag in concept checks (#312)

diff -r 9f529abcaebf -r 703ebf476a1d lemon/bits/map_extender.h
--- a/lemon/bits/map_extender.h	Thu Jun 11 23:13:24 2009 +0200
+++ b/lemon/bits/map_extender.h	Thu Aug 20 20:34:30 2009 +0200
@@ -49,6 +49,8 @@
     typedef typename Parent::Reference Reference;
     typedef typename Parent::ConstReference ConstReference;
 
+    typedef typename Parent::ReferenceMapTag ReferenceMapTag;
+
     class MapIt;
     class ConstMapIt;
 
@@ -191,6 +193,8 @@
     typedef typename Parent::Reference Reference;
     typedef typename Parent::ConstReference ConstReference;
 
+    typedef typename Parent::ReferenceMapTag ReferenceMapTag;
+
     class MapIt;
     class ConstMapIt;
 
diff -r 9f529abcaebf -r 703ebf476a1d lemon/concepts/maps.h
--- a/lemon/concepts/maps.h	Thu Jun 11 23:13:24 2009 +0200
+++ b/lemon/concepts/maps.h	Thu Aug 20 20:34:30 2009 +0200
@@ -182,7 +182,8 @@
 
       template<typename _ReferenceMap>
       struct Constraints {
-        void constraints() {
+        typename enable_if<typename _ReferenceMap::ReferenceMapTag, void>::type
+        constraints() {
           checkConcept<ReadWriteMap<K, T>, _ReferenceMap >();
           ref = m[key];
           m[key] = val;