Boost logo

Boost-Commit :

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}


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk