$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: dgregor_at_[hidden]
Date: 2008-06-29 21:26:14
Author: dgregor
Date: 2008-06-29 21:26:13 EDT (Sun, 29 Jun 2008)
New Revision: 46877
URL: http://svn.boost.org/trac/boost/changeset/46877
Log:
Fix up map's operator[] requirements
Text files modified: 
   sandbox/committee/concepts/stdlib/clib-containers.tex |    16 ++++++++++++----                        
   1 files changed, 12 insertions(+), 4 deletions(-)
Modified: sandbox/committee/concepts/stdlib/clib-containers.tex
==============================================================================
--- sandbox/committee/concepts/stdlib/clib-containers.tex	(original)
+++ sandbox/committee/concepts/stdlib/clib-containers.tex	2008-06-29 21:26:13 EDT (Sun, 29 Jun 2008)
@@ -4299,8 +4299,12 @@
     size_type max_size() const;
 
     // \ref{map.access} element access:
-    @\addedConcepts{requires DefaultConstructible<T> \&\& CopyConstructible<Key>}@ T& operator[](const key_type& x);
-    @\addedConcepts{requires DefaultConstructible<T> \&\& MoveConstructible<Key>}@ T& operator[](key_type&& x);
+    @\addedConcepts{requires} \removedCCC{DefaultConstructible<T> \&\& CopyConstructible<Key>}@ 
+             @\addedCC{ConstructibleAsElement<Alloc, value_type, const key_type\&>}@
+      T& operator[](const key_type& x);
+    @\addedConcepts{requires} \removedCCC{DefaultConstructible<T> \&\& CopyConstructible<Key>}@ 
+             @\addedCC{ConstructibleAsElement<Alloc, value_type, key_type\&\&>}@
+      T& operator[](key_type&& x);
     T&       at(const key_type& x);
     const T& at(const key_type& x) const;
 
@@ -4445,7 +4449,9 @@
 
 \index{operator[]@\tcode{operator[]}!map@\tcode{map}}%
 \begin{itemdecl}
-@\addedConcepts{requires DefaultConstructible<T> \&\& CopyConstructible<Key>}@ T& operator[](const key_type& x);
+@\addedConcepts{requires} \removedCCC{DefaultConstructible<T> \&\& CopyConstructible<Key>}@ 
+         @\addedCC{ConstructibleAsElement<Alloc, value_type, const key_type\&>}@
+  T& operator[](const key_type& x);
 \end{itemdecl}
 
 \begin{itemdescr}
@@ -4474,7 +4480,9 @@
 
 \index{operator[]@\tcode{operator[]}!map@\tcode{map}}%
 \begin{itemdecl}
-@\addedConcepts{requires DefaultConstructible<T> \&\& MoveConstructible<Key>}@ T& operator[](key_type&& x);
+@\addedConcepts{requires} \removedCCC{DefaultConstructible<T> \&\& CopyConstructible<Key>}@ 
+         @\addedCC{ConstructibleAsElement<Alloc, value_type, key_type\&\&>}@
+  T& operator[](key_type&& x);
 \end{itemdecl}
 
 \begin{itemdescr}